From 38ba9c32a2e8fbdd88e48f7713656f8ff3f41677 Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Wed, 6 Mar 2024 20:20:00 +0800 Subject: [PATCH 1/6] ++ --- lib/src/agora_media_base.dart | 2 +- lib/src/agora_media_player.dart | 46 +- lib/src/agora_rtc_engine.dart | 82 +- lib/src/binding/agora_base_event_impl.dart | 5 +- .../agora_h265_transcoder_event_impl.dart | 8 +- .../binding/agora_h265_transcoder_impl.dart | 29 +- .../binding/agora_media_base_event_impl.dart | 30 +- lib/src/binding/agora_media_base_impl.dart | 3 +- lib/src/binding/agora_media_engine_impl.dart | 76 +- .../agora_media_player_event_impl.dart | 5 +- lib/src/binding/agora_media_player_impl.dart | 179 +- .../agora_media_player_source_event_impl.dart | 12 +- .../binding/agora_media_recorder_impl.dart | 1 + ...agora_music_content_center_event_impl.dart | 9 +- .../agora_music_content_center_impl.dart | 81 +- .../binding/agora_rtc_engine_event_impl.dart | 42 - lib/src/binding/agora_rtc_engine_ex_impl.dart | 4 + lib/src/binding/agora_rtc_engine_impl.dart | 346 +- lib/src/binding/agora_spatial_audio_impl.dart | 1 + .../binding/audio_device_manager_impl.dart | 1 + .../call_api_event_handler_buffer_ext.dart | 1 + lib/src/binding/event_handler_param_json.dart | 772 +++- .../binding/event_handler_param_json.g.dart | 2601 +++++++---- .../io/native_iris_api_engine_bindings.dart | 5 +- .../generated/event_ids_mapping_gen.dart | 120 +- .../mediaplayer_fake_test.generated.dart | 172 +- .../rtcengine_fake_test.generated.dart | 326 +- tool/terra/.gitignore | 3 +- tool/terra/build.sh | 6 +- tool/terra/configs/cud_node_parser.config.ts | 960 +++++ tool/terra/configs/merge_node_list.ts | 6 - tool/terra/legacy_terra_config.yaml | 6 - tool/terra/package.json | 8 +- tool/terra/parsers/cud_node_parser.ts | 4 + tool/terra/parsers/dart_syntax_parser.ts | 124 +- .../terra/renderers/api_interface_renderer.ts | 404 ++ tool/terra/renderers/buffer_ext_renderer.ts | 87 + tool/terra/renderers/callapi_impl_renderer.ts | 302 ++ ...event_handler_impl_params_json_renderer.ts | 89 + ...rer.ts => event_handlers_impl_renderer.ts} | 135 +- tool/terra/renderers/utils.ts | 219 +- tool/terra/terra_config_main.yaml | 45 +- tool/terra/yarn.lock | 3805 ----------------- 43 files changed, 5577 insertions(+), 5585 deletions(-) create mode 100644 tool/terra/renderers/api_interface_renderer.ts create mode 100644 tool/terra/renderers/buffer_ext_renderer.ts create mode 100644 tool/terra/renderers/callapi_impl_renderer.ts create mode 100644 tool/terra/renderers/event_handler_impl_params_json_renderer.ts rename tool/terra/renderers/{event_handlers_renderer.ts => event_handlers_impl_renderer.ts} (63%) delete mode 100644 tool/terra/yarn.lock diff --git a/lib/src/agora_media_base.dart b/lib/src/agora_media_base.dart index 568a8eb08..fe2aeed9e 100644 --- a/lib/src/agora_media_base.dart +++ b/lib/src/agora_media_base.dart @@ -960,8 +960,8 @@ class VideoFrame { final Uint8List? pixelBuffer; /// The meta information in the video frame. To use this parameter, please. - @JsonKey(name: 'metaInfo') @VideoFrameMetaInfoConverter() + @JsonKey(name: 'metaInfo') final VideoFrameMetaInfo? metaInfo; /// @nodoc diff --git a/lib/src/agora_media_player.dart b/lib/src/agora_media_player.dart index 4324f2e29..1e7782480 100644 --- a/lib/src/agora_media_player.dart +++ b/lib/src/agora_media_player.dart @@ -158,29 +158,6 @@ abstract class MediaPlayer { Future selectMultiAudioTrack( {required int playoutTrackIndex, required int publishTrackIndex}); - /// Set media player options for providing technical previews or special customization features. - /// - /// The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player. The difference between this method and setPlayerOptionInString is that the value parameter of this method is of type Int, while the value of setPlayerOptionInString is of type String. These two methods cannot be used together. Ensure that you call this method before open or openWithMediaSource. - /// - /// * [key] The key of the option. - /// * [value] The value of the key. - /// - /// Returns - /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. - Future setPlayerOptionInInt({required String key, required int value}); - - /// Set media player options for providing technical previews or special customization features. - /// - /// Ensure that you call this method before open or openWithMediaSource. The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player. The difference between this method and setPlayerOptionInInt is that the value parameter of this method is of type String, while the value of setPlayerOptionInInt is of type String. These two methods cannot be used together. - /// - /// * [key] The key of the option. - /// * [value] The value of the key. - /// - /// Returns - /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. - Future setPlayerOptionInString( - {required String key, required String value}); - /// @nodoc Future takeScreenshot(String filename); @@ -429,6 +406,29 @@ abstract class MediaPlayer { /// @nodoc Future setSoundPositionParams( {required double pan, required double gain}); + + /// Set media player options for providing technical previews or special customization features. + /// + /// The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player. The difference between this method and setPlayerOptionInString is that the value parameter of this method is of type Int, while the value of setPlayerOptionInString is of type String. These two methods cannot be used together. Ensure that you call this method before open or openWithMediaSource. + /// + /// * [key] The key of the option. + /// * [value] The value of the key. + /// + /// Returns + /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. + Future setPlayerOptionInInt({required String key, required int value}); + + /// Set media player options for providing technical previews or special customization features. + /// + /// Ensure that you call this method before open or openWithMediaSource. The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player. The difference between this method and setPlayerOptionInInt is that the value parameter of this method is of type String, while the value of setPlayerOptionInInt is of type String. These two methods cannot be used together. + /// + /// * [key] The key of the option. + /// * [value] The value of the key. + /// + /// Returns + /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. + Future setPlayerOptionInString( + {required String key, required String value}); } /// This class provides methods to manage cached media files. diff --git a/lib/src/agora_rtc_engine.dart b/lib/src/agora_rtc_engine.dart index f356b0456..ccba24c1a 100644 --- a/lib/src/agora_rtc_engine.dart +++ b/lib/src/agora_rtc_engine.dart @@ -3343,18 +3343,6 @@ abstract class RtcEngine { Future startPreview( {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary}); - /// Enables the local video preview. - /// - /// You can call this method to enable local video preview. Call this method after the following: - /// Call setupLocalVideo to initialize the local preview. - /// Call enableVideo to enable the video module. - /// The local preview enables the mirror mode by default. - /// After the local video preview is enabled, if you call leaveChannel to exit the channel, the local preview remains until you call stopPreview to disable it. - /// - /// Returns - /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. - Future startPreviewWithoutSourceType(); - /// Stops the local video preview. /// /// After calling startPreview to start the preview, if you want to close the local video preview, call this method. Call this method before joining a channel or after leaving a channel. @@ -5413,23 +5401,6 @@ abstract class RtcEngine { /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. Future startScreenCapture(ScreenCaptureParameters2 captureParams); - /// Starts screen capture. - /// - /// This method, as well as startScreenCapture, startScreenCaptureByDisplayId, and startScreenCaptureByWindowId, can all be used to start screen capture, with the following differences: startScreenCapture only applies to Android and iOS, whereas this method only applies to Windows and iOS. startScreenCaptureByDisplayId and startScreenCaptureByWindowId only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing. - /// This method applies to the macOS and Windows only. - /// If you call this method to start screen capture, Agora recommends that you call stopScreenCaptureBySourceType to stop the capture and avoid using stopScreenCapture. - /// - /// * [sourceType] The type of the video source. See VideoSourceType. - /// Windows supports up to four screen capture video streams. - /// macOS supports only one screen capture video stream. You can only set this parameter to videoSourceScreen (2). - /// * [config] The configuration of the captured screen. See ScreenCaptureConfiguration. - /// - /// Returns - /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. - Future startScreenCaptureBySourceType( - {required VideoSourceType sourceType, - required ScreenCaptureConfiguration config}); - /// Updates the screen capturing parameters. /// /// If the system audio is not captured when screen sharing is enabled, and then you want to update the parameter configuration and publish the system audio, you can refer to the following steps: @@ -5469,18 +5440,6 @@ abstract class RtcEngine { /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. Future stopScreenCapture(); - /// Stops screen capture. - /// - /// After calling startScreenCaptureBySourceType to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens. - /// This method applies to the macOS and Windows only. - /// If you call startScreenCapture, startScreenCaptureByWindowId, or startScreenCaptureByDisplayId to start screen capure, Agora recommends that you call stopScreenCapture instead to stop the capture. - /// - /// * [sourceType] The type of the video source. See VideoSourceType. - /// - /// Returns - /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. - Future stopScreenCaptureBySourceType(VideoSourceType sourceType); - /// Retrieves the call ID. /// /// When a user joins a channel on a client, a callId is generated to identify the call from the client. Some methods, such as rate and complain, must be called after the call ends to submit feedback to the SDK. These methods require the callId parameter. Call this method after joining a channel. @@ -6272,6 +6231,35 @@ abstract class RtcEngine { /// true : The current device supports the specified feature. false : The current device does not support the specified feature. Future isFeatureAvailableOnDevice(FeatureType type); + /// Starts screen capture. + /// + /// This method, as well as startScreenCapture, startScreenCaptureByDisplayId, and startScreenCaptureByWindowId, can all be used to start screen capture, with the following differences: startScreenCapture only applies to Android and iOS, whereas this method only applies to Windows and iOS. startScreenCaptureByDisplayId and startScreenCaptureByWindowId only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing. + /// This method applies to the macOS and Windows only. + /// If you call this method to start screen capture, Agora recommends that you call stopScreenCaptureBySourceType to stop the capture and avoid using stopScreenCapture. + /// + /// * [sourceType] The type of the video source. See VideoSourceType. + /// Windows supports up to four screen capture video streams. + /// macOS supports only one screen capture video stream. You can only set this parameter to videoSourceScreen (2). + /// * [config] The configuration of the captured screen. See ScreenCaptureConfiguration. + /// + /// Returns + /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. + Future startScreenCaptureBySourceType( + {required VideoSourceType sourceType, + required ScreenCaptureConfiguration config}); + + /// Stops screen capture. + /// + /// After calling startScreenCaptureBySourceType to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens. + /// This method applies to the macOS and Windows only. + /// If you call startScreenCapture, startScreenCaptureByWindowId, or startScreenCaptureByDisplayId to start screen capure, Agora recommends that you call stopScreenCapture instead to stop the capture. + /// + /// * [sourceType] The type of the video source. See VideoSourceType. + /// + /// Returns + /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. + Future stopScreenCaptureBySourceType(VideoSourceType sourceType); + /// Releases the RtcEngine instance. /// /// This method releases all resources used by the Agora SDK. Use this method for apps in which users occasionally make voice or video calls. When users do not make calls, you can free up resources for other operations. After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call createAgoraRtcEngine and initialize to create a new RtcEngine instance. @@ -6281,6 +6269,18 @@ abstract class RtcEngine { /// * [sync] Whether the method is called synchronously: true : Synchronous call. false : Asynchronous call. Currently this method only supports synchronous calls. Do not set this parameter to this value. Future release({bool sync = false}); + /// Enables the local video preview. + /// + /// You can call this method to enable local video preview. Call this method after the following: + /// Call setupLocalVideo to initialize the local preview. + /// Call enableVideo to enable the video module. + /// The local preview enables the mirror mode by default. + /// After the local video preview is enabled, if you call leaveChannel to exit the channel, the local preview remains until you call stopPreview to disable it. + /// + /// Returns + /// When the method call succeeds, there is no return value; when fails, the AgoraRtcException exception is thrown; and you need to catch the exception and handle it accordingly. + Future startPreviewWithoutSourceType(); + /// Gets the AudioDeviceManager object to manage audio devices. /// /// Returns diff --git a/lib/src/binding/agora_base_event_impl.dart b/lib/src/binding/agora_base_event_impl.dart index 38afa757c..35eb65f97 100644 --- a/lib/src/binding/agora_base_event_impl.dart +++ b/lib/src/binding/agora_base_event_impl.dart @@ -1,13 +1,16 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; class AudioEncodedFrameObserverWrapper implements EventLoopEventHandler { const AudioEncodedFrameObserverWrapper(this.audioEncodedFrameObserver); + final AudioEncodedFrameObserver audioEncodedFrameObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -19,6 +22,7 @@ class AudioEncodedFrameObserverWrapper implements EventLoopEventHandler { @override int get hashCode => audioEncodedFrameObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -103,7 +107,6 @@ class AudioEncodedFrameObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_h265_transcoder_event_impl.dart b/lib/src/binding/agora_h265_transcoder_event_impl.dart index e092e36f5..ca6f9845c 100644 --- a/lib/src/binding/agora_h265_transcoder_event_impl.dart +++ b/lib/src/binding/agora_h265_transcoder_event_impl.dart @@ -1,13 +1,16 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; class H265TranscoderObserverWrapper implements EventLoopEventHandler { const H265TranscoderObserverWrapper(this.h265TranscoderObserver); + final H265TranscoderObserver h265TranscoderObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -19,6 +22,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler { @override int get hashCode => h265TranscoderObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -35,6 +39,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler { if (result == null) { return true; } + h265TranscoderObserver.onEnableTranscode!(result); return true; @@ -54,6 +59,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler { transcodeChannel == null) { return true; } + h265TranscoderObserver.onQueryChannel!( result, originChannel, transcodeChannel); return true; @@ -70,6 +76,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler { if (result == null) { return true; } + h265TranscoderObserver.onTriggerTranscode!(result); return true; } @@ -84,7 +91,6 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_h265_transcoder_impl.dart b/lib/src/binding/agora_h265_transcoder_impl.dart index 629aba66b..32d661b2c 100644 --- a/lib/src/binding/agora_h265_transcoder_impl.dart +++ b/lib/src/binding/agora_h265_transcoder_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -85,35 +86,35 @@ class H265TranscoderImpl implements H265Transcoder { @override void registerTranscoderObserver(H265TranscoderObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'H265Transcoder'}_registerTranscoderObserver_e1ee996'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerTranscoderObserver'); } @override void unregisterTranscoderObserver(H265TranscoderObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'H265Transcoder'}_unregisterTranscoderObserver_e1ee996'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterTranscoderObserver'); } } diff --git a/lib/src/binding/agora_media_base_event_impl.dart b/lib/src/binding/agora_media_base_event_impl.dart index 29e6d9af9..f1a1c07ec 100644 --- a/lib/src/binding/agora_media_base_event_impl.dart +++ b/lib/src/binding/agora_media_base_event_impl.dart @@ -1,13 +1,16 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; class AudioPcmFrameSinkWrapper implements EventLoopEventHandler { const AudioPcmFrameSinkWrapper(this.audioPcmFrameSink); + final AudioPcmFrameSink audioPcmFrameSink; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -19,6 +22,7 @@ class AudioPcmFrameSinkWrapper implements EventLoopEventHandler { @override int get hashCode => audioPcmFrameSink.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -50,14 +54,15 @@ class AudioPcmFrameSinkWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } class AudioFrameObserverBaseWrapper implements EventLoopEventHandler { const AudioFrameObserverBaseWrapper(this.audioFrameObserverBase); + final AudioFrameObserverBase audioFrameObserverBase; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -69,6 +74,7 @@ class AudioFrameObserverBaseWrapper implements EventLoopEventHandler { @override int get hashCode => audioFrameObserverBase.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -152,7 +158,6 @@ class AudioFrameObserverBaseWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } @@ -160,7 +165,9 @@ class AudioFrameObserverBaseWrapper implements EventLoopEventHandler { class AudioFrameObserverWrapper extends AudioFrameObserverBaseWrapper { const AudioFrameObserverWrapper(this.audioFrameObserver) : super(audioFrameObserver); + final AudioFrameObserver audioFrameObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -172,6 +179,7 @@ class AudioFrameObserverWrapper extends AudioFrameObserverBaseWrapper { @override int get hashCode => audioFrameObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -207,14 +215,15 @@ class AudioFrameObserverWrapper extends AudioFrameObserverBaseWrapper { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return super.handleEventInternal(newEvent, eventData, buffers); } } class AudioSpectrumObserverWrapper implements EventLoopEventHandler { const AudioSpectrumObserverWrapper(this.audioSpectrumObserver); + final AudioSpectrumObserver audioSpectrumObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -226,6 +235,7 @@ class AudioSpectrumObserverWrapper implements EventLoopEventHandler { @override int get hashCode => audioSpectrumObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -274,14 +284,15 @@ class AudioSpectrumObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } class VideoEncodedFrameObserverWrapper implements EventLoopEventHandler { const VideoEncodedFrameObserverWrapper(this.videoEncodedFrameObserver); + final VideoEncodedFrameObserver videoEncodedFrameObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -293,6 +304,7 @@ class VideoEncodedFrameObserverWrapper implements EventLoopEventHandler { @override int get hashCode => videoEncodedFrameObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -333,14 +345,15 @@ class VideoEncodedFrameObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } class VideoFrameObserverWrapper implements EventLoopEventHandler { const VideoFrameObserverWrapper(this.videoFrameObserver); + final VideoFrameObserver videoFrameObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -352,6 +365,7 @@ class VideoFrameObserverWrapper implements EventLoopEventHandler { @override int get hashCode => videoFrameObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -453,14 +467,15 @@ class VideoFrameObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } class MediaRecorderObserverWrapper implements EventLoopEventHandler { const MediaRecorderObserverWrapper(this.mediaRecorderObserver); + final MediaRecorderObserver mediaRecorderObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -472,6 +487,7 @@ class MediaRecorderObserverWrapper implements EventLoopEventHandler { @override int get hashCode => mediaRecorderObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -494,6 +510,7 @@ class MediaRecorderObserverWrapper implements EventLoopEventHandler { reason == null) { return true; } + mediaRecorderObserver.onRecorderStateChanged!( channelId, uid, state, reason); return true; @@ -527,7 +544,6 @@ class MediaRecorderObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_media_base_impl.dart b/lib/src/binding/agora_media_base_impl.dart index 2754bb347..657cd7bfa 100644 --- a/lib/src/binding/agora_media_base_impl.dart +++ b/lib/src/binding/agora_media_base_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -26,7 +27,7 @@ class VideoFrameMetaInfoImpl implements VideoFrameMetaInfo { Future getMetaInfoStr(MetaInfoKey key) async { final apiType = '${isOverrideClassName ? className : 'VideoFrameMetaInfo'}_getMetaInfoStr_c81192f'; - final param = createParams({'key': key}); + final param = createParams({'key': key.value()}); final callApiResult = await irisMethodChannel.invokeMethod( IrisMethodCall(apiType, jsonEncode(param), buffers: null)); if (callApiResult.irisReturnCode < 0) { diff --git a/lib/src/binding/agora_media_engine_impl.dart b/lib/src/binding/agora_media_engine_impl.dart index 02f079a8c..1f208de62 100644 --- a/lib/src/binding/agora_media_engine_impl.dart +++ b/lib/src/binding/agora_media_engine_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -24,52 +25,52 @@ class MediaEngineImpl implements MediaEngine { @override void registerAudioFrameObserver(AudioFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_registerAudioFrameObserver_d873a64'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerAudioFrameObserver'); } @override void registerVideoFrameObserver(VideoFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_registerVideoFrameObserver_2cc0ef1'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerVideoFrameObserver'); } @override void registerVideoEncodedFrameObserver(VideoEncodedFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_registerVideoEncodedFrameObserver_d45d579'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for registerVideoEncodedFrameObserver'); } @@ -313,43 +314,52 @@ class MediaEngineImpl implements MediaEngine { @override void unregisterAudioFrameObserver(AudioFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_unregisterAudioFrameObserver'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterAudioFrameObserver'); } @override void unregisterVideoFrameObserver(VideoFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_unregisterVideoFrameObserver'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterVideoFrameObserver'); } @override void unregisterVideoEncodedFrameObserver(VideoEncodedFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaEngine'}_unregisterVideoEncodedFrameObserver'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for unregisterVideoEncodedFrameObserver'); } diff --git a/lib/src/binding/agora_media_player_event_impl.dart b/lib/src/binding/agora_media_player_event_impl.dart index c893b600c..9f1651588 100644 --- a/lib/src/binding/agora_media_player_event_impl.dart +++ b/lib/src/binding/agora_media_player_event_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -8,7 +9,9 @@ import 'package:iris_method_channel/iris_method_channel.dart'; class MediaPlayerVideoFrameObserverWrapper implements EventLoopEventHandler { const MediaPlayerVideoFrameObserverWrapper( this.mediaPlayerVideoFrameObserver); + final MediaPlayerVideoFrameObserver mediaPlayerVideoFrameObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -20,6 +23,7 @@ class MediaPlayerVideoFrameObserverWrapper implements EventLoopEventHandler { @override int get hashCode => mediaPlayerVideoFrameObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -52,7 +56,6 @@ class MediaPlayerVideoFrameObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_media_player_impl.dart b/lib/src/binding/agora_media_player_impl.dart index b895ae2f7..fcdc302c0 100644 --- a/lib/src/binding/agora_media_player_impl.dart +++ b/lib/src/binding/agora_media_player_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -24,12 +25,13 @@ class MediaPlayerImpl implements MediaPlayer { @override int getMediaPlayerId() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_getMediaPlayerId'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -319,36 +321,6 @@ class MediaPlayerImpl implements MediaPlayer { } } - @override - Future setPlayerOptionInInt( - {required String key, required int value}) async { - final apiType = - '${isOverrideClassName ? className : 'MediaPlayer'}_setPlayerOption_4d05d29'; - final param = createParams({'key': key, 'value': value}); - final callApiResult = await irisMethodChannel.invokeMethod( - IrisMethodCall(apiType, jsonEncode(param), buffers: null)); - if (callApiResult.irisReturnCode < 0) { - throw AgoraRtcException(code: callApiResult.irisReturnCode); - } - final rm = callApiResult.data; - final result = rm['result']; - } - - @override - Future setPlayerOptionInString( - {required String key, required String value}) async { - final apiType = - '${isOverrideClassName ? className : 'MediaPlayer'}_setPlayerOption_ccad422'; - final param = createParams({'key': key, 'value': value}); - final callApiResult = await irisMethodChannel.invokeMethod( - IrisMethodCall(apiType, jsonEncode(param), buffers: null)); - if (callApiResult.irisReturnCode < 0) { - throw AgoraRtcException(code: callApiResult.irisReturnCode); - } - final rm = callApiResult.data; - final result = rm['result']; - } - @override Future takeScreenshot(String filename) async { final apiType = @@ -560,35 +532,35 @@ class MediaPlayerImpl implements MediaPlayer { @override void registerPlayerSourceObserver(MediaPlayerSourceObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_registerPlayerSourceObserver_15621d7'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerPlayerSourceObserver'); } @override void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_unregisterPlayerSourceObserver_15621d7'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterPlayerSourceObserver'); } @@ -597,78 +569,87 @@ class MediaPlayerImpl implements MediaPlayer { {required AudioPcmFrameSink observer, RawAudioFrameOpModeType mode = RawAudioFrameOpModeType.rawAudioFrameOpModeReadOnly}) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_registerAudioFrameObserver_a5b510b'; -// final param = createParams({// 'observer':observer, 'mode':mode.value()// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer,'mode': mode.value() +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerAudioFrameObserver'); } @override void unregisterAudioFrameObserver(AudioPcmFrameSink observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_unregisterAudioFrameObserver_89ab9b5'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterAudioFrameObserver'); } @override void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_registerVideoFrameObserver_833bd8d'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerVideoFrameObserver'); } @override void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_unregisterVideoFrameObserver_5165d4c'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterVideoFrameObserver'); } @override void registerMediaPlayerAudioSpectrumObserver( {required AudioSpectrumObserver observer, required int intervalInMS}) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_registerMediaPlayerAudioSpectrumObserver_226bb48'; -// final param = createParams({// 'observer':observer, 'intervalInMS':intervalInMS// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer,'intervalInMS': intervalInMS +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for registerMediaPlayerAudioSpectrumObserver'); } @@ -676,18 +657,18 @@ class MediaPlayerImpl implements MediaPlayer { @override void unregisterMediaPlayerAudioSpectrumObserver( AudioSpectrumObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MediaPlayer'}_unregisterMediaPlayerAudioSpectrumObserver_09064ce'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for unregisterMediaPlayerAudioSpectrumObserver'); } @@ -961,6 +942,42 @@ class MediaPlayerImpl implements MediaPlayer { throw AgoraRtcException(code: result); } } + + @override + Future setPlayerOptionInInt( + {required String key, required int value}) async { + final apiType = + '${isOverrideClassName ? className : 'MediaPlayer'}_setPlayerOption_4d05d29'; + final param = createParams({'key': key, 'value': value}); + final callApiResult = await irisMethodChannel.invokeMethod( + IrisMethodCall(apiType, jsonEncode(param), buffers: null)); + if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); + } + final rm = callApiResult.data; + final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } + } + + @override + Future setPlayerOptionInString( + {required String key, required String value}) async { + final apiType = + '${isOverrideClassName ? className : 'MediaPlayer'}_setPlayerOption_ccad422'; + final param = createParams({'key': key, 'value': value}); + final callApiResult = await irisMethodChannel.invokeMethod( + IrisMethodCall(apiType, jsonEncode(param), buffers: null)); + if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); + } + final rm = callApiResult.data; + final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } + } } class MediaPlayerCacheManagerImpl implements MediaPlayerCacheManager { diff --git a/lib/src/binding/agora_media_player_source_event_impl.dart b/lib/src/binding/agora_media_player_source_event_impl.dart index c08d479ca..7d3ece90a 100644 --- a/lib/src/binding/agora_media_player_source_event_impl.dart +++ b/lib/src/binding/agora_media_player_source_event_impl.dart @@ -1,13 +1,16 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { const MediaPlayerSourceObserverWrapper(this.mediaPlayerSourceObserver); + final MediaPlayerSourceObserver mediaPlayerSourceObserver; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -19,6 +22,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { @override int get hashCode => mediaPlayerSourceObserver.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -37,6 +41,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (state == null || reason == null) { return true; } + mediaPlayerSourceObserver.onPlayerSourceStateChanged!(state, reason); return true; @@ -53,6 +58,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (positionMs == null || timestampMs == null) { return true; } + mediaPlayerSourceObserver.onPositionChanged!(positionMs, timestampMs); return true; @@ -70,6 +76,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (eventCode == null || elapsedTime == null || message == null) { return true; } + mediaPlayerSourceObserver.onPlayerEvent!( eventCode, elapsedTime, message); return true; @@ -87,6 +94,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (data == null || length == null) { return true; } + mediaPlayerSourceObserver.onMetaData!(data, length); return true; @@ -102,6 +110,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (playCachedBuffer == null) { return true; } + mediaPlayerSourceObserver.onPlayBufferUpdated!(playCachedBuffer); return true; @@ -118,6 +127,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (src == null || event == null) { return true; } + mediaPlayerSourceObserver.onPreloadEvent!(src, event); return true; @@ -225,6 +235,7 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (volume == null) { return true; } + mediaPlayerSourceObserver.onAudioVolumeIndication!(volume); return true; } @@ -239,7 +250,6 @@ class MediaPlayerSourceObserverWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_media_recorder_impl.dart b/lib/src/binding/agora_media_recorder_impl.dart index 57bcc34cf..85e6b2a95 100644 --- a/lib/src/binding/agora_media_recorder_impl.dart +++ b/lib/src/binding/agora_media_recorder_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; diff --git a/lib/src/binding/agora_music_content_center_event_impl.dart b/lib/src/binding/agora_music_content_center_event_impl.dart index 5b013a936..27e88a40d 100644 --- a/lib/src/binding/agora_music_content_center_event_impl.dart +++ b/lib/src/binding/agora_music_content_center_event_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -8,7 +9,9 @@ import 'package:iris_method_channel/iris_method_channel.dart'; class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { const MusicContentCenterEventHandlerWrapper( this.musicContentCenterEventHandler); + final MusicContentCenterEventHandler musicContentCenterEventHandler; + @override bool operator ==(Object other) { if (other.runtimeType != runtimeType) { @@ -20,6 +23,7 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { @override int get hashCode => musicContentCenterEventHandler.hashCode; + @override bool handleEventInternal( String eventName, String eventData, List buffers) { @@ -59,6 +63,7 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { if (requestId == null || result == null || reason == null) { return true; } + musicContentCenterEventHandler.onMusicCollectionResult!( requestId, result, reason); return true; @@ -81,6 +86,7 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { reason == null) { return true; } + musicContentCenterEventHandler.onLyricResult!( requestId, songCode, lyricUrl, reason); return true; @@ -104,6 +110,7 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { reason == null) { return true; } + musicContentCenterEventHandler.onSongSimpleInfoResult!( requestId, songCode, simpleInfo, reason); return true; @@ -130,6 +137,7 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { reason == null) { return true; } + musicContentCenterEventHandler.onPreLoadEvent!( requestId, songCode, percent, lyricUrl, state, reason); return true; @@ -146,7 +154,6 @@ class MusicContentCenterEventHandlerWrapper implements EventLoopEventHandler { if (handleEventInternal(newEvent, eventData, buffers)) { return true; } - return false; } } diff --git a/lib/src/binding/agora_music_content_center_impl.dart b/lib/src/binding/agora_music_content_center_impl.dart index a0846f702..e5a82d07d 100644 --- a/lib/src/binding/agora_music_content_center_impl.dart +++ b/lib/src/binding/agora_music_content_center_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -20,7 +21,7 @@ class MusicChartCollectionImpl implements MusicChartCollection { bool get isOverrideClassName => false; @protected - String get className => ''; + String get className => 'MusicChartCollection'; @override Future getCount() async { @@ -68,16 +69,17 @@ class MusicCollectionImpl implements MusicCollection { bool get isOverrideClassName => false; @protected - String get className => ''; + String get className => 'MusicCollection'; @override int getCount() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicCollection'}_getCount'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -87,12 +89,13 @@ class MusicCollectionImpl implements MusicCollection { @override int getTotal() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicCollection'}_getTotal'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -102,12 +105,13 @@ class MusicCollectionImpl implements MusicCollection { @override int getPage() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicCollection'}_getPage'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -117,12 +121,13 @@ class MusicCollectionImpl implements MusicCollection { @override int getPageSize() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicCollection'}_getPageSize'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -132,12 +137,14 @@ class MusicCollectionImpl implements MusicCollection { @override Music getMusic(int index) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicCollection'}_getMusic_8fcdcef'; -// final param = createParams({// 'index':index// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'index': index +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -177,6 +184,9 @@ class MusicPlayerImpl extends MediaPlayerImpl implements MusicPlayer { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } } @@ -252,35 +262,34 @@ class MusicContentCenterImpl implements MusicContentCenter { @override void registerEventHandler(MusicContentCenterEventHandler eventHandler) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicContentCenter'}_registerEventHandler_ae49451'; -// final param = createParams({// 'eventHandler':eventHandler// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'eventHandler': eventHandler +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerEventHandler'); } @override void unregisterEventHandler() { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'MusicContentCenter'}_unregisterEventHandler'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterEventHandler'); } diff --git a/lib/src/binding/agora_rtc_engine_event_impl.dart b/lib/src/binding/agora_rtc_engine_event_impl.dart index 9ccb56ee2..69223cfa8 100644 --- a/lib/src/binding/agora_rtc_engine_event_impl.dart +++ b/lib/src/binding/agora_rtc_engine_event_impl.dart @@ -41,7 +41,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onJoinChannelSuccess!(connection, elapsed); return true; @@ -59,7 +58,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onRejoinChannelSuccess!(connection, elapsed); return true; @@ -126,7 +124,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onAudioQuality!( connection, remoteUid, quality, delay, lost); return true; @@ -167,7 +164,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { } connection = connection.fillBuffers(buffers); speakers = speakers.map((e) => e.fillBuffers(buffers)).toList(); - rtcEngineEventHandler.onAudioVolumeIndication!( connection, speakers, speakerNumber, totalVolume); return true; @@ -311,7 +307,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onNetworkQuality!( connection, remoteUid, txQuality, rxQuality); return true; @@ -445,7 +440,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onFirstRemoteVideoDecoded!( connection, remoteUid, width, height, elapsed); return true; @@ -473,7 +467,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onVideoSizeChanged!( connection, sourceType, uid, width, height, rotation); return true; @@ -518,7 +511,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onRemoteVideoStateChanged!( connection, remoteUid, state, reason, elapsed); return true; @@ -544,7 +536,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onFirstRemoteVideoFrame!( connection, remoteUid, width, height, elapsed); return true; @@ -564,7 +555,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserJoined!(connection, remoteUid, elapsed); return true; @@ -583,7 +573,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserOffline!(connection, remoteUid, reason); return true; @@ -602,7 +591,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserMuteAudio!(connection, remoteUid, muted); return true; @@ -621,7 +609,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserMuteVideo!(connection, remoteUid, muted); return true; @@ -640,7 +627,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserEnableVideo!( connection, remoteUid, enabled); return true; @@ -660,7 +646,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserStateChanged!(connection, remoteUid, state); return true; @@ -679,7 +664,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserEnableLocalVideo!( connection, remoteUid, enabled); return true; @@ -733,7 +717,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { if (source == null || stats == null) { return true; } - stats = stats.fillBuffers(buffers); rtcEngineEventHandler.onLocalVideoStats!(source, stats); return true; @@ -826,9 +809,7 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { numFaces == null) { return true; } - vecRectangle = vecRectangle.map((e) => e.fillBuffers(buffers)).toList(); - rtcEngineEventHandler.onFacePositionChanged!( imageWidth, imageHeight, vecRectangle, vecDistance, numFaces); return true; @@ -951,7 +932,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onStreamMessage!( connection, remoteUid, streamId, data, length, sentTs); return true; @@ -979,7 +959,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onStreamMessageError!( connection, remoteUid, streamId, code, missed, cached); return true; @@ -1015,7 +994,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onTokenPrivilegeWillExpire!(connection, token); return true; @@ -1034,7 +1012,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onLicenseValidationFailure!(connection, reason); return true; @@ -1053,7 +1030,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onFirstLocalAudioFramePublished!( connection, elapsed); return true; @@ -1074,7 +1050,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onFirstRemoteAudioDecoded!( connection, uid, elapsed); return true; @@ -1094,7 +1069,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onFirstRemoteAudioFrame!( connection, userId, elapsed); return true; @@ -1114,7 +1088,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onLocalAudioStateChanged!( connection, state, reason); return true; @@ -1141,7 +1114,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onRemoteAudioStateChanged!( connection, remoteUid, state, reason, elapsed); return true; @@ -1160,7 +1132,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onActiveSpeaker!(connection, uid); return true; @@ -1203,7 +1174,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onSnapshotTaken!( connection, uid, filePath, width, height, errCode); return true; @@ -1248,7 +1218,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onClientRoleChangeFailed!( connection, reason, currentRole); return true; @@ -1415,7 +1384,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onRemoteAudioTransportStats!( connection, remoteUid, delay, lost, rxKBitRate); return true; @@ -1442,7 +1410,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onRemoteVideoTransportStats!( connection, remoteUid, delay, lost, rxKBitRate); return true; @@ -1462,7 +1429,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onConnectionStateChanged!( connection, state, reason); return true; @@ -1486,7 +1452,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onWlAccMessage!( connection, reason, action, wlAccMsg); return true; @@ -1528,7 +1493,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onNetworkTypeChanged!(connection, type); return true; @@ -1546,7 +1510,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onEncryptionError!(connection, errorType); return true; @@ -1596,7 +1559,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { if (uid == null || info == null) { return true; } - info = info.fillBuffers(buffers); rtcEngineEventHandler.onUserInfoUpdated!(uid, info); return true; @@ -1618,7 +1580,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUserAccountUpdated!( connection, remoteUid, remoteUserAccount); return true; @@ -1664,7 +1625,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } stream = stream.fillBuffers(buffers); - rtcEngineEventHandler.onLocalVideoTranscoderError!(stream, error); return true; @@ -1687,7 +1647,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onUploadLogResult!( connection, requestId, success, reason); return true; @@ -1918,7 +1877,6 @@ class RtcEngineEventHandlerWrapper implements EventLoopEventHandler { return true; } connection = connection.fillBuffers(buffers); - rtcEngineEventHandler.onSetRtmFlagResult!(connection, code); return true; } diff --git a/lib/src/binding/agora_rtc_engine_ex_impl.dart b/lib/src/binding/agora_rtc_engine_ex_impl.dart index 5568209b9..d89a22efb 100644 --- a/lib/src/binding/agora_rtc_engine_ex_impl.dart +++ b/lib/src/binding/agora_rtc_engine_ex_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -69,6 +70,9 @@ class RtcEngineExImpl extends RtcEngineImpl implements RtcEngineEx { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override diff --git a/lib/src/binding/agora_rtc_engine_impl.dart b/lib/src/binding/agora_rtc_engine_impl.dart index 8b814b18d..61c09586b 100644 --- a/lib/src/binding/agora_rtc_engine_impl.dart +++ b/lib/src/binding/agora_rtc_engine_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; @@ -281,6 +282,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -299,6 +303,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -341,6 +348,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -378,6 +388,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -432,6 +445,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -448,6 +464,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -536,20 +555,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; - } - - @override - Future startPreviewWithoutSourceType() async { - final apiType = - '${isOverrideClassName ? className : 'RtcEngine'}_startPreview'; - final param = createParams({}); - final callApiResult = await irisMethodChannel.invokeMethod( - IrisMethodCall(apiType, jsonEncode(param), buffers: null)); - if (callApiResult.irisReturnCode < 0) { - throw AgoraRtcException(code: callApiResult.irisReturnCode); + if (result < 0) { + throw AgoraRtcException(code: result); } - final rm = callApiResult.data; - final result = rm['result']; } @override @@ -566,6 +574,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -881,6 +892,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -1235,26 +1249,29 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override void registerAudioEncodedFrameObserver( {required AudioEncodedFrameObserverConfig config, required AudioEncodedFrameObserver observer}) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_registerAudioEncodedFrameObserver_ed4a177'; -// final param = createParams({// 'config':config.toJson(), 'observer':observer// }); - final List buffers = []; - buffers.addAll(config.collectBufferList()); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:buffers)); +// final param = createParams({ +// 'config': config.toJson(),'observer': observer +// }); +// final List buffers = []; +// buffers.addAll(config.collectBufferList()); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:buffers)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for registerAudioEncodedFrameObserver'); } @@ -1363,6 +1380,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -2339,6 +2359,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -2400,6 +2423,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -2421,6 +2447,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -2597,35 +2626,35 @@ class RtcEngineImpl implements RtcEngine { @override void registerAudioSpectrumObserver(AudioSpectrumObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_registerAudioSpectrumObserver_0406ea7'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerAudioSpectrumObserver'); } @override void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_unregisterAudioSpectrumObserver_0406ea7'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterAudioSpectrumObserver'); } @@ -2776,6 +2805,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -2801,6 +2833,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -3647,25 +3682,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; - } - - @override - Future startScreenCaptureBySourceType( - {required VideoSourceType sourceType, - required ScreenCaptureConfiguration config}) async { - final apiType = - '${isOverrideClassName ? className : 'RtcEngine'}_startScreenCapture_9ebb320'; - final param = createParams( - {'sourceType': sourceType.value(), 'config': config.toJson()}); - final List buffers = []; - buffers.addAll(config.collectBufferList()); - final callApiResult = await irisMethodChannel.invokeMethod( - IrisMethodCall(apiType, jsonEncode(param), buffers: buffers)); - if (callApiResult.irisReturnCode < 0) { - throw AgoraRtcException(code: callApiResult.irisReturnCode); + if (result < 0) { + throw AgoraRtcException(code: result); } - final rm = callApiResult.data; - final result = rm['result']; } @override @@ -3733,20 +3752,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; - } - - @override - Future stopScreenCaptureBySourceType(VideoSourceType sourceType) async { - final apiType = - '${isOverrideClassName ? className : 'RtcEngine'}_stopScreenCapture_4fd718e'; - final param = createParams({'sourceType': sourceType.value()}); - final callApiResult = await irisMethodChannel.invokeMethod( - IrisMethodCall(apiType, jsonEncode(param), buffers: null)); - if (callApiResult.irisReturnCode < 0) { - throw AgoraRtcException(code: callApiResult.irisReturnCode); + if (result < 0) { + throw AgoraRtcException(code: result); } - final rm = callApiResult.data; - final result = rm['result']; } @override @@ -4034,35 +4042,35 @@ class RtcEngineImpl implements RtcEngine { @override void registerEventHandler(RtcEngineEventHandler eventHandler) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_registerEventHandler_5fc0465'; -// final param = createParams({// 'eventHandler':eventHandler// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'eventHandler': eventHandler +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerEventHandler'); } @override void unregisterEventHandler(RtcEngineEventHandler eventHandler) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_unregisterEventHandler_5fc0465'; -// final param = createParams({// 'eventHandler':eventHandler// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'eventHandler': eventHandler +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterEventHandler'); } @@ -4198,6 +4206,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -4299,36 +4310,36 @@ class RtcEngineImpl implements RtcEngine { @override void registerMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_registerMediaMetadataObserver_8701fec'; -// final param = createParams({// 'observer':observer, 'type':type// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer,'type': type.value() +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for registerMediaMetadataObserver'); } @override void unregisterMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_unregisterMediaMetadataObserver_8701fec'; -// final param = createParams({// 'observer':observer, 'type':type// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer,'type': type.value() +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; -// if (result < 0) { -// throw AgoraRtcException(code: result); -// } +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError('Unimplement for unregisterMediaMetadataObserver'); } @@ -4446,6 +4457,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -5043,6 +5057,45 @@ class RtcEngineImpl implements RtcEngine { return result as bool; } + @override + Future startScreenCaptureBySourceType( + {required VideoSourceType sourceType, + required ScreenCaptureConfiguration config}) async { + final apiType = + '${isOverrideClassName ? className : 'RtcEngine'}_startScreenCapture_9ebb320'; + final param = createParams( + {'sourceType': sourceType.value(), 'config': config.toJson()}); + final List buffers = []; + buffers.addAll(config.collectBufferList()); + final callApiResult = await irisMethodChannel.invokeMethod( + IrisMethodCall(apiType, jsonEncode(param), buffers: buffers)); + if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); + } + final rm = callApiResult.data; + final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } + } + + @override + Future stopScreenCaptureBySourceType(VideoSourceType sourceType) async { + final apiType = + '${isOverrideClassName ? className : 'RtcEngine'}_stopScreenCapture_4fd718e'; + final param = createParams({'sourceType': sourceType.value()}); + final callApiResult = await irisMethodChannel.invokeMethod( + IrisMethodCall(apiType, jsonEncode(param), buffers: null)); + if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); + } + final rm = callApiResult.data; + final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } + } + @override Future release({bool sync = false}) async { final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_release'; @@ -5054,16 +5107,37 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } + } + + @override + Future startPreviewWithoutSourceType() async { + final apiType = + '${isOverrideClassName ? className : 'RtcEngine'}_startPreview'; + final param = createParams({}); + final callApiResult = await irisMethodChannel.invokeMethod( + IrisMethodCall(apiType, jsonEncode(param), buffers: null)); + if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); + } + final rm = callApiResult.data; + final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override AudioDeviceManager getAudioDeviceManager() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getAudioDeviceManager'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5073,12 +5147,13 @@ class RtcEngineImpl implements RtcEngine { @override VideoDeviceManager getVideoDeviceManager() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getVideoDeviceManager'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5088,12 +5163,13 @@ class RtcEngineImpl implements RtcEngine { @override MusicContentCenter getMusicContentCenter() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getMusicContentCenter'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5103,12 +5179,13 @@ class RtcEngineImpl implements RtcEngine { @override MediaEngine getMediaEngine() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getMediaEngine'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5118,12 +5195,13 @@ class RtcEngineImpl implements RtcEngine { @override LocalSpatialAudioEngine getLocalSpatialAudioEngine() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getLocalSpatialAudioEngine'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5133,12 +5211,13 @@ class RtcEngineImpl implements RtcEngine { @override H265Transcoder getH265Transcoder() { -// Implementation template -// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_getH265Transcoder'; -// final param = createParams({// // }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); + // Implementation template +// final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_queryInterface_257d192'; +// final param = createParams({ +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; @@ -5162,6 +5241,9 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override @@ -5176,19 +5258,25 @@ class RtcEngineImpl implements RtcEngine { } final rm = callApiResult.data; final result = rm['result']; + if (result < 0) { + throw AgoraRtcException(code: result); + } } @override void unregisterAudioEncodedFrameObserver(AudioEncodedFrameObserver observer) { -// Implementation template + // Implementation template // final apiType = '${isOverrideClassName ? className : 'RtcEngine'}_unregisterAudioEncodedFrameObserver'; -// final param = createParams({// 'observer':observer// }); -// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); +// final param = createParams({ +// 'observer': observer +// }); +// final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null)); // if (callApiResult.irisReturnCode < 0) { -// throw AgoraRtcException(code: callApiResult.irisReturnCode); +// throw AgoraRtcException(code: callApiResult.irisReturnCode); // } // final rm = callApiResult.data; // final result = rm['result']; +// if (result < 0) { throw AgoraRtcException(code: result); } throw UnimplementedError( 'Unimplement for unregisterAudioEncodedFrameObserver'); } diff --git a/lib/src/binding/agora_spatial_audio_impl.dart b/lib/src/binding/agora_spatial_audio_impl.dart index b550a9970..a3b896aba 100644 --- a/lib/src/binding/agora_spatial_audio_impl.dart +++ b/lib/src/binding/agora_spatial_audio_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; diff --git a/lib/src/binding/audio_device_manager_impl.dart b/lib/src/binding/audio_device_manager_impl.dart index 8665a1633..95e833588 100644 --- a/lib/src/binding/audio_device_manager_impl.dart +++ b/lib/src/binding/audio_device_manager_impl.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, annotate_overrides + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; import 'package:iris_method_channel/iris_method_channel.dart'; diff --git a/lib/src/binding/call_api_event_handler_buffer_ext.dart b/lib/src/binding/call_api_event_handler_buffer_ext.dart index a80a004fc..e6eb5aaaf 100644 --- a/lib/src/binding/call_api_event_handler_buffer_ext.dart +++ b/lib/src/binding/call_api_event_handler_buffer_ext.dart @@ -1,6 +1,7 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, prefer_is_empty + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; extension VideoDimensionsBufferExt on VideoDimensions { diff --git a/lib/src/binding/event_handler_param_json.dart b/lib/src/binding/event_handler_param_json.dart index c173905dd..76ac52f85 100644 --- a/lib/src/binding/event_handler_param_json.dart +++ b/lib/src/binding/event_handler_param_json.dart @@ -1,23 +1,28 @@ /// GENERATED BY terra, DO NOT MODIFY BY HAND. // ignore_for_file: public_member_api_docs, unused_local_variable, unused_import, prefer_is_empty + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; part 'event_handler_param_json.g.dart'; -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson { const AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson( {this.frameBuffer, this.length, this.audioEncodedFrameInfo}); @JsonKey(name: 'frameBuffer', ignore: true) final Uint8List? frameBuffer; + @JsonKey(name: 'length') final int? length; + @JsonKey(name: 'audioEncodedFrameInfo') final EncodedAudioFrameInfo? audioEncodedFrameInfo; + factory AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson.fromJson( Map json) => _$AudioEncodedFrameObserverOnRecordAudioEncodedFrameJsonFromJson(json); + Map toJson() => _$AudioEncodedFrameObserverOnRecordAudioEncodedFrameJsonToJson(this); } @@ -46,20 +51,24 @@ extension AudioEncodedFrameObserverOnRecordAudioEncodedFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson { const AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson( {this.frameBuffer, this.length, this.audioEncodedFrameInfo}); @JsonKey(name: 'frameBuffer', ignore: true) final Uint8List? frameBuffer; + @JsonKey(name: 'length') final int? length; + @JsonKey(name: 'audioEncodedFrameInfo') final EncodedAudioFrameInfo? audioEncodedFrameInfo; + factory AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson.fromJson( Map json) => _$AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonFromJson(json); + Map toJson() => _$AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonToJson(this); } @@ -88,20 +97,24 @@ extension AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson { const AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson( {this.frameBuffer, this.length, this.audioEncodedFrameInfo}); @JsonKey(name: 'frameBuffer', ignore: true) final Uint8List? frameBuffer; + @JsonKey(name: 'length') final int? length; + @JsonKey(name: 'audioEncodedFrameInfo') final EncodedAudioFrameInfo? audioEncodedFrameInfo; + factory AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson.fromJson( Map json) => _$AudioEncodedFrameObserverOnMixedAudioEncodedFrameJsonFromJson(json); + Map toJson() => _$AudioEncodedFrameObserverOnMixedAudioEncodedFrameJsonToJson(this); } @@ -130,14 +143,16 @@ extension AudioEncodedFrameObserverOnMixedAudioEncodedFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioPcmFrameSinkOnFrameJson { const AudioPcmFrameSinkOnFrameJson({this.frame}); @JsonKey(name: 'frame') final AudioPcmFrame? frame; + factory AudioPcmFrameSinkOnFrameJson.fromJson(Map json) => _$AudioPcmFrameSinkOnFrameJsonFromJson(json); + Map toJson() => _$AudioPcmFrameSinkOnFrameJsonToJson(this); } @@ -154,18 +169,21 @@ extension AudioPcmFrameSinkOnFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioFrameObserverBaseOnRecordAudioFrameJson { const AudioFrameObserverBaseOnRecordAudioFrameJson( {this.channelId, this.audioFrame}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'audioFrame') final AudioFrame? audioFrame; + factory AudioFrameObserverBaseOnRecordAudioFrameJson.fromJson( Map json) => _$AudioFrameObserverBaseOnRecordAudioFrameJsonFromJson(json); + Map toJson() => _$AudioFrameObserverBaseOnRecordAudioFrameJsonToJson(this); } @@ -184,18 +202,21 @@ extension AudioFrameObserverBaseOnRecordAudioFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioFrameObserverBaseOnPlaybackAudioFrameJson { const AudioFrameObserverBaseOnPlaybackAudioFrameJson( {this.channelId, this.audioFrame}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'audioFrame') final AudioFrame? audioFrame; + factory AudioFrameObserverBaseOnPlaybackAudioFrameJson.fromJson( Map json) => _$AudioFrameObserverBaseOnPlaybackAudioFrameJsonFromJson(json); + Map toJson() => _$AudioFrameObserverBaseOnPlaybackAudioFrameJsonToJson(this); } @@ -214,18 +235,21 @@ extension AudioFrameObserverBaseOnPlaybackAudioFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioFrameObserverBaseOnMixedAudioFrameJson { const AudioFrameObserverBaseOnMixedAudioFrameJson( {this.channelId, this.audioFrame}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'audioFrame') final AudioFrame? audioFrame; + factory AudioFrameObserverBaseOnMixedAudioFrameJson.fromJson( Map json) => _$AudioFrameObserverBaseOnMixedAudioFrameJsonFromJson(json); + Map toJson() => _$AudioFrameObserverBaseOnMixedAudioFrameJsonToJson(this); } @@ -244,15 +268,17 @@ extension AudioFrameObserverBaseOnMixedAudioFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioFrameObserverBaseOnEarMonitoringAudioFrameJson { const AudioFrameObserverBaseOnEarMonitoringAudioFrameJson({this.audioFrame}); @JsonKey(name: 'audioFrame') final AudioFrame? audioFrame; + factory AudioFrameObserverBaseOnEarMonitoringAudioFrameJson.fromJson( Map json) => _$AudioFrameObserverBaseOnEarMonitoringAudioFrameJsonFromJson(json); + Map toJson() => _$AudioFrameObserverBaseOnEarMonitoringAudioFrameJsonToJson(this); } @@ -271,20 +297,24 @@ extension AudioFrameObserverBaseOnEarMonitoringAudioFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson { const AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson( {this.channelId, this.uid, this.audioFrame}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'audioFrame') final AudioFrame? audioFrame; + factory AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson.fromJson( Map json) => _$AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJsonFromJson(json); + Map toJson() => _$AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJsonToJson(this); } @@ -303,15 +333,17 @@ extension AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioSpectrumObserverOnLocalAudioSpectrumJson { const AudioSpectrumObserverOnLocalAudioSpectrumJson({this.data}); @JsonKey(name: 'data') final AudioSpectrumData? data; + factory AudioSpectrumObserverOnLocalAudioSpectrumJson.fromJson( Map json) => _$AudioSpectrumObserverOnLocalAudioSpectrumJsonFromJson(json); + Map toJson() => _$AudioSpectrumObserverOnLocalAudioSpectrumJsonToJson(this); } @@ -330,18 +362,21 @@ extension AudioSpectrumObserverOnLocalAudioSpectrumJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioSpectrumObserverOnRemoteAudioSpectrumJson { const AudioSpectrumObserverOnRemoteAudioSpectrumJson( {this.spectrums, this.spectrumNumber}); @JsonKey(name: 'spectrums') final List? spectrums; + @JsonKey(name: 'spectrumNumber') final int? spectrumNumber; + factory AudioSpectrumObserverOnRemoteAudioSpectrumJson.fromJson( Map json) => _$AudioSpectrumObserverOnRemoteAudioSpectrumJsonFromJson(json); + Map toJson() => _$AudioSpectrumObserverOnRemoteAudioSpectrumJsonToJson(this); } @@ -360,22 +395,27 @@ extension AudioSpectrumObserverOnRemoteAudioSpectrumJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson { const VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson( {this.uid, this.imageBuffer, this.length, this.videoEncodedFrameInfo}); @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'imageBuffer', ignore: true) final Uint8List? imageBuffer; + @JsonKey(name: 'length') final int? length; + @JsonKey(name: 'videoEncodedFrameInfo') final EncodedVideoFrameInfo? videoEncodedFrameInfo; + factory VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson.fromJson( Map json) => _$VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonFromJson(json); + Map toJson() => _$VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonToJson(this); } @@ -405,18 +445,21 @@ extension VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrameObserverOnCaptureVideoFrameJson { const VideoFrameObserverOnCaptureVideoFrameJson( {this.sourceType, this.videoFrame}); @JsonKey(name: 'sourceType') final VideoSourceType? sourceType; + @JsonKey(name: 'videoFrame') final VideoFrame? videoFrame; + factory VideoFrameObserverOnCaptureVideoFrameJson.fromJson( Map json) => _$VideoFrameObserverOnCaptureVideoFrameJsonFromJson(json); + Map toJson() => _$VideoFrameObserverOnCaptureVideoFrameJsonToJson(this); } @@ -435,18 +478,21 @@ extension VideoFrameObserverOnCaptureVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrameObserverOnPreEncodeVideoFrameJson { const VideoFrameObserverOnPreEncodeVideoFrameJson( {this.sourceType, this.videoFrame}); @JsonKey(name: 'sourceType') final VideoSourceType? sourceType; + @JsonKey(name: 'videoFrame') final VideoFrame? videoFrame; + factory VideoFrameObserverOnPreEncodeVideoFrameJson.fromJson( Map json) => _$VideoFrameObserverOnPreEncodeVideoFrameJsonFromJson(json); + Map toJson() => _$VideoFrameObserverOnPreEncodeVideoFrameJsonToJson(this); } @@ -465,18 +511,21 @@ extension VideoFrameObserverOnPreEncodeVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrameObserverOnMediaPlayerVideoFrameJson { const VideoFrameObserverOnMediaPlayerVideoFrameJson( {this.videoFrame, this.mediaPlayerId}); @JsonKey(name: 'videoFrame') final VideoFrame? videoFrame; + @JsonKey(name: 'mediaPlayerId') final int? mediaPlayerId; + factory VideoFrameObserverOnMediaPlayerVideoFrameJson.fromJson( Map json) => _$VideoFrameObserverOnMediaPlayerVideoFrameJsonFromJson(json); + Map toJson() => _$VideoFrameObserverOnMediaPlayerVideoFrameJsonToJson(this); } @@ -495,20 +544,24 @@ extension VideoFrameObserverOnMediaPlayerVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrameObserverOnRenderVideoFrameJson { const VideoFrameObserverOnRenderVideoFrameJson( {this.channelId, this.remoteUid, this.videoFrame}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'videoFrame') final VideoFrame? videoFrame; + factory VideoFrameObserverOnRenderVideoFrameJson.fromJson( Map json) => _$VideoFrameObserverOnRenderVideoFrameJsonFromJson(json); + Map toJson() => _$VideoFrameObserverOnRenderVideoFrameJsonToJson(this); } @@ -527,15 +580,17 @@ extension VideoFrameObserverOnRenderVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrameObserverOnTranscodedVideoFrameJson { const VideoFrameObserverOnTranscodedVideoFrameJson({this.videoFrame}); @JsonKey(name: 'videoFrame') final VideoFrame? videoFrame; + factory VideoFrameObserverOnTranscodedVideoFrameJson.fromJson( Map json) => _$VideoFrameObserverOnTranscodedVideoFrameJsonFromJson(json); + Map toJson() => _$VideoFrameObserverOnTranscodedVideoFrameJsonToJson(this); } @@ -554,22 +609,27 @@ extension VideoFrameObserverOnTranscodedVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaRecorderObserverOnRecorderStateChangedJson { const MediaRecorderObserverOnRecorderStateChangedJson( {this.channelId, this.uid, this.state, this.reason}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'state') final RecorderState? state; + @JsonKey(name: 'reason') final RecorderReasonCode? reason; + factory MediaRecorderObserverOnRecorderStateChangedJson.fromJson( Map json) => _$MediaRecorderObserverOnRecorderStateChangedJsonFromJson(json); + Map toJson() => _$MediaRecorderObserverOnRecorderStateChangedJsonToJson(this); } @@ -588,20 +648,24 @@ extension MediaRecorderObserverOnRecorderStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaRecorderObserverOnRecorderInfoUpdatedJson { const MediaRecorderObserverOnRecorderInfoUpdatedJson( {this.channelId, this.uid, this.info}); @JsonKey(name: 'channelId') final String? channelId; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'info') final RecorderInfo? info; + factory MediaRecorderObserverOnRecorderInfoUpdatedJson.fromJson( Map json) => _$MediaRecorderObserverOnRecorderInfoUpdatedJsonFromJson(json); + Map toJson() => _$MediaRecorderObserverOnRecorderInfoUpdatedJsonToJson(this); } @@ -620,15 +684,17 @@ extension MediaRecorderObserverOnRecorderInfoUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class H265TranscoderObserverOnEnableTranscodeJson { const H265TranscoderObserverOnEnableTranscodeJson({this.result}); @JsonKey(name: 'result') final H265TranscodeResult? result; + factory H265TranscoderObserverOnEnableTranscodeJson.fromJson( Map json) => _$H265TranscoderObserverOnEnableTranscodeJsonFromJson(json); + Map toJson() => _$H265TranscoderObserverOnEnableTranscodeJsonToJson(this); } @@ -647,20 +713,24 @@ extension H265TranscoderObserverOnEnableTranscodeJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class H265TranscoderObserverOnQueryChannelJson { const H265TranscoderObserverOnQueryChannelJson( {this.result, this.originChannel, this.transcodeChannel}); @JsonKey(name: 'result') final H265TranscodeResult? result; + @JsonKey(name: 'originChannel') final String? originChannel; + @JsonKey(name: 'transcodeChannel') final String? transcodeChannel; + factory H265TranscoderObserverOnQueryChannelJson.fromJson( Map json) => _$H265TranscoderObserverOnQueryChannelJsonFromJson(json); + Map toJson() => _$H265TranscoderObserverOnQueryChannelJsonToJson(this); } @@ -679,15 +749,17 @@ extension H265TranscoderObserverOnQueryChannelJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class H265TranscoderObserverOnTriggerTranscodeJson { const H265TranscoderObserverOnTriggerTranscodeJson({this.result}); @JsonKey(name: 'result') final H265TranscodeResult? result; + factory H265TranscoderObserverOnTriggerTranscodeJson.fromJson( Map json) => _$H265TranscoderObserverOnTriggerTranscodeJsonFromJson(json); + Map toJson() => _$H265TranscoderObserverOnTriggerTranscodeJsonToJson(this); } @@ -706,15 +778,17 @@ extension H265TranscoderObserverOnTriggerTranscodeJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerVideoFrameObserverOnFrameJson { const MediaPlayerVideoFrameObserverOnFrameJson({this.frame}); @JsonKey(name: 'frame') final VideoFrame? frame; + factory MediaPlayerVideoFrameObserverOnFrameJson.fromJson( Map json) => _$MediaPlayerVideoFrameObserverOnFrameJsonFromJson(json); + Map toJson() => _$MediaPlayerVideoFrameObserverOnFrameJsonToJson(this); } @@ -733,18 +807,21 @@ extension MediaPlayerVideoFrameObserverOnFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerSourceStateChangedJson { const MediaPlayerSourceObserverOnPlayerSourceStateChangedJson( {this.state, this.reason}); @JsonKey(name: 'state') final MediaPlayerState? state; + @JsonKey(name: 'reason') final MediaPlayerReason? reason; + factory MediaPlayerSourceObserverOnPlayerSourceStateChangedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerSourceStateChangedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerSourceStateChangedJsonToJson(this); } @@ -763,18 +840,21 @@ extension MediaPlayerSourceObserverOnPlayerSourceStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPositionChangedJson { const MediaPlayerSourceObserverOnPositionChangedJson( {this.positionMs, this.timestampMs}); @JsonKey(name: 'positionMs') final int? positionMs; + @JsonKey(name: 'timestampMs') final int? timestampMs; + factory MediaPlayerSourceObserverOnPositionChangedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPositionChangedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPositionChangedJsonToJson(this); } @@ -793,20 +873,24 @@ extension MediaPlayerSourceObserverOnPositionChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerEventJson { const MediaPlayerSourceObserverOnPlayerEventJson( {this.eventCode, this.elapsedTime, this.message}); @JsonKey(name: 'eventCode') final MediaPlayerEvent? eventCode; + @JsonKey(name: 'elapsedTime') final int? elapsedTime; + @JsonKey(name: 'message') final String? message; + factory MediaPlayerSourceObserverOnPlayerEventJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerEventJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerEventJsonToJson(this); } @@ -825,17 +909,20 @@ extension MediaPlayerSourceObserverOnPlayerEventJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnMetaDataJson { const MediaPlayerSourceObserverOnMetaDataJson({this.data, this.length}); @JsonKey(name: 'data', ignore: true) final Uint8List? data; + @JsonKey(name: 'length') final int? length; + factory MediaPlayerSourceObserverOnMetaDataJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnMetaDataJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnMetaDataJsonToJson(this); } @@ -861,16 +948,18 @@ extension MediaPlayerSourceObserverOnMetaDataJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayBufferUpdatedJson { const MediaPlayerSourceObserverOnPlayBufferUpdatedJson( {this.playCachedBuffer}); @JsonKey(name: 'playCachedBuffer') final int? playCachedBuffer; + factory MediaPlayerSourceObserverOnPlayBufferUpdatedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayBufferUpdatedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayBufferUpdatedJsonToJson(this); } @@ -889,17 +978,20 @@ extension MediaPlayerSourceObserverOnPlayBufferUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPreloadEventJson { const MediaPlayerSourceObserverOnPreloadEventJson({this.src, this.event}); @JsonKey(name: 'src') final String? src; + @JsonKey(name: 'event') final PlayerPreloadEvent? event; + factory MediaPlayerSourceObserverOnPreloadEventJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPreloadEventJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPreloadEventJsonToJson(this); } @@ -918,13 +1010,14 @@ extension MediaPlayerSourceObserverOnPreloadEventJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnCompletedJson { const MediaPlayerSourceObserverOnCompletedJson(); factory MediaPlayerSourceObserverOnCompletedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnCompletedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnCompletedJsonToJson(this); } @@ -943,13 +1036,14 @@ extension MediaPlayerSourceObserverOnCompletedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJson { const MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJson(); factory MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJsonToJson(this); } @@ -968,18 +1062,21 @@ extension MediaPlayerSourceObserverOnAgoraCDNTokenWillExpireJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson { const MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson( {this.from, this.to}); @JsonKey(name: 'from') final SrcInfo? from; + @JsonKey(name: 'to') final SrcInfo? to; + factory MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerSrcInfoChangedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerSrcInfoChangedJsonToJson(this); } @@ -998,15 +1095,17 @@ extension MediaPlayerSourceObserverOnPlayerSrcInfoChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerInfoUpdatedJson { const MediaPlayerSourceObserverOnPlayerInfoUpdatedJson({this.info}); @JsonKey(name: 'info') final PlayerUpdatedInfo? info; + factory MediaPlayerSourceObserverOnPlayerInfoUpdatedJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerInfoUpdatedJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerInfoUpdatedJsonToJson(this); } @@ -1025,15 +1124,17 @@ extension MediaPlayerSourceObserverOnPlayerInfoUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerCacheStatsJson { const MediaPlayerSourceObserverOnPlayerCacheStatsJson({this.stats}); @JsonKey(name: 'stats') final CacheStatistics? stats; + factory MediaPlayerSourceObserverOnPlayerCacheStatsJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerCacheStatsJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerCacheStatsJsonToJson(this); } @@ -1052,15 +1153,17 @@ extension MediaPlayerSourceObserverOnPlayerCacheStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnPlayerPlaybackStatsJson { const MediaPlayerSourceObserverOnPlayerPlaybackStatsJson({this.stats}); @JsonKey(name: 'stats') final PlayerPlaybackStats? stats; + factory MediaPlayerSourceObserverOnPlayerPlaybackStatsJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnPlayerPlaybackStatsJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnPlayerPlaybackStatsJsonToJson(this); } @@ -1079,15 +1182,17 @@ extension MediaPlayerSourceObserverOnPlayerPlaybackStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MediaPlayerSourceObserverOnAudioVolumeIndicationJson { const MediaPlayerSourceObserverOnAudioVolumeIndicationJson({this.volume}); @JsonKey(name: 'volume') final int? volume; + factory MediaPlayerSourceObserverOnAudioVolumeIndicationJson.fromJson( Map json) => _$MediaPlayerSourceObserverOnAudioVolumeIndicationJsonFromJson(json); + Map toJson() => _$MediaPlayerSourceObserverOnAudioVolumeIndicationJsonToJson(this); } @@ -1106,20 +1211,24 @@ extension MediaPlayerSourceObserverOnAudioVolumeIndicationJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterEventHandlerOnMusicChartsResultJson { const MusicContentCenterEventHandlerOnMusicChartsResultJson( {this.requestId, this.result, this.reason}); @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'result') final List? result; + @JsonKey(name: 'reason') final MusicContentCenterStateReason? reason; + factory MusicContentCenterEventHandlerOnMusicChartsResultJson.fromJson( Map json) => _$MusicContentCenterEventHandlerOnMusicChartsResultJsonFromJson(json); + Map toJson() => _$MusicContentCenterEventHandlerOnMusicChartsResultJsonToJson(this); } @@ -1138,20 +1247,24 @@ extension MusicContentCenterEventHandlerOnMusicChartsResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterEventHandlerOnMusicCollectionResultJson { const MusicContentCenterEventHandlerOnMusicCollectionResultJson( {this.requestId, this.result, this.reason}); @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'result', ignore: true) final MusicCollection? result; + @JsonKey(name: 'reason') final MusicContentCenterStateReason? reason; + factory MusicContentCenterEventHandlerOnMusicCollectionResultJson.fromJson( Map json) => _$MusicContentCenterEventHandlerOnMusicCollectionResultJsonFromJson(json); + Map toJson() => _$MusicContentCenterEventHandlerOnMusicCollectionResultJsonToJson(this); } @@ -1170,22 +1283,27 @@ extension MusicContentCenterEventHandlerOnMusicCollectionResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterEventHandlerOnLyricResultJson { const MusicContentCenterEventHandlerOnLyricResultJson( {this.requestId, this.songCode, this.lyricUrl, this.reason}); @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'songCode') final int? songCode; + @JsonKey(name: 'lyricUrl') final String? lyricUrl; + @JsonKey(name: 'reason') final MusicContentCenterStateReason? reason; + factory MusicContentCenterEventHandlerOnLyricResultJson.fromJson( Map json) => _$MusicContentCenterEventHandlerOnLyricResultJsonFromJson(json); + Map toJson() => _$MusicContentCenterEventHandlerOnLyricResultJsonToJson(this); } @@ -1204,22 +1322,27 @@ extension MusicContentCenterEventHandlerOnLyricResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterEventHandlerOnSongSimpleInfoResultJson { const MusicContentCenterEventHandlerOnSongSimpleInfoResultJson( {this.requestId, this.songCode, this.simpleInfo, this.reason}); @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'songCode') final int? songCode; + @JsonKey(name: 'simpleInfo') final String? simpleInfo; + @JsonKey(name: 'reason') final MusicContentCenterStateReason? reason; + factory MusicContentCenterEventHandlerOnSongSimpleInfoResultJson.fromJson( Map json) => _$MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonFromJson(json); + Map toJson() => _$MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonToJson(this); } @@ -1238,7 +1361,7 @@ extension MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterEventHandlerOnPreLoadEventJson { const MusicContentCenterEventHandlerOnPreLoadEventJson( {this.requestId, @@ -1250,19 +1373,26 @@ class MusicContentCenterEventHandlerOnPreLoadEventJson { @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'songCode') final int? songCode; + @JsonKey(name: 'percent') final int? percent; + @JsonKey(name: 'lyricUrl') final String? lyricUrl; + @JsonKey(name: 'state') final PreloadState? state; + @JsonKey(name: 'reason') final MusicContentCenterStateReason? reason; + factory MusicContentCenterEventHandlerOnPreLoadEventJson.fromJson( Map json) => _$MusicContentCenterEventHandlerOnPreLoadEventJsonFromJson(json); + Map toJson() => _$MusicContentCenterEventHandlerOnPreLoadEventJsonToJson(this); } @@ -1281,18 +1411,21 @@ extension MusicContentCenterEventHandlerOnPreLoadEventJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnJoinChannelSuccessJson { const RtcEngineEventHandlerOnJoinChannelSuccessJson( {this.connection, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnJoinChannelSuccessJson.fromJson( Map json) => _$RtcEngineEventHandlerOnJoinChannelSuccessJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnJoinChannelSuccessJsonToJson(this); } @@ -1311,18 +1444,21 @@ extension RtcEngineEventHandlerOnJoinChannelSuccessJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRejoinChannelSuccessJson { const RtcEngineEventHandlerOnRejoinChannelSuccessJson( {this.connection, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnRejoinChannelSuccessJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRejoinChannelSuccessJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRejoinChannelSuccessJsonToJson(this); } @@ -1341,7 +1477,7 @@ extension RtcEngineEventHandlerOnRejoinChannelSuccessJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnProxyConnectedJson { const RtcEngineEventHandlerOnProxyConnectedJson( {this.channel, @@ -1352,17 +1488,23 @@ class RtcEngineEventHandlerOnProxyConnectedJson { @JsonKey(name: 'channel') final String? channel; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'proxyType') final ProxyType? proxyType; + @JsonKey(name: 'localProxyIp') final String? localProxyIp; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnProxyConnectedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnProxyConnectedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnProxyConnectedJsonToJson(this); } @@ -1381,17 +1523,20 @@ extension RtcEngineEventHandlerOnProxyConnectedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnErrorJson { const RtcEngineEventHandlerOnErrorJson({this.err, this.msg}); @JsonKey(name: 'err') final ErrorCodeType? err; + @JsonKey(name: 'msg') final String? msg; + factory RtcEngineEventHandlerOnErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnErrorJsonToJson(this); } @@ -1409,24 +1554,30 @@ extension RtcEngineEventHandlerOnErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioQualityJson { const RtcEngineEventHandlerOnAudioQualityJson( {this.connection, this.remoteUid, this.quality, this.delay, this.lost}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'quality') final QualityType? quality; + @JsonKey(name: 'delay') final int? delay; + @JsonKey(name: 'lost') final int? lost; + factory RtcEngineEventHandlerOnAudioQualityJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioQualityJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioQualityJsonToJson(this); } @@ -1445,15 +1596,17 @@ extension RtcEngineEventHandlerOnAudioQualityJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLastmileProbeResultJson { const RtcEngineEventHandlerOnLastmileProbeResultJson({this.result}); @JsonKey(name: 'result') final LastmileProbeResult? result; + factory RtcEngineEventHandlerOnLastmileProbeResultJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLastmileProbeResultJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLastmileProbeResultJsonToJson(this); } @@ -1472,22 +1625,27 @@ extension RtcEngineEventHandlerOnLastmileProbeResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioVolumeIndicationJson { const RtcEngineEventHandlerOnAudioVolumeIndicationJson( {this.connection, this.speakers, this.speakerNumber, this.totalVolume}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'speakers') final List? speakers; + @JsonKey(name: 'speakerNumber') final int? speakerNumber; + @JsonKey(name: 'totalVolume') final int? totalVolume; + factory RtcEngineEventHandlerOnAudioVolumeIndicationJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioVolumeIndicationJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioVolumeIndicationJsonToJson(this); } @@ -1506,17 +1664,20 @@ extension RtcEngineEventHandlerOnAudioVolumeIndicationJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLeaveChannelJson { const RtcEngineEventHandlerOnLeaveChannelJson({this.connection, this.stats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'stats') final RtcStats? stats; + factory RtcEngineEventHandlerOnLeaveChannelJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLeaveChannelJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLeaveChannelJsonToJson(this); } @@ -1535,17 +1696,20 @@ extension RtcEngineEventHandlerOnLeaveChannelJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRtcStatsJson { const RtcEngineEventHandlerOnRtcStatsJson({this.connection, this.stats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'stats') final RtcStats? stats; + factory RtcEngineEventHandlerOnRtcStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRtcStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRtcStatsJsonToJson(this); } @@ -1563,20 +1727,24 @@ extension RtcEngineEventHandlerOnRtcStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioDeviceStateChangedJson { const RtcEngineEventHandlerOnAudioDeviceStateChangedJson( {this.deviceId, this.deviceType, this.deviceState}); @JsonKey(name: 'deviceId') final String? deviceId; + @JsonKey(name: 'deviceType') final MediaDeviceType? deviceType; + @JsonKey(name: 'deviceState') final MediaDeviceStateType? deviceState; + factory RtcEngineEventHandlerOnAudioDeviceStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioDeviceStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioDeviceStateChangedJsonToJson(this); } @@ -1595,15 +1763,17 @@ extension RtcEngineEventHandlerOnAudioDeviceStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioMixingPositionChangedJson { const RtcEngineEventHandlerOnAudioMixingPositionChangedJson({this.position}); @JsonKey(name: 'position') final int? position; + factory RtcEngineEventHandlerOnAudioMixingPositionChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioMixingPositionChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioMixingPositionChangedJsonToJson(this); } @@ -1622,13 +1792,14 @@ extension RtcEngineEventHandlerOnAudioMixingPositionChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioMixingFinishedJson { const RtcEngineEventHandlerOnAudioMixingFinishedJson(); factory RtcEngineEventHandlerOnAudioMixingFinishedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioMixingFinishedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioMixingFinishedJsonToJson(this); } @@ -1647,15 +1818,17 @@ extension RtcEngineEventHandlerOnAudioMixingFinishedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioEffectFinishedJson { const RtcEngineEventHandlerOnAudioEffectFinishedJson({this.soundId}); @JsonKey(name: 'soundId') final int? soundId; + factory RtcEngineEventHandlerOnAudioEffectFinishedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioEffectFinishedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioEffectFinishedJsonToJson(this); } @@ -1674,20 +1847,24 @@ extension RtcEngineEventHandlerOnAudioEffectFinishedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoDeviceStateChangedJson { const RtcEngineEventHandlerOnVideoDeviceStateChangedJson( {this.deviceId, this.deviceType, this.deviceState}); @JsonKey(name: 'deviceId') final String? deviceId; + @JsonKey(name: 'deviceType') final MediaDeviceType? deviceType; + @JsonKey(name: 'deviceState') final MediaDeviceStateType? deviceState; + factory RtcEngineEventHandlerOnVideoDeviceStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoDeviceStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoDeviceStateChangedJsonToJson(this); } @@ -1706,22 +1883,27 @@ extension RtcEngineEventHandlerOnVideoDeviceStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnNetworkQualityJson { const RtcEngineEventHandlerOnNetworkQualityJson( {this.connection, this.remoteUid, this.txQuality, this.rxQuality}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'txQuality') final QualityType? txQuality; + @JsonKey(name: 'rxQuality') final QualityType? rxQuality; + factory RtcEngineEventHandlerOnNetworkQualityJson.fromJson( Map json) => _$RtcEngineEventHandlerOnNetworkQualityJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnNetworkQualityJsonToJson(this); } @@ -1740,15 +1922,17 @@ extension RtcEngineEventHandlerOnNetworkQualityJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnIntraRequestReceivedJson { const RtcEngineEventHandlerOnIntraRequestReceivedJson({this.connection}); @JsonKey(name: 'connection') final RtcConnection? connection; + factory RtcEngineEventHandlerOnIntraRequestReceivedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnIntraRequestReceivedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnIntraRequestReceivedJsonToJson(this); } @@ -1767,15 +1951,17 @@ extension RtcEngineEventHandlerOnIntraRequestReceivedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson { const RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson({this.info}); @JsonKey(name: 'info') final UplinkNetworkInfo? info; + factory RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJsonToJson(this); } @@ -1794,15 +1980,17 @@ extension RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson { const RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson({this.info}); @JsonKey(name: 'info') final DownlinkNetworkInfo? info; + factory RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJsonToJson(this); } @@ -1821,15 +2009,17 @@ extension RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLastmileQualityJson { const RtcEngineEventHandlerOnLastmileQualityJson({this.quality}); @JsonKey(name: 'quality') final QualityType? quality; + factory RtcEngineEventHandlerOnLastmileQualityJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLastmileQualityJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLastmileQualityJsonToJson(this); } @@ -1848,22 +2038,27 @@ extension RtcEngineEventHandlerOnLastmileQualityJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstLocalVideoFrameJson { const RtcEngineEventHandlerOnFirstLocalVideoFrameJson( {this.source, this.width, this.height, this.elapsed}); @JsonKey(name: 'source') final VideoSourceType? source; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstLocalVideoFrameJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstLocalVideoFrameJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstLocalVideoFrameJsonToJson(this); } @@ -1882,18 +2077,21 @@ extension RtcEngineEventHandlerOnFirstLocalVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson { const RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson( {this.source, this.elapsed}); @JsonKey(name: 'source') final VideoSourceType? source; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonToJson(this); } @@ -1912,24 +2110,30 @@ extension RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson { const RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson( {this.connection, this.remoteUid, this.width, this.height, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstRemoteVideoDecodedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstRemoteVideoDecodedJsonToJson(this); } @@ -1948,7 +2152,7 @@ extension RtcEngineEventHandlerOnFirstRemoteVideoDecodedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoSizeChangedJson { const RtcEngineEventHandlerOnVideoSizeChangedJson( {this.connection, @@ -1960,19 +2164,26 @@ class RtcEngineEventHandlerOnVideoSizeChangedJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'sourceType') final VideoSourceType? sourceType; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'rotation') final int? rotation; + factory RtcEngineEventHandlerOnVideoSizeChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoSizeChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoSizeChangedJsonToJson(this); } @@ -1991,20 +2202,24 @@ extension RtcEngineEventHandlerOnVideoSizeChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalVideoStateChangedJson { const RtcEngineEventHandlerOnLocalVideoStateChangedJson( {this.source, this.state, this.reason}); @JsonKey(name: 'source') final VideoSourceType? source; + @JsonKey(name: 'state') final LocalVideoStreamState? state; + @JsonKey(name: 'reason') final LocalVideoStreamReason? reason; + factory RtcEngineEventHandlerOnLocalVideoStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalVideoStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalVideoStateChangedJsonToJson(this); } @@ -2023,24 +2238,30 @@ extension RtcEngineEventHandlerOnLocalVideoStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteVideoStateChangedJson { const RtcEngineEventHandlerOnRemoteVideoStateChangedJson( {this.connection, this.remoteUid, this.state, this.reason, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'state') final RemoteVideoState? state; + @JsonKey(name: 'reason') final RemoteVideoStateReason? reason; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnRemoteVideoStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteVideoStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteVideoStateChangedJsonToJson(this); } @@ -2059,24 +2280,30 @@ extension RtcEngineEventHandlerOnRemoteVideoStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstRemoteVideoFrameJson { const RtcEngineEventHandlerOnFirstRemoteVideoFrameJson( {this.connection, this.remoteUid, this.width, this.height, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstRemoteVideoFrameJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstRemoteVideoFrameJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstRemoteVideoFrameJsonToJson(this); } @@ -2095,20 +2322,24 @@ extension RtcEngineEventHandlerOnFirstRemoteVideoFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserJoinedJson { const RtcEngineEventHandlerOnUserJoinedJson( {this.connection, this.remoteUid, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnUserJoinedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserJoinedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserJoinedJsonToJson(this); } @@ -2127,20 +2358,24 @@ extension RtcEngineEventHandlerOnUserJoinedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserOfflineJson { const RtcEngineEventHandlerOnUserOfflineJson( {this.connection, this.remoteUid, this.reason}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'reason') final UserOfflineReasonType? reason; + factory RtcEngineEventHandlerOnUserOfflineJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserOfflineJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserOfflineJsonToJson(this); } @@ -2159,20 +2394,24 @@ extension RtcEngineEventHandlerOnUserOfflineJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserMuteAudioJson { const RtcEngineEventHandlerOnUserMuteAudioJson( {this.connection, this.remoteUid, this.muted}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'muted') final bool? muted; + factory RtcEngineEventHandlerOnUserMuteAudioJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserMuteAudioJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserMuteAudioJsonToJson(this); } @@ -2191,20 +2430,24 @@ extension RtcEngineEventHandlerOnUserMuteAudioJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserMuteVideoJson { const RtcEngineEventHandlerOnUserMuteVideoJson( {this.connection, this.remoteUid, this.muted}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'muted') final bool? muted; + factory RtcEngineEventHandlerOnUserMuteVideoJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserMuteVideoJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserMuteVideoJsonToJson(this); } @@ -2223,20 +2466,24 @@ extension RtcEngineEventHandlerOnUserMuteVideoJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserEnableVideoJson { const RtcEngineEventHandlerOnUserEnableVideoJson( {this.connection, this.remoteUid, this.enabled}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'enabled') final bool? enabled; + factory RtcEngineEventHandlerOnUserEnableVideoJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserEnableVideoJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserEnableVideoJsonToJson(this); } @@ -2255,20 +2502,24 @@ extension RtcEngineEventHandlerOnUserEnableVideoJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserStateChangedJson { const RtcEngineEventHandlerOnUserStateChangedJson( {this.connection, this.remoteUid, this.state}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'state') final int? state; + factory RtcEngineEventHandlerOnUserStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserStateChangedJsonToJson(this); } @@ -2287,20 +2538,24 @@ extension RtcEngineEventHandlerOnUserStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserEnableLocalVideoJson { const RtcEngineEventHandlerOnUserEnableLocalVideoJson( {this.connection, this.remoteUid, this.enabled}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'enabled') final bool? enabled; + factory RtcEngineEventHandlerOnUserEnableLocalVideoJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserEnableLocalVideoJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserEnableLocalVideoJsonToJson(this); } @@ -2319,18 +2574,21 @@ extension RtcEngineEventHandlerOnUserEnableLocalVideoJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteAudioStatsJson { const RtcEngineEventHandlerOnRemoteAudioStatsJson( {this.connection, this.stats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'stats') final RemoteAudioStats? stats; + factory RtcEngineEventHandlerOnRemoteAudioStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteAudioStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteAudioStatsJsonToJson(this); } @@ -2349,18 +2607,21 @@ extension RtcEngineEventHandlerOnRemoteAudioStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalAudioStatsJson { const RtcEngineEventHandlerOnLocalAudioStatsJson( {this.connection, this.stats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'stats') final LocalAudioStats? stats; + factory RtcEngineEventHandlerOnLocalAudioStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalAudioStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalAudioStatsJsonToJson(this); } @@ -2379,17 +2640,20 @@ extension RtcEngineEventHandlerOnLocalAudioStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalVideoStatsJson { const RtcEngineEventHandlerOnLocalVideoStatsJson({this.source, this.stats}); @JsonKey(name: 'source') final VideoSourceType? source; + @JsonKey(name: 'stats') final LocalVideoStats? stats; + factory RtcEngineEventHandlerOnLocalVideoStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalVideoStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalVideoStatsJsonToJson(this); } @@ -2408,18 +2672,21 @@ extension RtcEngineEventHandlerOnLocalVideoStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteVideoStatsJson { const RtcEngineEventHandlerOnRemoteVideoStatsJson( {this.connection, this.stats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'stats') final RemoteVideoStats? stats; + factory RtcEngineEventHandlerOnRemoteVideoStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteVideoStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteVideoStatsJsonToJson(this); } @@ -2438,13 +2705,14 @@ extension RtcEngineEventHandlerOnRemoteVideoStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnCameraReadyJson { const RtcEngineEventHandlerOnCameraReadyJson(); factory RtcEngineEventHandlerOnCameraReadyJson.fromJson( Map json) => _$RtcEngineEventHandlerOnCameraReadyJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnCameraReadyJsonToJson(this); } @@ -2463,22 +2731,27 @@ extension RtcEngineEventHandlerOnCameraReadyJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnCameraFocusAreaChangedJson { const RtcEngineEventHandlerOnCameraFocusAreaChangedJson( {this.x, this.y, this.width, this.height}); @JsonKey(name: 'x') final int? x; + @JsonKey(name: 'y') final int? y; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + factory RtcEngineEventHandlerOnCameraFocusAreaChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnCameraFocusAreaChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnCameraFocusAreaChangedJsonToJson(this); } @@ -2497,22 +2770,27 @@ extension RtcEngineEventHandlerOnCameraFocusAreaChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnCameraExposureAreaChangedJson { const RtcEngineEventHandlerOnCameraExposureAreaChangedJson( {this.x, this.y, this.width, this.height}); @JsonKey(name: 'x') final int? x; + @JsonKey(name: 'y') final int? y; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + factory RtcEngineEventHandlerOnCameraExposureAreaChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnCameraExposureAreaChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnCameraExposureAreaChangedJsonToJson(this); } @@ -2531,7 +2809,7 @@ extension RtcEngineEventHandlerOnCameraExposureAreaChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFacePositionChangedJson { const RtcEngineEventHandlerOnFacePositionChangedJson( {this.imageWidth, @@ -2542,17 +2820,23 @@ class RtcEngineEventHandlerOnFacePositionChangedJson { @JsonKey(name: 'imageWidth') final int? imageWidth; + @JsonKey(name: 'imageHeight') final int? imageHeight; + @JsonKey(name: 'vecRectangle') final List? vecRectangle; + @JsonKey(name: 'vecDistance') final List? vecDistance; + @JsonKey(name: 'numFaces') final int? numFaces; + factory RtcEngineEventHandlerOnFacePositionChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFacePositionChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFacePositionChangedJsonToJson(this); } @@ -2571,13 +2855,14 @@ extension RtcEngineEventHandlerOnFacePositionChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoStoppedJson { const RtcEngineEventHandlerOnVideoStoppedJson(); factory RtcEngineEventHandlerOnVideoStoppedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoStoppedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoStoppedJsonToJson(this); } @@ -2596,18 +2881,21 @@ extension RtcEngineEventHandlerOnVideoStoppedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioMixingStateChangedJson { const RtcEngineEventHandlerOnAudioMixingStateChangedJson( {this.state, this.reason}); @JsonKey(name: 'state') final AudioMixingStateType? state; + @JsonKey(name: 'reason') final AudioMixingReasonType? reason; + factory RtcEngineEventHandlerOnAudioMixingStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioMixingStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioMixingStateChangedJsonToJson(this); } @@ -2626,18 +2914,21 @@ extension RtcEngineEventHandlerOnAudioMixingStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRhythmPlayerStateChangedJson { const RtcEngineEventHandlerOnRhythmPlayerStateChangedJson( {this.state, this.reason}); @JsonKey(name: 'state') final RhythmPlayerStateType? state; + @JsonKey(name: 'reason') final RhythmPlayerReason? reason; + factory RtcEngineEventHandlerOnRhythmPlayerStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRhythmPlayerStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRhythmPlayerStateChangedJsonToJson(this); } @@ -2656,15 +2947,17 @@ extension RtcEngineEventHandlerOnRhythmPlayerStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnConnectionLostJson { const RtcEngineEventHandlerOnConnectionLostJson({this.connection}); @JsonKey(name: 'connection') final RtcConnection? connection; + factory RtcEngineEventHandlerOnConnectionLostJson.fromJson( Map json) => _$RtcEngineEventHandlerOnConnectionLostJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnConnectionLostJsonToJson(this); } @@ -2683,15 +2976,17 @@ extension RtcEngineEventHandlerOnConnectionLostJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnConnectionInterruptedJson { const RtcEngineEventHandlerOnConnectionInterruptedJson({this.connection}); @JsonKey(name: 'connection') final RtcConnection? connection; + factory RtcEngineEventHandlerOnConnectionInterruptedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnConnectionInterruptedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnConnectionInterruptedJsonToJson(this); } @@ -2710,15 +3005,17 @@ extension RtcEngineEventHandlerOnConnectionInterruptedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnConnectionBannedJson { const RtcEngineEventHandlerOnConnectionBannedJson({this.connection}); @JsonKey(name: 'connection') final RtcConnection? connection; + factory RtcEngineEventHandlerOnConnectionBannedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnConnectionBannedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnConnectionBannedJsonToJson(this); } @@ -2737,7 +3034,7 @@ extension RtcEngineEventHandlerOnConnectionBannedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnStreamMessageJson { const RtcEngineEventHandlerOnStreamMessageJson( {this.connection, @@ -2749,19 +3046,26 @@ class RtcEngineEventHandlerOnStreamMessageJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'streamId') final int? streamId; + @JsonKey(name: 'data', ignore: true) final Uint8List? data; + @JsonKey(name: 'length') final int? length; + @JsonKey(name: 'sentTs') final int? sentTs; + factory RtcEngineEventHandlerOnStreamMessageJson.fromJson( Map json) => _$RtcEngineEventHandlerOnStreamMessageJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnStreamMessageJsonToJson(this); } @@ -2793,7 +3097,7 @@ extension RtcEngineEventHandlerOnStreamMessageJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnStreamMessageErrorJson { const RtcEngineEventHandlerOnStreamMessageErrorJson( {this.connection, @@ -2805,19 +3109,26 @@ class RtcEngineEventHandlerOnStreamMessageErrorJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'streamId') final int? streamId; + @JsonKey(name: 'code') final ErrorCodeType? code; + @JsonKey(name: 'missed') final int? missed; + @JsonKey(name: 'cached') final int? cached; + factory RtcEngineEventHandlerOnStreamMessageErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnStreamMessageErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnStreamMessageErrorJsonToJson(this); } @@ -2836,15 +3147,17 @@ extension RtcEngineEventHandlerOnStreamMessageErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRequestTokenJson { const RtcEngineEventHandlerOnRequestTokenJson({this.connection}); @JsonKey(name: 'connection') final RtcConnection? connection; + factory RtcEngineEventHandlerOnRequestTokenJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRequestTokenJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRequestTokenJsonToJson(this); } @@ -2863,18 +3176,21 @@ extension RtcEngineEventHandlerOnRequestTokenJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson { const RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson( {this.connection, this.token}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'token') final String? token; + factory RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson.fromJson( Map json) => _$RtcEngineEventHandlerOnTokenPrivilegeWillExpireJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnTokenPrivilegeWillExpireJsonToJson(this); } @@ -2893,18 +3209,21 @@ extension RtcEngineEventHandlerOnTokenPrivilegeWillExpireJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLicenseValidationFailureJson { const RtcEngineEventHandlerOnLicenseValidationFailureJson( {this.connection, this.reason}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'reason') final LicenseErrorType? reason; + factory RtcEngineEventHandlerOnLicenseValidationFailureJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLicenseValidationFailureJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLicenseValidationFailureJsonToJson(this); } @@ -2923,18 +3242,21 @@ extension RtcEngineEventHandlerOnLicenseValidationFailureJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson { const RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson( {this.connection, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJsonToJson(this); } @@ -2953,20 +3275,24 @@ extension RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson { const RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson( {this.connection, this.uid, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstRemoteAudioDecodedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstRemoteAudioDecodedJsonToJson(this); } @@ -2985,20 +3311,24 @@ extension RtcEngineEventHandlerOnFirstRemoteAudioDecodedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnFirstRemoteAudioFrameJson { const RtcEngineEventHandlerOnFirstRemoteAudioFrameJson( {this.connection, this.userId, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'userId') final int? userId; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnFirstRemoteAudioFrameJson.fromJson( Map json) => _$RtcEngineEventHandlerOnFirstRemoteAudioFrameJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnFirstRemoteAudioFrameJsonToJson(this); } @@ -3017,20 +3347,24 @@ extension RtcEngineEventHandlerOnFirstRemoteAudioFrameJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalAudioStateChangedJson { const RtcEngineEventHandlerOnLocalAudioStateChangedJson( {this.connection, this.state, this.reason}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'state') final LocalAudioStreamState? state; + @JsonKey(name: 'reason') final LocalAudioStreamReason? reason; + factory RtcEngineEventHandlerOnLocalAudioStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalAudioStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalAudioStateChangedJsonToJson(this); } @@ -3049,24 +3383,30 @@ extension RtcEngineEventHandlerOnLocalAudioStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteAudioStateChangedJson { const RtcEngineEventHandlerOnRemoteAudioStateChangedJson( {this.connection, this.remoteUid, this.state, this.reason, this.elapsed}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'state') final RemoteAudioState? state; + @JsonKey(name: 'reason') final RemoteAudioStateReason? reason; + @JsonKey(name: 'elapsed') final int? elapsed; + factory RtcEngineEventHandlerOnRemoteAudioStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteAudioStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteAudioStateChangedJsonToJson(this); } @@ -3085,17 +3425,20 @@ extension RtcEngineEventHandlerOnRemoteAudioStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnActiveSpeakerJson { const RtcEngineEventHandlerOnActiveSpeakerJson({this.connection, this.uid}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'uid') final int? uid; + factory RtcEngineEventHandlerOnActiveSpeakerJson.fromJson( Map json) => _$RtcEngineEventHandlerOnActiveSpeakerJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnActiveSpeakerJsonToJson(this); } @@ -3114,15 +3457,17 @@ extension RtcEngineEventHandlerOnActiveSpeakerJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnContentInspectResultJson { const RtcEngineEventHandlerOnContentInspectResultJson({this.result}); @JsonKey(name: 'result') final ContentInspectResult? result; + factory RtcEngineEventHandlerOnContentInspectResultJson.fromJson( Map json) => _$RtcEngineEventHandlerOnContentInspectResultJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnContentInspectResultJsonToJson(this); } @@ -3141,7 +3486,7 @@ extension RtcEngineEventHandlerOnContentInspectResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnSnapshotTakenJson { const RtcEngineEventHandlerOnSnapshotTakenJson( {this.connection, @@ -3153,19 +3498,26 @@ class RtcEngineEventHandlerOnSnapshotTakenJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'filePath') final String? filePath; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'errCode') final int? errCode; + factory RtcEngineEventHandlerOnSnapshotTakenJson.fromJson( Map json) => _$RtcEngineEventHandlerOnSnapshotTakenJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnSnapshotTakenJsonToJson(this); } @@ -3184,22 +3536,27 @@ extension RtcEngineEventHandlerOnSnapshotTakenJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnClientRoleChangedJson { const RtcEngineEventHandlerOnClientRoleChangedJson( {this.connection, this.oldRole, this.newRole, this.newRoleOptions}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'oldRole') final ClientRoleType? oldRole; + @JsonKey(name: 'newRole') final ClientRoleType? newRole; + @JsonKey(name: 'newRoleOptions') final ClientRoleOptions? newRoleOptions; + factory RtcEngineEventHandlerOnClientRoleChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnClientRoleChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnClientRoleChangedJsonToJson(this); } @@ -3218,20 +3575,24 @@ extension RtcEngineEventHandlerOnClientRoleChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnClientRoleChangeFailedJson { const RtcEngineEventHandlerOnClientRoleChangeFailedJson( {this.connection, this.reason, this.currentRole}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'reason') final ClientRoleChangeFailedReason? reason; + @JsonKey(name: 'currentRole') final ClientRoleType? currentRole; + factory RtcEngineEventHandlerOnClientRoleChangeFailedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnClientRoleChangeFailedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnClientRoleChangeFailedJsonToJson(this); } @@ -3250,20 +3611,24 @@ extension RtcEngineEventHandlerOnClientRoleChangeFailedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson { const RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson( {this.deviceType, this.volume, this.muted}); @JsonKey(name: 'deviceType') final MediaDeviceType? deviceType; + @JsonKey(name: 'volume') final int? volume; + @JsonKey(name: 'muted') final bool? muted; + factory RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioDeviceVolumeChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioDeviceVolumeChangedJsonToJson(this); } @@ -3282,20 +3647,24 @@ extension RtcEngineEventHandlerOnAudioDeviceVolumeChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRtmpStreamingStateChangedJson { const RtcEngineEventHandlerOnRtmpStreamingStateChangedJson( {this.url, this.state, this.reason}); @JsonKey(name: 'url') final String? url; + @JsonKey(name: 'state') final RtmpStreamPublishState? state; + @JsonKey(name: 'reason') final RtmpStreamPublishReason? reason; + factory RtcEngineEventHandlerOnRtmpStreamingStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRtmpStreamingStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRtmpStreamingStateChangedJsonToJson(this); } @@ -3314,18 +3683,21 @@ extension RtcEngineEventHandlerOnRtmpStreamingStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRtmpStreamingEventJson { const RtcEngineEventHandlerOnRtmpStreamingEventJson( {this.url, this.eventCode}); @JsonKey(name: 'url') final String? url; + @JsonKey(name: 'eventCode') final RtmpStreamingEvent? eventCode; + factory RtcEngineEventHandlerOnRtmpStreamingEventJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRtmpStreamingEventJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRtmpStreamingEventJsonToJson(this); } @@ -3344,13 +3716,14 @@ extension RtcEngineEventHandlerOnRtmpStreamingEventJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnTranscodingUpdatedJson { const RtcEngineEventHandlerOnTranscodingUpdatedJson(); factory RtcEngineEventHandlerOnTranscodingUpdatedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnTranscodingUpdatedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnTranscodingUpdatedJsonToJson(this); } @@ -3369,15 +3742,17 @@ extension RtcEngineEventHandlerOnTranscodingUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioRoutingChangedJson { const RtcEngineEventHandlerOnAudioRoutingChangedJson({this.routing}); @JsonKey(name: 'routing') final int? routing; + factory RtcEngineEventHandlerOnAudioRoutingChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioRoutingChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioRoutingChangedJsonToJson(this); } @@ -3396,18 +3771,21 @@ extension RtcEngineEventHandlerOnAudioRoutingChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson { const RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson( {this.state, this.code}); @JsonKey(name: 'state') final ChannelMediaRelayState? state; + @JsonKey(name: 'code') final ChannelMediaRelayError? code; + factory RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonToJson(this); } @@ -3426,17 +3804,19 @@ extension RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson { const RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson( {this.isFallbackOrRecover}); @JsonKey(name: 'isFallbackOrRecover') final bool? isFallbackOrRecover; + factory RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJsonFromJson( json); + Map toJson() => _$RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJsonToJson(this); } @@ -3455,19 +3835,22 @@ extension RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson { const RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson( {this.uid, this.isFallbackOrRecover}); @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'isFallbackOrRecover') final bool? isFallbackOrRecover; + factory RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJsonFromJson( json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJsonToJson( this); @@ -3487,7 +3870,7 @@ extension RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteAudioTransportStatsJson { const RtcEngineEventHandlerOnRemoteAudioTransportStatsJson( {this.connection, @@ -3498,17 +3881,23 @@ class RtcEngineEventHandlerOnRemoteAudioTransportStatsJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'delay') final int? delay; + @JsonKey(name: 'lost') final int? lost; + @JsonKey(name: 'rxKBitRate') final int? rxKBitRate; + factory RtcEngineEventHandlerOnRemoteAudioTransportStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteAudioTransportStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteAudioTransportStatsJsonToJson(this); } @@ -3527,7 +3916,7 @@ extension RtcEngineEventHandlerOnRemoteAudioTransportStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnRemoteVideoTransportStatsJson { const RtcEngineEventHandlerOnRemoteVideoTransportStatsJson( {this.connection, @@ -3538,17 +3927,23 @@ class RtcEngineEventHandlerOnRemoteVideoTransportStatsJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'delay') final int? delay; + @JsonKey(name: 'lost') final int? lost; + @JsonKey(name: 'rxKBitRate') final int? rxKBitRate; + factory RtcEngineEventHandlerOnRemoteVideoTransportStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnRemoteVideoTransportStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnRemoteVideoTransportStatsJsonToJson(this); } @@ -3567,20 +3962,24 @@ extension RtcEngineEventHandlerOnRemoteVideoTransportStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnConnectionStateChangedJson { const RtcEngineEventHandlerOnConnectionStateChangedJson( {this.connection, this.state, this.reason}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'state') final ConnectionStateType? state; + @JsonKey(name: 'reason') final ConnectionChangedReasonType? reason; + factory RtcEngineEventHandlerOnConnectionStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnConnectionStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnConnectionStateChangedJsonToJson(this); } @@ -3599,22 +3998,27 @@ extension RtcEngineEventHandlerOnConnectionStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnWlAccMessageJson { const RtcEngineEventHandlerOnWlAccMessageJson( {this.connection, this.reason, this.action, this.wlAccMsg}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'reason') final WlaccMessageReason? reason; + @JsonKey(name: 'action') final WlaccSuggestAction? action; + @JsonKey(name: 'wlAccMsg') final String? wlAccMsg; + factory RtcEngineEventHandlerOnWlAccMessageJson.fromJson( Map json) => _$RtcEngineEventHandlerOnWlAccMessageJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnWlAccMessageJsonToJson(this); } @@ -3633,20 +4037,24 @@ extension RtcEngineEventHandlerOnWlAccMessageJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnWlAccStatsJson { const RtcEngineEventHandlerOnWlAccStatsJson( {this.connection, this.currentStats, this.averageStats}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'currentStats') final WlAccStats? currentStats; + @JsonKey(name: 'averageStats') final WlAccStats? averageStats; + factory RtcEngineEventHandlerOnWlAccStatsJson.fromJson( Map json) => _$RtcEngineEventHandlerOnWlAccStatsJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnWlAccStatsJsonToJson(this); } @@ -3665,18 +4073,21 @@ extension RtcEngineEventHandlerOnWlAccStatsJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnNetworkTypeChangedJson { const RtcEngineEventHandlerOnNetworkTypeChangedJson( {this.connection, this.type}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'type') final NetworkType? type; + factory RtcEngineEventHandlerOnNetworkTypeChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnNetworkTypeChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnNetworkTypeChangedJsonToJson(this); } @@ -3695,18 +4106,21 @@ extension RtcEngineEventHandlerOnNetworkTypeChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnEncryptionErrorJson { const RtcEngineEventHandlerOnEncryptionErrorJson( {this.connection, this.errorType}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'errorType') final EncryptionErrorType? errorType; + factory RtcEngineEventHandlerOnEncryptionErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnEncryptionErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnEncryptionErrorJsonToJson(this); } @@ -3725,15 +4139,17 @@ extension RtcEngineEventHandlerOnEncryptionErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnPermissionErrorJson { const RtcEngineEventHandlerOnPermissionErrorJson({this.permissionType}); @JsonKey(name: 'permissionType') final PermissionType? permissionType; + factory RtcEngineEventHandlerOnPermissionErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnPermissionErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnPermissionErrorJsonToJson(this); } @@ -3752,18 +4168,21 @@ extension RtcEngineEventHandlerOnPermissionErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalUserRegisteredJson { const RtcEngineEventHandlerOnLocalUserRegisteredJson( {this.uid, this.userAccount}); @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'userAccount') final String? userAccount; + factory RtcEngineEventHandlerOnLocalUserRegisteredJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalUserRegisteredJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalUserRegisteredJsonToJson(this); } @@ -3782,17 +4201,20 @@ extension RtcEngineEventHandlerOnLocalUserRegisteredJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserInfoUpdatedJson { const RtcEngineEventHandlerOnUserInfoUpdatedJson({this.uid, this.info}); @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'info') final UserInfo? info; + factory RtcEngineEventHandlerOnUserInfoUpdatedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserInfoUpdatedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserInfoUpdatedJsonToJson(this); } @@ -3811,20 +4233,24 @@ extension RtcEngineEventHandlerOnUserInfoUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUserAccountUpdatedJson { const RtcEngineEventHandlerOnUserAccountUpdatedJson( {this.connection, this.remoteUid, this.remoteUserAccount}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'remoteUid') final int? remoteUid; + @JsonKey(name: 'remoteUserAccount') final String? remoteUserAccount; + factory RtcEngineEventHandlerOnUserAccountUpdatedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUserAccountUpdatedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUserAccountUpdatedJsonToJson(this); } @@ -3843,22 +4269,27 @@ extension RtcEngineEventHandlerOnUserAccountUpdatedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoRenderingTracingResultJson { const RtcEngineEventHandlerOnVideoRenderingTracingResultJson( {this.connection, this.uid, this.currentEvent, this.tracingInfo}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'currentEvent') final MediaTraceEvent? currentEvent; + @JsonKey(name: 'tracingInfo') final VideoRenderingTracingInfo? tracingInfo; + factory RtcEngineEventHandlerOnVideoRenderingTracingResultJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoRenderingTracingResultJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoRenderingTracingResultJsonToJson(this); } @@ -3877,18 +4308,21 @@ extension RtcEngineEventHandlerOnVideoRenderingTracingResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson { const RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson( {this.stream, this.error}); @JsonKey(name: 'stream') final TranscodingVideoStream? stream; + @JsonKey(name: 'error') final VideoTranscoderError? error; + factory RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnLocalVideoTranscoderErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnLocalVideoTranscoderErrorJsonToJson(this); } @@ -3907,22 +4341,27 @@ extension RtcEngineEventHandlerOnLocalVideoTranscoderErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnUploadLogResultJson { const RtcEngineEventHandlerOnUploadLogResultJson( {this.connection, this.requestId, this.success, this.reason}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'requestId') final String? requestId; + @JsonKey(name: 'success') final bool? success; + @JsonKey(name: 'reason') final UploadErrorReason? reason; + factory RtcEngineEventHandlerOnUploadLogResultJson.fromJson( Map json) => _$RtcEngineEventHandlerOnUploadLogResultJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnUploadLogResultJsonToJson(this); } @@ -3941,7 +4380,7 @@ extension RtcEngineEventHandlerOnUploadLogResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioSubscribeStateChangedJson { const RtcEngineEventHandlerOnAudioSubscribeStateChangedJson( {this.channel, @@ -3952,17 +4391,23 @@ class RtcEngineEventHandlerOnAudioSubscribeStateChangedJson { @JsonKey(name: 'channel') final String? channel; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'oldState') final StreamSubscribeState? oldState; + @JsonKey(name: 'newState') final StreamSubscribeState? newState; + @JsonKey(name: 'elapseSinceLastState') final int? elapseSinceLastState; + factory RtcEngineEventHandlerOnAudioSubscribeStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioSubscribeStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioSubscribeStateChangedJsonToJson(this); } @@ -3981,7 +4426,7 @@ extension RtcEngineEventHandlerOnAudioSubscribeStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoSubscribeStateChangedJson { const RtcEngineEventHandlerOnVideoSubscribeStateChangedJson( {this.channel, @@ -3992,17 +4437,23 @@ class RtcEngineEventHandlerOnVideoSubscribeStateChangedJson { @JsonKey(name: 'channel') final String? channel; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'oldState') final StreamSubscribeState? oldState; + @JsonKey(name: 'newState') final StreamSubscribeState? newState; + @JsonKey(name: 'elapseSinceLastState') final int? elapseSinceLastState; + factory RtcEngineEventHandlerOnVideoSubscribeStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoSubscribeStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoSubscribeStateChangedJsonToJson(this); } @@ -4021,22 +4472,27 @@ extension RtcEngineEventHandlerOnVideoSubscribeStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnAudioPublishStateChangedJson { const RtcEngineEventHandlerOnAudioPublishStateChangedJson( {this.channel, this.oldState, this.newState, this.elapseSinceLastState}); @JsonKey(name: 'channel') final String? channel; + @JsonKey(name: 'oldState') final StreamPublishState? oldState; + @JsonKey(name: 'newState') final StreamPublishState? newState; + @JsonKey(name: 'elapseSinceLastState') final int? elapseSinceLastState; + factory RtcEngineEventHandlerOnAudioPublishStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnAudioPublishStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnAudioPublishStateChangedJsonToJson(this); } @@ -4055,7 +4511,7 @@ extension RtcEngineEventHandlerOnAudioPublishStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnVideoPublishStateChangedJson { const RtcEngineEventHandlerOnVideoPublishStateChangedJson( {this.source, @@ -4066,17 +4522,23 @@ class RtcEngineEventHandlerOnVideoPublishStateChangedJson { @JsonKey(name: 'source') final VideoSourceType? source; + @JsonKey(name: 'channel') final String? channel; + @JsonKey(name: 'oldState') final StreamPublishState? oldState; + @JsonKey(name: 'newState') final StreamPublishState? newState; + @JsonKey(name: 'elapseSinceLastState') final int? elapseSinceLastState; + factory RtcEngineEventHandlerOnVideoPublishStateChangedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnVideoPublishStateChangedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnVideoPublishStateChangedJsonToJson(this); } @@ -4095,7 +4557,7 @@ extension RtcEngineEventHandlerOnVideoPublishStateChangedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson { const RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson( {this.connection, @@ -4107,19 +4569,26 @@ class RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson { @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'uid') final int? uid; + @JsonKey(name: 'width') final int? width; + @JsonKey(name: 'height') final int? height; + @JsonKey(name: 'layoutCount') final int? layoutCount; + @JsonKey(name: 'layoutlist') final List? layoutlist; + factory RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson.fromJson( Map json) => _$RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJsonToJson(this); } @@ -4138,22 +4607,27 @@ extension RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnExtensionEventJson { const RtcEngineEventHandlerOnExtensionEventJson( {this.provider, this.extension, this.key, this.value}); @JsonKey(name: 'provider') final String? provider; + @JsonKey(name: 'extension') final String? extension; + @JsonKey(name: 'key') final String? key; + @JsonKey(name: 'value') final String? value; + factory RtcEngineEventHandlerOnExtensionEventJson.fromJson( Map json) => _$RtcEngineEventHandlerOnExtensionEventJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnExtensionEventJsonToJson(this); } @@ -4172,18 +4646,21 @@ extension RtcEngineEventHandlerOnExtensionEventJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnExtensionStartedJson { const RtcEngineEventHandlerOnExtensionStartedJson( {this.provider, this.extension}); @JsonKey(name: 'provider') final String? provider; + @JsonKey(name: 'extension') final String? extension; + factory RtcEngineEventHandlerOnExtensionStartedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnExtensionStartedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnExtensionStartedJsonToJson(this); } @@ -4202,18 +4679,21 @@ extension RtcEngineEventHandlerOnExtensionStartedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnExtensionStoppedJson { const RtcEngineEventHandlerOnExtensionStoppedJson( {this.provider, this.extension}); @JsonKey(name: 'provider') final String? provider; + @JsonKey(name: 'extension') final String? extension; + factory RtcEngineEventHandlerOnExtensionStoppedJson.fromJson( Map json) => _$RtcEngineEventHandlerOnExtensionStoppedJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnExtensionStoppedJsonToJson(this); } @@ -4232,22 +4712,27 @@ extension RtcEngineEventHandlerOnExtensionStoppedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnExtensionErrorJson { const RtcEngineEventHandlerOnExtensionErrorJson( {this.provider, this.extension, this.error, this.message}); @JsonKey(name: 'provider') final String? provider; + @JsonKey(name: 'extension') final String? extension; + @JsonKey(name: 'error') final int? error; + @JsonKey(name: 'message') final String? message; + factory RtcEngineEventHandlerOnExtensionErrorJson.fromJson( Map json) => _$RtcEngineEventHandlerOnExtensionErrorJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnExtensionErrorJsonToJson(this); } @@ -4266,18 +4751,21 @@ extension RtcEngineEventHandlerOnExtensionErrorJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineEventHandlerOnSetRtmFlagResultJson { const RtcEngineEventHandlerOnSetRtmFlagResultJson( {this.connection, this.code}); @JsonKey(name: 'connection') final RtcConnection? connection; + @JsonKey(name: 'code') final int? code; + factory RtcEngineEventHandlerOnSetRtmFlagResultJson.fromJson( Map json) => _$RtcEngineEventHandlerOnSetRtmFlagResultJsonFromJson(json); + Map toJson() => _$RtcEngineEventHandlerOnSetRtmFlagResultJsonToJson(this); } @@ -4296,15 +4784,17 @@ extension RtcEngineEventHandlerOnSetRtmFlagResultJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class MetadataObserverOnMetadataReceivedJson { const MetadataObserverOnMetadataReceivedJson({this.metadata}); @JsonKey(name: 'metadata') final Metadata? metadata; + factory MetadataObserverOnMetadataReceivedJson.fromJson( Map json) => _$MetadataObserverOnMetadataReceivedJsonFromJson(json); + Map toJson() => _$MetadataObserverOnMetadataReceivedJsonToJson(this); } @@ -4323,21 +4813,25 @@ extension MetadataObserverOnMetadataReceivedJsonBufferExt } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson { const DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson( {this.state, this.reason, this.message}); @JsonKey(name: 'state') final DirectCdnStreamingState? state; + @JsonKey(name: 'reason') final DirectCdnStreamingReason? reason; + @JsonKey(name: 'message') final String? message; + factory DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson.fromJson( Map json) => _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJsonFromJson( json); + Map toJson() => _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJsonToJson( this); @@ -4357,17 +4851,19 @@ extension DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJsonBuff } } -@JsonSerializable(explicitToJson: true) +@JsonSerializable(explicitToJson: true, includeIfNull: false) class DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson { const DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson( {this.stats}); @JsonKey(name: 'stats') final DirectCdnStreamingStats? stats; + factory DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson.fromJson( Map json) => _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJsonFromJson( json); + Map toJson() => _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJsonToJson(this); } diff --git a/lib/src/binding/event_handler_param_json.g.dart b/lib/src/binding/event_handler_param_json.g.dart index e2bb06356..1a91e2530 100644 --- a/lib/src/binding/event_handler_param_json.g.dart +++ b/lib/src/binding/event_handler_param_json.g.dart @@ -21,11 +21,20 @@ AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson Map _$AudioEncodedFrameObserverOnRecordAudioEncodedFrameJsonToJson( - AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson instance) => - { - 'length': instance.length, - 'audioEncodedFrameInfo': instance.audioEncodedFrameInfo?.toJson(), - }; + AudioEncodedFrameObserverOnRecordAudioEncodedFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('length', instance.length); + writeNotNull( + 'audioEncodedFrameInfo', instance.audioEncodedFrameInfo?.toJson()); + return val; +} AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson _$AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonFromJson( @@ -38,13 +47,22 @@ AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson json['audioEncodedFrameInfo'] as Map), ); -Map _$AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonToJson( - AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson instance) => - { - 'length': instance.length, - 'audioEncodedFrameInfo': instance.audioEncodedFrameInfo?.toJson(), - }; +Map + _$AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJsonToJson( + AudioEncodedFrameObserverOnPlaybackAudioEncodedFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('length', instance.length); + writeNotNull( + 'audioEncodedFrameInfo', instance.audioEncodedFrameInfo?.toJson()); + return val; +} AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson _$AudioEncodedFrameObserverOnMixedAudioEncodedFrameJsonFromJson( @@ -59,11 +77,20 @@ AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson Map _$AudioEncodedFrameObserverOnMixedAudioEncodedFrameJsonToJson( - AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson instance) => - { - 'length': instance.length, - 'audioEncodedFrameInfo': instance.audioEncodedFrameInfo?.toJson(), - }; + AudioEncodedFrameObserverOnMixedAudioEncodedFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('length', instance.length); + writeNotNull( + 'audioEncodedFrameInfo', instance.audioEncodedFrameInfo?.toJson()); + return val; +} AudioPcmFrameSinkOnFrameJson _$AudioPcmFrameSinkOnFrameJsonFromJson( Map json) => @@ -74,10 +101,18 @@ AudioPcmFrameSinkOnFrameJson _$AudioPcmFrameSinkOnFrameJsonFromJson( ); Map _$AudioPcmFrameSinkOnFrameJsonToJson( - AudioPcmFrameSinkOnFrameJson instance) => - { - 'frame': instance.frame?.toJson(), - }; + AudioPcmFrameSinkOnFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('frame', instance.frame?.toJson()); + return val; +} AudioFrameObserverBaseOnRecordAudioFrameJson _$AudioFrameObserverBaseOnRecordAudioFrameJsonFromJson( @@ -90,11 +125,19 @@ AudioFrameObserverBaseOnRecordAudioFrameJson ); Map _$AudioFrameObserverBaseOnRecordAudioFrameJsonToJson( - AudioFrameObserverBaseOnRecordAudioFrameJson instance) => - { - 'channelId': instance.channelId, - 'audioFrame': instance.audioFrame?.toJson(), - }; + AudioFrameObserverBaseOnRecordAudioFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('audioFrame', instance.audioFrame?.toJson()); + return val; +} AudioFrameObserverBaseOnPlaybackAudioFrameJson _$AudioFrameObserverBaseOnPlaybackAudioFrameJsonFromJson( @@ -107,11 +150,19 @@ AudioFrameObserverBaseOnPlaybackAudioFrameJson ); Map _$AudioFrameObserverBaseOnPlaybackAudioFrameJsonToJson( - AudioFrameObserverBaseOnPlaybackAudioFrameJson instance) => - { - 'channelId': instance.channelId, - 'audioFrame': instance.audioFrame?.toJson(), - }; + AudioFrameObserverBaseOnPlaybackAudioFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('audioFrame', instance.audioFrame?.toJson()); + return val; +} AudioFrameObserverBaseOnMixedAudioFrameJson _$AudioFrameObserverBaseOnMixedAudioFrameJsonFromJson( @@ -124,11 +175,19 @@ AudioFrameObserverBaseOnMixedAudioFrameJson ); Map _$AudioFrameObserverBaseOnMixedAudioFrameJsonToJson( - AudioFrameObserverBaseOnMixedAudioFrameJson instance) => - { - 'channelId': instance.channelId, - 'audioFrame': instance.audioFrame?.toJson(), - }; + AudioFrameObserverBaseOnMixedAudioFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('audioFrame', instance.audioFrame?.toJson()); + return val; +} AudioFrameObserverBaseOnEarMonitoringAudioFrameJson _$AudioFrameObserverBaseOnEarMonitoringAudioFrameJsonFromJson( @@ -141,10 +200,18 @@ AudioFrameObserverBaseOnEarMonitoringAudioFrameJson Map _$AudioFrameObserverBaseOnEarMonitoringAudioFrameJsonToJson( - AudioFrameObserverBaseOnEarMonitoringAudioFrameJson instance) => - { - 'audioFrame': instance.audioFrame?.toJson(), - }; + AudioFrameObserverBaseOnEarMonitoringAudioFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('audioFrame', instance.audioFrame?.toJson()); + return val; +} AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson _$AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJsonFromJson( @@ -159,12 +226,20 @@ AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson Map _$AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJsonToJson( - AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson instance) => - { - 'channelId': instance.channelId, - 'uid': instance.uid, - 'audioFrame': instance.audioFrame?.toJson(), - }; + AudioFrameObserverOnPlaybackAudioFrameBeforeMixingJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('uid', instance.uid); + writeNotNull('audioFrame', instance.audioFrame?.toJson()); + return val; +} AudioSpectrumObserverOnLocalAudioSpectrumJson _$AudioSpectrumObserverOnLocalAudioSpectrumJsonFromJson( @@ -177,10 +252,18 @@ AudioSpectrumObserverOnLocalAudioSpectrumJson ); Map _$AudioSpectrumObserverOnLocalAudioSpectrumJsonToJson( - AudioSpectrumObserverOnLocalAudioSpectrumJson instance) => - { - 'data': instance.data?.toJson(), - }; + AudioSpectrumObserverOnLocalAudioSpectrumJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('data', instance.data?.toJson()); + return val; +} AudioSpectrumObserverOnRemoteAudioSpectrumJson _$AudioSpectrumObserverOnRemoteAudioSpectrumJsonFromJson( @@ -194,11 +277,20 @@ AudioSpectrumObserverOnRemoteAudioSpectrumJson ); Map _$AudioSpectrumObserverOnRemoteAudioSpectrumJsonToJson( - AudioSpectrumObserverOnRemoteAudioSpectrumJson instance) => - { - 'spectrums': instance.spectrums?.map((e) => e.toJson()).toList(), - 'spectrumNumber': instance.spectrumNumber, - }; + AudioSpectrumObserverOnRemoteAudioSpectrumJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull( + 'spectrums', instance.spectrums?.map((e) => e.toJson()).toList()); + writeNotNull('spectrumNumber', instance.spectrumNumber); + return val; +} VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson _$VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonFromJson( @@ -212,14 +304,23 @@ VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson json['videoEncodedFrameInfo'] as Map), ); -Map _$VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonToJson( - VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson instance) => - { - 'uid': instance.uid, - 'length': instance.length, - 'videoEncodedFrameInfo': instance.videoEncodedFrameInfo?.toJson(), - }; +Map + _$VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJsonToJson( + VideoEncodedFrameObserverOnEncodedVideoFrameReceivedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('uid', instance.uid); + writeNotNull('length', instance.length); + writeNotNull( + 'videoEncodedFrameInfo', instance.videoEncodedFrameInfo?.toJson()); + return val; +} VideoFrameObserverOnCaptureVideoFrameJson _$VideoFrameObserverOnCaptureVideoFrameJsonFromJson( @@ -233,11 +334,19 @@ VideoFrameObserverOnCaptureVideoFrameJson ); Map _$VideoFrameObserverOnCaptureVideoFrameJsonToJson( - VideoFrameObserverOnCaptureVideoFrameJson instance) => - { - 'sourceType': _$VideoSourceTypeEnumMap[instance.sourceType], - 'videoFrame': instance.videoFrame?.toJson(), - }; + VideoFrameObserverOnCaptureVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('sourceType', _$VideoSourceTypeEnumMap[instance.sourceType]); + writeNotNull('videoFrame', instance.videoFrame?.toJson()); + return val; +} const _$VideoSourceTypeEnumMap = { VideoSourceType.videoSourceCameraPrimary: 0, @@ -272,11 +381,19 @@ VideoFrameObserverOnPreEncodeVideoFrameJson ); Map _$VideoFrameObserverOnPreEncodeVideoFrameJsonToJson( - VideoFrameObserverOnPreEncodeVideoFrameJson instance) => - { - 'sourceType': _$VideoSourceTypeEnumMap[instance.sourceType], - 'videoFrame': instance.videoFrame?.toJson(), - }; + VideoFrameObserverOnPreEncodeVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('sourceType', _$VideoSourceTypeEnumMap[instance.sourceType]); + writeNotNull('videoFrame', instance.videoFrame?.toJson()); + return val; +} VideoFrameObserverOnMediaPlayerVideoFrameJson _$VideoFrameObserverOnMediaPlayerVideoFrameJsonFromJson( @@ -289,11 +406,19 @@ VideoFrameObserverOnMediaPlayerVideoFrameJson ); Map _$VideoFrameObserverOnMediaPlayerVideoFrameJsonToJson( - VideoFrameObserverOnMediaPlayerVideoFrameJson instance) => - { - 'videoFrame': instance.videoFrame?.toJson(), - 'mediaPlayerId': instance.mediaPlayerId, - }; + VideoFrameObserverOnMediaPlayerVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('videoFrame', instance.videoFrame?.toJson()); + writeNotNull('mediaPlayerId', instance.mediaPlayerId); + return val; +} VideoFrameObserverOnRenderVideoFrameJson _$VideoFrameObserverOnRenderVideoFrameJsonFromJson( @@ -307,12 +432,20 @@ VideoFrameObserverOnRenderVideoFrameJson ); Map _$VideoFrameObserverOnRenderVideoFrameJsonToJson( - VideoFrameObserverOnRenderVideoFrameJson instance) => - { - 'channelId': instance.channelId, - 'remoteUid': instance.remoteUid, - 'videoFrame': instance.videoFrame?.toJson(), - }; + VideoFrameObserverOnRenderVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('videoFrame', instance.videoFrame?.toJson()); + return val; +} VideoFrameObserverOnTranscodedVideoFrameJson _$VideoFrameObserverOnTranscodedVideoFrameJsonFromJson( @@ -324,10 +457,18 @@ VideoFrameObserverOnTranscodedVideoFrameJson ); Map _$VideoFrameObserverOnTranscodedVideoFrameJsonToJson( - VideoFrameObserverOnTranscodedVideoFrameJson instance) => - { - 'videoFrame': instance.videoFrame?.toJson(), - }; + VideoFrameObserverOnTranscodedVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('videoFrame', instance.videoFrame?.toJson()); + return val; +} MediaRecorderObserverOnRecorderStateChangedJson _$MediaRecorderObserverOnRecorderStateChangedJsonFromJson( @@ -341,13 +482,21 @@ MediaRecorderObserverOnRecorderStateChangedJson ); Map _$MediaRecorderObserverOnRecorderStateChangedJsonToJson( - MediaRecorderObserverOnRecorderStateChangedJson instance) => - { - 'channelId': instance.channelId, - 'uid': instance.uid, - 'state': _$RecorderStateEnumMap[instance.state], - 'reason': _$RecorderReasonCodeEnumMap[instance.reason], - }; + MediaRecorderObserverOnRecorderStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('uid', instance.uid); + writeNotNull('state', _$RecorderStateEnumMap[instance.state]); + writeNotNull('reason', _$RecorderReasonCodeEnumMap[instance.reason]); + return val; +} const _$RecorderStateEnumMap = { RecorderState.recorderStateError: -1, @@ -375,12 +524,20 @@ MediaRecorderObserverOnRecorderInfoUpdatedJson ); Map _$MediaRecorderObserverOnRecorderInfoUpdatedJsonToJson( - MediaRecorderObserverOnRecorderInfoUpdatedJson instance) => - { - 'channelId': instance.channelId, - 'uid': instance.uid, - 'info': instance.info?.toJson(), - }; + MediaRecorderObserverOnRecorderInfoUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channelId', instance.channelId); + writeNotNull('uid', instance.uid); + writeNotNull('info', instance.info?.toJson()); + return val; +} H265TranscoderObserverOnEnableTranscodeJson _$H265TranscoderObserverOnEnableTranscodeJsonFromJson( @@ -391,10 +548,18 @@ H265TranscoderObserverOnEnableTranscodeJson ); Map _$H265TranscoderObserverOnEnableTranscodeJsonToJson( - H265TranscoderObserverOnEnableTranscodeJson instance) => - { - 'result': _$H265TranscodeResultEnumMap[instance.result], - }; + H265TranscoderObserverOnEnableTranscodeJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('result', _$H265TranscodeResultEnumMap[instance.result]); + return val; +} const _$H265TranscodeResultEnumMap = { H265TranscodeResult.h265TranscodeResultUnknown: -1, @@ -422,12 +587,20 @@ H265TranscoderObserverOnQueryChannelJson ); Map _$H265TranscoderObserverOnQueryChannelJsonToJson( - H265TranscoderObserverOnQueryChannelJson instance) => - { - 'result': _$H265TranscodeResultEnumMap[instance.result], - 'originChannel': instance.originChannel, - 'transcodeChannel': instance.transcodeChannel, - }; + H265TranscoderObserverOnQueryChannelJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('result', _$H265TranscodeResultEnumMap[instance.result]); + writeNotNull('originChannel', instance.originChannel); + writeNotNull('transcodeChannel', instance.transcodeChannel); + return val; +} H265TranscoderObserverOnTriggerTranscodeJson _$H265TranscoderObserverOnTriggerTranscodeJsonFromJson( @@ -438,10 +611,18 @@ H265TranscoderObserverOnTriggerTranscodeJson ); Map _$H265TranscoderObserverOnTriggerTranscodeJsonToJson( - H265TranscoderObserverOnTriggerTranscodeJson instance) => - { - 'result': _$H265TranscodeResultEnumMap[instance.result], - }; + H265TranscoderObserverOnTriggerTranscodeJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('result', _$H265TranscodeResultEnumMap[instance.result]); + return val; +} MediaPlayerVideoFrameObserverOnFrameJson _$MediaPlayerVideoFrameObserverOnFrameJsonFromJson( @@ -453,10 +634,18 @@ MediaPlayerVideoFrameObserverOnFrameJson ); Map _$MediaPlayerVideoFrameObserverOnFrameJsonToJson( - MediaPlayerVideoFrameObserverOnFrameJson instance) => - { - 'frame': instance.frame?.toJson(), - }; + MediaPlayerVideoFrameObserverOnFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('frame', instance.frame?.toJson()); + return val; +} MediaPlayerSourceObserverOnPlayerSourceStateChangedJson _$MediaPlayerSourceObserverOnPlayerSourceStateChangedJsonFromJson( @@ -469,11 +658,19 @@ MediaPlayerSourceObserverOnPlayerSourceStateChangedJson Map _$MediaPlayerSourceObserverOnPlayerSourceStateChangedJsonToJson( - MediaPlayerSourceObserverOnPlayerSourceStateChangedJson instance) => - { - 'state': _$MediaPlayerStateEnumMap[instance.state], - 'reason': _$MediaPlayerReasonEnumMap[instance.reason], - }; + MediaPlayerSourceObserverOnPlayerSourceStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('state', _$MediaPlayerStateEnumMap[instance.state]); + writeNotNull('reason', _$MediaPlayerReasonEnumMap[instance.reason]); + return val; +} const _$MediaPlayerStateEnumMap = { MediaPlayerState.playerStateIdle: 0, @@ -524,11 +721,19 @@ MediaPlayerSourceObserverOnPositionChangedJson ); Map _$MediaPlayerSourceObserverOnPositionChangedJsonToJson( - MediaPlayerSourceObserverOnPositionChangedJson instance) => - { - 'positionMs': instance.positionMs, - 'timestampMs': instance.timestampMs, - }; + MediaPlayerSourceObserverOnPositionChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('positionMs', instance.positionMs); + writeNotNull('timestampMs', instance.timestampMs); + return val; +} MediaPlayerSourceObserverOnPlayerEventJson _$MediaPlayerSourceObserverOnPlayerEventJsonFromJson( @@ -541,12 +746,20 @@ MediaPlayerSourceObserverOnPlayerEventJson ); Map _$MediaPlayerSourceObserverOnPlayerEventJsonToJson( - MediaPlayerSourceObserverOnPlayerEventJson instance) => - { - 'eventCode': _$MediaPlayerEventEnumMap[instance.eventCode], - 'elapsedTime': instance.elapsedTime, - 'message': instance.message, - }; + MediaPlayerSourceObserverOnPlayerEventJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('eventCode', _$MediaPlayerEventEnumMap[instance.eventCode]); + writeNotNull('elapsedTime', instance.elapsedTime); + writeNotNull('message', instance.message); + return val; +} const _$MediaPlayerEventEnumMap = { MediaPlayerEvent.playerEventSeekBegin: 0, @@ -576,10 +789,18 @@ MediaPlayerSourceObserverOnMetaDataJson ); Map _$MediaPlayerSourceObserverOnMetaDataJsonToJson( - MediaPlayerSourceObserverOnMetaDataJson instance) => - { - 'length': instance.length, - }; + MediaPlayerSourceObserverOnMetaDataJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('length', instance.length); + return val; +} MediaPlayerSourceObserverOnPlayBufferUpdatedJson _$MediaPlayerSourceObserverOnPlayBufferUpdatedJsonFromJson( @@ -589,10 +810,18 @@ MediaPlayerSourceObserverOnPlayBufferUpdatedJson ); Map _$MediaPlayerSourceObserverOnPlayBufferUpdatedJsonToJson( - MediaPlayerSourceObserverOnPlayBufferUpdatedJson instance) => - { - 'playCachedBuffer': instance.playCachedBuffer, - }; + MediaPlayerSourceObserverOnPlayBufferUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('playCachedBuffer', instance.playCachedBuffer); + return val; +} MediaPlayerSourceObserverOnPreloadEventJson _$MediaPlayerSourceObserverOnPreloadEventJsonFromJson( @@ -604,11 +833,19 @@ MediaPlayerSourceObserverOnPreloadEventJson ); Map _$MediaPlayerSourceObserverOnPreloadEventJsonToJson( - MediaPlayerSourceObserverOnPreloadEventJson instance) => - { - 'src': instance.src, - 'event': _$PlayerPreloadEventEnumMap[instance.event], - }; + MediaPlayerSourceObserverOnPreloadEventJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('src', instance.src); + writeNotNull('event', _$PlayerPreloadEventEnumMap[instance.event]); + return val; +} const _$PlayerPreloadEventEnumMap = { PlayerPreloadEvent.playerPreloadEventBegin: 0, @@ -649,11 +886,19 @@ MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson Map _$MediaPlayerSourceObserverOnPlayerSrcInfoChangedJsonToJson( - MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson instance) => - { - 'from': instance.from?.toJson(), - 'to': instance.to?.toJson(), - }; + MediaPlayerSourceObserverOnPlayerSrcInfoChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('from', instance.from?.toJson()); + writeNotNull('to', instance.to?.toJson()); + return val; +} MediaPlayerSourceObserverOnPlayerInfoUpdatedJson _$MediaPlayerSourceObserverOnPlayerInfoUpdatedJsonFromJson( @@ -666,10 +911,18 @@ MediaPlayerSourceObserverOnPlayerInfoUpdatedJson ); Map _$MediaPlayerSourceObserverOnPlayerInfoUpdatedJsonToJson( - MediaPlayerSourceObserverOnPlayerInfoUpdatedJson instance) => - { - 'info': instance.info?.toJson(), - }; + MediaPlayerSourceObserverOnPlayerInfoUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('info', instance.info?.toJson()); + return val; +} MediaPlayerSourceObserverOnPlayerCacheStatsJson _$MediaPlayerSourceObserverOnPlayerCacheStatsJsonFromJson( @@ -681,10 +934,18 @@ MediaPlayerSourceObserverOnPlayerCacheStatsJson ); Map _$MediaPlayerSourceObserverOnPlayerCacheStatsJsonToJson( - MediaPlayerSourceObserverOnPlayerCacheStatsJson instance) => - { - 'stats': instance.stats?.toJson(), - }; + MediaPlayerSourceObserverOnPlayerCacheStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('stats', instance.stats?.toJson()); + return val; +} MediaPlayerSourceObserverOnPlayerPlaybackStatsJson _$MediaPlayerSourceObserverOnPlayerPlaybackStatsJsonFromJson( @@ -697,10 +958,18 @@ MediaPlayerSourceObserverOnPlayerPlaybackStatsJson ); Map _$MediaPlayerSourceObserverOnPlayerPlaybackStatsJsonToJson( - MediaPlayerSourceObserverOnPlayerPlaybackStatsJson instance) => - { - 'stats': instance.stats?.toJson(), - }; + MediaPlayerSourceObserverOnPlayerPlaybackStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('stats', instance.stats?.toJson()); + return val; +} MediaPlayerSourceObserverOnAudioVolumeIndicationJson _$MediaPlayerSourceObserverOnAudioVolumeIndicationJsonFromJson( @@ -711,10 +980,18 @@ MediaPlayerSourceObserverOnAudioVolumeIndicationJson Map _$MediaPlayerSourceObserverOnAudioVolumeIndicationJsonToJson( - MediaPlayerSourceObserverOnAudioVolumeIndicationJson instance) => - { - 'volume': instance.volume, - }; + MediaPlayerSourceObserverOnAudioVolumeIndicationJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('volume', instance.volume); + return val; +} MusicContentCenterEventHandlerOnMusicChartsResultJson _$MusicContentCenterEventHandlerOnMusicChartsResultJsonFromJson( @@ -730,12 +1007,21 @@ MusicContentCenterEventHandlerOnMusicChartsResultJson Map _$MusicContentCenterEventHandlerOnMusicChartsResultJsonToJson( - MusicContentCenterEventHandlerOnMusicChartsResultJson instance) => - { - 'requestId': instance.requestId, - 'result': instance.result?.map((e) => e.toJson()).toList(), - 'reason': _$MusicContentCenterStateReasonEnumMap[instance.reason], - }; + MusicContentCenterEventHandlerOnMusicChartsResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('requestId', instance.requestId); + writeNotNull('result', instance.result?.map((e) => e.toJson()).toList()); + writeNotNull( + 'reason', _$MusicContentCenterStateReasonEnumMap[instance.reason]); + return val; +} const _$MusicContentCenterStateReasonEnumMap = { MusicContentCenterStateReason.kMusicContentCenterReasonOk: 0, @@ -758,13 +1044,22 @@ MusicContentCenterEventHandlerOnMusicCollectionResultJson _$MusicContentCenterStateReasonEnumMap, json['reason']), ); -Map _$MusicContentCenterEventHandlerOnMusicCollectionResultJsonToJson( - MusicContentCenterEventHandlerOnMusicCollectionResultJson instance) => - { - 'requestId': instance.requestId, - 'reason': _$MusicContentCenterStateReasonEnumMap[instance.reason], - }; +Map + _$MusicContentCenterEventHandlerOnMusicCollectionResultJsonToJson( + MusicContentCenterEventHandlerOnMusicCollectionResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('requestId', instance.requestId); + writeNotNull( + 'reason', _$MusicContentCenterStateReasonEnumMap[instance.reason]); + return val; +} MusicContentCenterEventHandlerOnLyricResultJson _$MusicContentCenterEventHandlerOnLyricResultJsonFromJson( @@ -778,13 +1073,22 @@ MusicContentCenterEventHandlerOnLyricResultJson ); Map _$MusicContentCenterEventHandlerOnLyricResultJsonToJson( - MusicContentCenterEventHandlerOnLyricResultJson instance) => - { - 'requestId': instance.requestId, - 'songCode': instance.songCode, - 'lyricUrl': instance.lyricUrl, - 'reason': _$MusicContentCenterStateReasonEnumMap[instance.reason], - }; + MusicContentCenterEventHandlerOnLyricResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('requestId', instance.requestId); + writeNotNull('songCode', instance.songCode); + writeNotNull('lyricUrl', instance.lyricUrl); + writeNotNull( + 'reason', _$MusicContentCenterStateReasonEnumMap[instance.reason]); + return val; +} MusicContentCenterEventHandlerOnSongSimpleInfoResultJson _$MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonFromJson( @@ -797,15 +1101,24 @@ MusicContentCenterEventHandlerOnSongSimpleInfoResultJson _$MusicContentCenterStateReasonEnumMap, json['reason']), ); -Map _$MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonToJson( - MusicContentCenterEventHandlerOnSongSimpleInfoResultJson instance) => - { - 'requestId': instance.requestId, - 'songCode': instance.songCode, - 'simpleInfo': instance.simpleInfo, - 'reason': _$MusicContentCenterStateReasonEnumMap[instance.reason], - }; +Map + _$MusicContentCenterEventHandlerOnSongSimpleInfoResultJsonToJson( + MusicContentCenterEventHandlerOnSongSimpleInfoResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('requestId', instance.requestId); + writeNotNull('songCode', instance.songCode); + writeNotNull('simpleInfo', instance.simpleInfo); + writeNotNull( + 'reason', _$MusicContentCenterStateReasonEnumMap[instance.reason]); + return val; +} MusicContentCenterEventHandlerOnPreLoadEventJson _$MusicContentCenterEventHandlerOnPreLoadEventJsonFromJson( @@ -821,15 +1134,24 @@ MusicContentCenterEventHandlerOnPreLoadEventJson ); Map _$MusicContentCenterEventHandlerOnPreLoadEventJsonToJson( - MusicContentCenterEventHandlerOnPreLoadEventJson instance) => - { - 'requestId': instance.requestId, - 'songCode': instance.songCode, - 'percent': instance.percent, - 'lyricUrl': instance.lyricUrl, - 'state': _$PreloadStateEnumMap[instance.state], - 'reason': _$MusicContentCenterStateReasonEnumMap[instance.reason], - }; + MusicContentCenterEventHandlerOnPreLoadEventJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('requestId', instance.requestId); + writeNotNull('songCode', instance.songCode); + writeNotNull('percent', instance.percent); + writeNotNull('lyricUrl', instance.lyricUrl); + writeNotNull('state', _$PreloadStateEnumMap[instance.state]); + writeNotNull( + 'reason', _$MusicContentCenterStateReasonEnumMap[instance.reason]); + return val; +} const _$PreloadStateEnumMap = { PreloadState.kPreloadStateCompleted: 0, @@ -850,11 +1172,19 @@ RtcEngineEventHandlerOnJoinChannelSuccessJson ); Map _$RtcEngineEventHandlerOnJoinChannelSuccessJsonToJson( - RtcEngineEventHandlerOnJoinChannelSuccessJson instance) => - { - 'connection': instance.connection?.toJson(), - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnJoinChannelSuccessJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnRejoinChannelSuccessJson _$RtcEngineEventHandlerOnRejoinChannelSuccessJsonFromJson( @@ -868,11 +1198,19 @@ RtcEngineEventHandlerOnRejoinChannelSuccessJson ); Map _$RtcEngineEventHandlerOnRejoinChannelSuccessJsonToJson( - RtcEngineEventHandlerOnRejoinChannelSuccessJson instance) => - { - 'connection': instance.connection?.toJson(), - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnRejoinChannelSuccessJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnProxyConnectedJson _$RtcEngineEventHandlerOnProxyConnectedJsonFromJson( @@ -886,14 +1224,22 @@ RtcEngineEventHandlerOnProxyConnectedJson ); Map _$RtcEngineEventHandlerOnProxyConnectedJsonToJson( - RtcEngineEventHandlerOnProxyConnectedJson instance) => - { - 'channel': instance.channel, - 'uid': instance.uid, - 'proxyType': _$ProxyTypeEnumMap[instance.proxyType], - 'localProxyIp': instance.localProxyIp, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnProxyConnectedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channel', instance.channel); + writeNotNull('uid', instance.uid); + writeNotNull('proxyType', _$ProxyTypeEnumMap[instance.proxyType]); + writeNotNull('localProxyIp', instance.localProxyIp); + writeNotNull('elapsed', instance.elapsed); + return val; +} const _$ProxyTypeEnumMap = { ProxyType.noneProxyType: 0, @@ -913,11 +1259,19 @@ RtcEngineEventHandlerOnErrorJson _$RtcEngineEventHandlerOnErrorJsonFromJson( ); Map _$RtcEngineEventHandlerOnErrorJsonToJson( - RtcEngineEventHandlerOnErrorJson instance) => - { - 'err': _$ErrorCodeTypeEnumMap[instance.err], - 'msg': instance.msg, - }; + RtcEngineEventHandlerOnErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('err', _$ErrorCodeTypeEnumMap[instance.err]); + writeNotNull('msg', instance.msg); + return val; +} const _$ErrorCodeTypeEnumMap = { ErrorCodeType.errOk: 0, @@ -1002,14 +1356,22 @@ RtcEngineEventHandlerOnAudioQualityJson ); Map _$RtcEngineEventHandlerOnAudioQualityJsonToJson( - RtcEngineEventHandlerOnAudioQualityJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'quality': _$QualityTypeEnumMap[instance.quality], - 'delay': instance.delay, - 'lost': instance.lost, - }; + RtcEngineEventHandlerOnAudioQualityJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('quality', _$QualityTypeEnumMap[instance.quality]); + writeNotNull('delay', instance.delay); + writeNotNull('lost', instance.lost); + return val; +} const _$QualityTypeEnumMap = { QualityType.qualityUnknown: 0, @@ -1034,10 +1396,18 @@ RtcEngineEventHandlerOnLastmileProbeResultJson ); Map _$RtcEngineEventHandlerOnLastmileProbeResultJsonToJson( - RtcEngineEventHandlerOnLastmileProbeResultJson instance) => - { - 'result': instance.result?.toJson(), - }; + RtcEngineEventHandlerOnLastmileProbeResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('result', instance.result?.toJson()); + return val; +} RtcEngineEventHandlerOnAudioVolumeIndicationJson _$RtcEngineEventHandlerOnAudioVolumeIndicationJsonFromJson( @@ -1055,13 +1425,21 @@ RtcEngineEventHandlerOnAudioVolumeIndicationJson ); Map _$RtcEngineEventHandlerOnAudioVolumeIndicationJsonToJson( - RtcEngineEventHandlerOnAudioVolumeIndicationJson instance) => - { - 'connection': instance.connection?.toJson(), - 'speakers': instance.speakers?.map((e) => e.toJson()).toList(), - 'speakerNumber': instance.speakerNumber, - 'totalVolume': instance.totalVolume, - }; + RtcEngineEventHandlerOnAudioVolumeIndicationJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('speakers', instance.speakers?.map((e) => e.toJson()).toList()); + writeNotNull('speakerNumber', instance.speakerNumber); + writeNotNull('totalVolume', instance.totalVolume); + return val; +} RtcEngineEventHandlerOnLeaveChannelJson _$RtcEngineEventHandlerOnLeaveChannelJsonFromJson( @@ -1077,11 +1455,19 @@ RtcEngineEventHandlerOnLeaveChannelJson ); Map _$RtcEngineEventHandlerOnLeaveChannelJsonToJson( - RtcEngineEventHandlerOnLeaveChannelJson instance) => - { - 'connection': instance.connection?.toJson(), - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnLeaveChannelJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnRtcStatsJson _$RtcEngineEventHandlerOnRtcStatsJsonFromJson(Map json) => @@ -1096,11 +1482,19 @@ RtcEngineEventHandlerOnRtcStatsJson ); Map _$RtcEngineEventHandlerOnRtcStatsJsonToJson( - RtcEngineEventHandlerOnRtcStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnRtcStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnAudioDeviceStateChangedJson _$RtcEngineEventHandlerOnAudioDeviceStateChangedJsonFromJson( @@ -1114,12 +1508,21 @@ RtcEngineEventHandlerOnAudioDeviceStateChangedJson ); Map _$RtcEngineEventHandlerOnAudioDeviceStateChangedJsonToJson( - RtcEngineEventHandlerOnAudioDeviceStateChangedJson instance) => - { - 'deviceId': instance.deviceId, - 'deviceType': _$MediaDeviceTypeEnumMap[instance.deviceType], - 'deviceState': _$MediaDeviceStateTypeEnumMap[instance.deviceState], - }; + RtcEngineEventHandlerOnAudioDeviceStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('deviceId', instance.deviceId); + writeNotNull('deviceType', _$MediaDeviceTypeEnumMap[instance.deviceType]); + writeNotNull( + 'deviceState', _$MediaDeviceStateTypeEnumMap[instance.deviceState]); + return val; +} const _$MediaDeviceTypeEnumMap = { MediaDeviceType.unknownAudioDevice: -1, @@ -1149,10 +1552,18 @@ RtcEngineEventHandlerOnAudioMixingPositionChangedJson Map _$RtcEngineEventHandlerOnAudioMixingPositionChangedJsonToJson( - RtcEngineEventHandlerOnAudioMixingPositionChangedJson instance) => - { - 'position': instance.position, - }; + RtcEngineEventHandlerOnAudioMixingPositionChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('position', instance.position); + return val; +} RtcEngineEventHandlerOnAudioMixingFinishedJson _$RtcEngineEventHandlerOnAudioMixingFinishedJsonFromJson( @@ -1171,10 +1582,18 @@ RtcEngineEventHandlerOnAudioEffectFinishedJson ); Map _$RtcEngineEventHandlerOnAudioEffectFinishedJsonToJson( - RtcEngineEventHandlerOnAudioEffectFinishedJson instance) => - { - 'soundId': instance.soundId, - }; + RtcEngineEventHandlerOnAudioEffectFinishedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('soundId', instance.soundId); + return val; +} RtcEngineEventHandlerOnVideoDeviceStateChangedJson _$RtcEngineEventHandlerOnVideoDeviceStateChangedJsonFromJson( @@ -1188,12 +1607,21 @@ RtcEngineEventHandlerOnVideoDeviceStateChangedJson ); Map _$RtcEngineEventHandlerOnVideoDeviceStateChangedJsonToJson( - RtcEngineEventHandlerOnVideoDeviceStateChangedJson instance) => - { - 'deviceId': instance.deviceId, - 'deviceType': _$MediaDeviceTypeEnumMap[instance.deviceType], - 'deviceState': _$MediaDeviceStateTypeEnumMap[instance.deviceState], - }; + RtcEngineEventHandlerOnVideoDeviceStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('deviceId', instance.deviceId); + writeNotNull('deviceType', _$MediaDeviceTypeEnumMap[instance.deviceType]); + writeNotNull( + 'deviceState', _$MediaDeviceStateTypeEnumMap[instance.deviceState]); + return val; +} RtcEngineEventHandlerOnNetworkQualityJson _$RtcEngineEventHandlerOnNetworkQualityJsonFromJson( @@ -1211,13 +1639,21 @@ RtcEngineEventHandlerOnNetworkQualityJson ); Map _$RtcEngineEventHandlerOnNetworkQualityJsonToJson( - RtcEngineEventHandlerOnNetworkQualityJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'txQuality': _$QualityTypeEnumMap[instance.txQuality], - 'rxQuality': _$QualityTypeEnumMap[instance.rxQuality], - }; + RtcEngineEventHandlerOnNetworkQualityJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('txQuality', _$QualityTypeEnumMap[instance.txQuality]); + writeNotNull('rxQuality', _$QualityTypeEnumMap[instance.rxQuality]); + return val; +} RtcEngineEventHandlerOnIntraRequestReceivedJson _$RtcEngineEventHandlerOnIntraRequestReceivedJsonFromJson( @@ -1230,10 +1666,18 @@ RtcEngineEventHandlerOnIntraRequestReceivedJson ); Map _$RtcEngineEventHandlerOnIntraRequestReceivedJsonToJson( - RtcEngineEventHandlerOnIntraRequestReceivedJson instance) => - { - 'connection': instance.connection?.toJson(), - }; + RtcEngineEventHandlerOnIntraRequestReceivedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + return val; +} RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson _$RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJsonFromJson( @@ -1247,10 +1691,18 @@ RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson Map _$RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJsonToJson( - RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson instance) => - { - 'info': instance.info?.toJson(), - }; + RtcEngineEventHandlerOnUplinkNetworkInfoUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('info', instance.info?.toJson()); + return val; +} RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson _$RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJsonFromJson( @@ -1264,10 +1716,18 @@ RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson Map _$RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJsonToJson( - RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson instance) => - { - 'info': instance.info?.toJson(), - }; + RtcEngineEventHandlerOnDownlinkNetworkInfoUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('info', instance.info?.toJson()); + return val; +} RtcEngineEventHandlerOnLastmileQualityJson _$RtcEngineEventHandlerOnLastmileQualityJsonFromJson( @@ -1277,10 +1737,18 @@ RtcEngineEventHandlerOnLastmileQualityJson ); Map _$RtcEngineEventHandlerOnLastmileQualityJsonToJson( - RtcEngineEventHandlerOnLastmileQualityJson instance) => - { - 'quality': _$QualityTypeEnumMap[instance.quality], - }; + RtcEngineEventHandlerOnLastmileQualityJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('quality', _$QualityTypeEnumMap[instance.quality]); + return val; +} RtcEngineEventHandlerOnFirstLocalVideoFrameJson _$RtcEngineEventHandlerOnFirstLocalVideoFrameJsonFromJson( @@ -1293,13 +1761,21 @@ RtcEngineEventHandlerOnFirstLocalVideoFrameJson ); Map _$RtcEngineEventHandlerOnFirstLocalVideoFrameJsonToJson( - RtcEngineEventHandlerOnFirstLocalVideoFrameJson instance) => - { - 'source': _$VideoSourceTypeEnumMap[instance.source], - 'width': instance.width, - 'height': instance.height, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnFirstLocalVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('source', _$VideoSourceTypeEnumMap[instance.source]); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson _$RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonFromJson( @@ -1309,13 +1785,21 @@ RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson elapsed: json['elapsed'] as int?, ); -Map _$RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonToJson( - RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson instance) => - { - 'source': _$VideoSourceTypeEnumMap[instance.source], - 'elapsed': instance.elapsed, - }; +Map + _$RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJsonToJson( + RtcEngineEventHandlerOnFirstLocalVideoFramePublishedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('source', _$VideoSourceTypeEnumMap[instance.source]); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson _$RtcEngineEventHandlerOnFirstRemoteVideoDecodedJsonFromJson( @@ -1332,14 +1816,22 @@ RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson ); Map _$RtcEngineEventHandlerOnFirstRemoteVideoDecodedJsonToJson( - RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'width': instance.width, - 'height': instance.height, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnFirstRemoteVideoDecodedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnVideoSizeChangedJson _$RtcEngineEventHandlerOnVideoSizeChangedJsonFromJson( @@ -1358,15 +1850,23 @@ RtcEngineEventHandlerOnVideoSizeChangedJson ); Map _$RtcEngineEventHandlerOnVideoSizeChangedJsonToJson( - RtcEngineEventHandlerOnVideoSizeChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'sourceType': _$VideoSourceTypeEnumMap[instance.sourceType], - 'uid': instance.uid, - 'width': instance.width, - 'height': instance.height, - 'rotation': instance.rotation, - }; + RtcEngineEventHandlerOnVideoSizeChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('sourceType', _$VideoSourceTypeEnumMap[instance.sourceType]); + writeNotNull('uid', instance.uid); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('rotation', instance.rotation); + return val; +} RtcEngineEventHandlerOnLocalVideoStateChangedJson _$RtcEngineEventHandlerOnLocalVideoStateChangedJsonFromJson( @@ -1380,12 +1880,20 @@ RtcEngineEventHandlerOnLocalVideoStateChangedJson ); Map _$RtcEngineEventHandlerOnLocalVideoStateChangedJsonToJson( - RtcEngineEventHandlerOnLocalVideoStateChangedJson instance) => - { - 'source': _$VideoSourceTypeEnumMap[instance.source], - 'state': _$LocalVideoStreamStateEnumMap[instance.state], - 'reason': _$LocalVideoStreamReasonEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnLocalVideoStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('source', _$VideoSourceTypeEnumMap[instance.source]); + writeNotNull('state', _$LocalVideoStreamStateEnumMap[instance.state]); + writeNotNull('reason', _$LocalVideoStreamReasonEnumMap[instance.reason]); + return val; +} const _$LocalVideoStreamStateEnumMap = { LocalVideoStreamState.localVideoStreamStateStopped: 0, @@ -1440,14 +1948,22 @@ RtcEngineEventHandlerOnRemoteVideoStateChangedJson ); Map _$RtcEngineEventHandlerOnRemoteVideoStateChangedJsonToJson( - RtcEngineEventHandlerOnRemoteVideoStateChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'state': _$RemoteVideoStateEnumMap[instance.state], - 'reason': _$RemoteVideoStateReasonEnumMap[instance.reason], - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnRemoteVideoStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('state', _$RemoteVideoStateEnumMap[instance.state]); + writeNotNull('reason', _$RemoteVideoStateReasonEnumMap[instance.reason]); + writeNotNull('elapsed', instance.elapsed); + return val; +} const _$RemoteVideoStateEnumMap = { RemoteVideoState.remoteVideoStateStopped: 0, @@ -1489,14 +2005,22 @@ RtcEngineEventHandlerOnFirstRemoteVideoFrameJson ); Map _$RtcEngineEventHandlerOnFirstRemoteVideoFrameJsonToJson( - RtcEngineEventHandlerOnFirstRemoteVideoFrameJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'width': instance.width, - 'height': instance.height, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnFirstRemoteVideoFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnUserJoinedJson _$RtcEngineEventHandlerOnUserJoinedJsonFromJson( @@ -1511,12 +2035,20 @@ RtcEngineEventHandlerOnUserJoinedJson ); Map _$RtcEngineEventHandlerOnUserJoinedJsonToJson( - RtcEngineEventHandlerOnUserJoinedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnUserJoinedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnUserOfflineJson _$RtcEngineEventHandlerOnUserOfflineJsonFromJson( @@ -1532,12 +2064,20 @@ RtcEngineEventHandlerOnUserOfflineJson ); Map _$RtcEngineEventHandlerOnUserOfflineJsonToJson( - RtcEngineEventHandlerOnUserOfflineJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'reason': _$UserOfflineReasonTypeEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnUserOfflineJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('reason', _$UserOfflineReasonTypeEnumMap[instance.reason]); + return val; +} const _$UserOfflineReasonTypeEnumMap = { UserOfflineReasonType.userOfflineQuit: 0, @@ -1558,12 +2098,20 @@ RtcEngineEventHandlerOnUserMuteAudioJson ); Map _$RtcEngineEventHandlerOnUserMuteAudioJsonToJson( - RtcEngineEventHandlerOnUserMuteAudioJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'muted': instance.muted, - }; + RtcEngineEventHandlerOnUserMuteAudioJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('muted', instance.muted); + return val; +} RtcEngineEventHandlerOnUserMuteVideoJson _$RtcEngineEventHandlerOnUserMuteVideoJsonFromJson( @@ -1578,12 +2126,20 @@ RtcEngineEventHandlerOnUserMuteVideoJson ); Map _$RtcEngineEventHandlerOnUserMuteVideoJsonToJson( - RtcEngineEventHandlerOnUserMuteVideoJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'muted': instance.muted, - }; + RtcEngineEventHandlerOnUserMuteVideoJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('muted', instance.muted); + return val; +} RtcEngineEventHandlerOnUserEnableVideoJson _$RtcEngineEventHandlerOnUserEnableVideoJsonFromJson( @@ -1598,12 +2154,20 @@ RtcEngineEventHandlerOnUserEnableVideoJson ); Map _$RtcEngineEventHandlerOnUserEnableVideoJsonToJson( - RtcEngineEventHandlerOnUserEnableVideoJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'enabled': instance.enabled, - }; + RtcEngineEventHandlerOnUserEnableVideoJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('enabled', instance.enabled); + return val; +} RtcEngineEventHandlerOnUserStateChangedJson _$RtcEngineEventHandlerOnUserStateChangedJsonFromJson( @@ -1618,12 +2182,20 @@ RtcEngineEventHandlerOnUserStateChangedJson ); Map _$RtcEngineEventHandlerOnUserStateChangedJsonToJson( - RtcEngineEventHandlerOnUserStateChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'state': instance.state, - }; + RtcEngineEventHandlerOnUserStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('state', instance.state); + return val; +} RtcEngineEventHandlerOnUserEnableLocalVideoJson _$RtcEngineEventHandlerOnUserEnableLocalVideoJsonFromJson( @@ -1638,12 +2210,20 @@ RtcEngineEventHandlerOnUserEnableLocalVideoJson ); Map _$RtcEngineEventHandlerOnUserEnableLocalVideoJsonToJson( - RtcEngineEventHandlerOnUserEnableLocalVideoJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'enabled': instance.enabled, - }; + RtcEngineEventHandlerOnUserEnableLocalVideoJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('enabled', instance.enabled); + return val; +} RtcEngineEventHandlerOnRemoteAudioStatsJson _$RtcEngineEventHandlerOnRemoteAudioStatsJsonFromJson( @@ -1660,11 +2240,19 @@ RtcEngineEventHandlerOnRemoteAudioStatsJson ); Map _$RtcEngineEventHandlerOnRemoteAudioStatsJsonToJson( - RtcEngineEventHandlerOnRemoteAudioStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnRemoteAudioStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnLocalAudioStatsJson _$RtcEngineEventHandlerOnLocalAudioStatsJsonFromJson( @@ -1680,11 +2268,19 @@ RtcEngineEventHandlerOnLocalAudioStatsJson ); Map _$RtcEngineEventHandlerOnLocalAudioStatsJsonToJson( - RtcEngineEventHandlerOnLocalAudioStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnLocalAudioStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnLocalVideoStatsJson _$RtcEngineEventHandlerOnLocalVideoStatsJsonFromJson( @@ -1697,11 +2293,19 @@ RtcEngineEventHandlerOnLocalVideoStatsJson ); Map _$RtcEngineEventHandlerOnLocalVideoStatsJsonToJson( - RtcEngineEventHandlerOnLocalVideoStatsJson instance) => - { - 'source': _$VideoSourceTypeEnumMap[instance.source], - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnLocalVideoStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('source', _$VideoSourceTypeEnumMap[instance.source]); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnRemoteVideoStatsJson _$RtcEngineEventHandlerOnRemoteVideoStatsJsonFromJson( @@ -1718,11 +2322,19 @@ RtcEngineEventHandlerOnRemoteVideoStatsJson ); Map _$RtcEngineEventHandlerOnRemoteVideoStatsJsonToJson( - RtcEngineEventHandlerOnRemoteVideoStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'stats': instance.stats?.toJson(), - }; + RtcEngineEventHandlerOnRemoteVideoStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('stats', instance.stats?.toJson()); + return val; +} RtcEngineEventHandlerOnCameraReadyJson _$RtcEngineEventHandlerOnCameraReadyJsonFromJson( @@ -1744,13 +2356,21 @@ RtcEngineEventHandlerOnCameraFocusAreaChangedJson ); Map _$RtcEngineEventHandlerOnCameraFocusAreaChangedJsonToJson( - RtcEngineEventHandlerOnCameraFocusAreaChangedJson instance) => - { - 'x': instance.x, - 'y': instance.y, - 'width': instance.width, - 'height': instance.height, - }; + RtcEngineEventHandlerOnCameraFocusAreaChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('x', instance.x); + writeNotNull('y', instance.y); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + return val; +} RtcEngineEventHandlerOnCameraExposureAreaChangedJson _$RtcEngineEventHandlerOnCameraExposureAreaChangedJsonFromJson( @@ -1764,13 +2384,21 @@ RtcEngineEventHandlerOnCameraExposureAreaChangedJson Map _$RtcEngineEventHandlerOnCameraExposureAreaChangedJsonToJson( - RtcEngineEventHandlerOnCameraExposureAreaChangedJson instance) => - { - 'x': instance.x, - 'y': instance.y, - 'width': instance.width, - 'height': instance.height, - }; + RtcEngineEventHandlerOnCameraExposureAreaChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('x', instance.x); + writeNotNull('y', instance.y); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + return val; +} RtcEngineEventHandlerOnFacePositionChangedJson _$RtcEngineEventHandlerOnFacePositionChangedJsonFromJson( @@ -1788,14 +2416,23 @@ RtcEngineEventHandlerOnFacePositionChangedJson ); Map _$RtcEngineEventHandlerOnFacePositionChangedJsonToJson( - RtcEngineEventHandlerOnFacePositionChangedJson instance) => - { - 'imageWidth': instance.imageWidth, - 'imageHeight': instance.imageHeight, - 'vecRectangle': instance.vecRectangle?.map((e) => e.toJson()).toList(), - 'vecDistance': instance.vecDistance, - 'numFaces': instance.numFaces, - }; + RtcEngineEventHandlerOnFacePositionChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('imageWidth', instance.imageWidth); + writeNotNull('imageHeight', instance.imageHeight); + writeNotNull( + 'vecRectangle', instance.vecRectangle?.map((e) => e.toJson()).toList()); + writeNotNull('vecDistance', instance.vecDistance); + writeNotNull('numFaces', instance.numFaces); + return val; +} RtcEngineEventHandlerOnVideoStoppedJson _$RtcEngineEventHandlerOnVideoStoppedJsonFromJson( @@ -1817,11 +2454,19 @@ RtcEngineEventHandlerOnAudioMixingStateChangedJson ); Map _$RtcEngineEventHandlerOnAudioMixingStateChangedJsonToJson( - RtcEngineEventHandlerOnAudioMixingStateChangedJson instance) => - { - 'state': _$AudioMixingStateTypeEnumMap[instance.state], - 'reason': _$AudioMixingReasonTypeEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnAudioMixingStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('state', _$AudioMixingStateTypeEnumMap[instance.state]); + writeNotNull('reason', _$AudioMixingReasonTypeEnumMap[instance.reason]); + return val; +} const _$AudioMixingStateTypeEnumMap = { AudioMixingStateType.audioMixingStatePlaying: 710, @@ -1852,11 +2497,19 @@ RtcEngineEventHandlerOnRhythmPlayerStateChangedJson Map _$RtcEngineEventHandlerOnRhythmPlayerStateChangedJsonToJson( - RtcEngineEventHandlerOnRhythmPlayerStateChangedJson instance) => - { - 'state': _$RhythmPlayerStateTypeEnumMap[instance.state], - 'reason': _$RhythmPlayerReasonEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnRhythmPlayerStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('state', _$RhythmPlayerStateTypeEnumMap[instance.state]); + writeNotNull('reason', _$RhythmPlayerReasonEnumMap[instance.reason]); + return val; +} const _$RhythmPlayerStateTypeEnumMap = { RhythmPlayerStateType.rhythmPlayerStateIdle: 810, @@ -1885,10 +2538,18 @@ RtcEngineEventHandlerOnConnectionLostJson ); Map _$RtcEngineEventHandlerOnConnectionLostJsonToJson( - RtcEngineEventHandlerOnConnectionLostJson instance) => - { - 'connection': instance.connection?.toJson(), - }; + RtcEngineEventHandlerOnConnectionLostJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + return val; +} RtcEngineEventHandlerOnConnectionInterruptedJson _$RtcEngineEventHandlerOnConnectionInterruptedJsonFromJson( @@ -1901,10 +2562,18 @@ RtcEngineEventHandlerOnConnectionInterruptedJson ); Map _$RtcEngineEventHandlerOnConnectionInterruptedJsonToJson( - RtcEngineEventHandlerOnConnectionInterruptedJson instance) => - { - 'connection': instance.connection?.toJson(), - }; + RtcEngineEventHandlerOnConnectionInterruptedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + return val; +} RtcEngineEventHandlerOnConnectionBannedJson _$RtcEngineEventHandlerOnConnectionBannedJsonFromJson( @@ -1917,10 +2586,18 @@ RtcEngineEventHandlerOnConnectionBannedJson ); Map _$RtcEngineEventHandlerOnConnectionBannedJsonToJson( - RtcEngineEventHandlerOnConnectionBannedJson instance) => - { - 'connection': instance.connection?.toJson(), - }; + RtcEngineEventHandlerOnConnectionBannedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + return val; +} RtcEngineEventHandlerOnStreamMessageJson _$RtcEngineEventHandlerOnStreamMessageJsonFromJson( @@ -1937,14 +2614,22 @@ RtcEngineEventHandlerOnStreamMessageJson ); Map _$RtcEngineEventHandlerOnStreamMessageJsonToJson( - RtcEngineEventHandlerOnStreamMessageJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'streamId': instance.streamId, - 'length': instance.length, - 'sentTs': instance.sentTs, - }; + RtcEngineEventHandlerOnStreamMessageJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('streamId', instance.streamId); + writeNotNull('length', instance.length); + writeNotNull('sentTs', instance.sentTs); + return val; +} RtcEngineEventHandlerOnStreamMessageErrorJson _$RtcEngineEventHandlerOnStreamMessageErrorJsonFromJson( @@ -1962,15 +2647,23 @@ RtcEngineEventHandlerOnStreamMessageErrorJson ); Map _$RtcEngineEventHandlerOnStreamMessageErrorJsonToJson( - RtcEngineEventHandlerOnStreamMessageErrorJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'streamId': instance.streamId, - 'code': _$ErrorCodeTypeEnumMap[instance.code], - 'missed': instance.missed, - 'cached': instance.cached, - }; + RtcEngineEventHandlerOnStreamMessageErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('streamId', instance.streamId); + writeNotNull('code', _$ErrorCodeTypeEnumMap[instance.code]); + writeNotNull('missed', instance.missed); + writeNotNull('cached', instance.cached); + return val; +} RtcEngineEventHandlerOnRequestTokenJson _$RtcEngineEventHandlerOnRequestTokenJsonFromJson( @@ -1983,10 +2676,18 @@ RtcEngineEventHandlerOnRequestTokenJson ); Map _$RtcEngineEventHandlerOnRequestTokenJsonToJson( - RtcEngineEventHandlerOnRequestTokenJson instance) => - { - 'connection': instance.connection?.toJson(), - }; + RtcEngineEventHandlerOnRequestTokenJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + return val; +} RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson _$RtcEngineEventHandlerOnTokenPrivilegeWillExpireJsonFromJson( @@ -2001,11 +2702,19 @@ RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson Map _$RtcEngineEventHandlerOnTokenPrivilegeWillExpireJsonToJson( - RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson instance) => - { - 'connection': instance.connection?.toJson(), - 'token': instance.token, - }; + RtcEngineEventHandlerOnTokenPrivilegeWillExpireJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('token', instance.token); + return val; +} RtcEngineEventHandlerOnLicenseValidationFailureJson _$RtcEngineEventHandlerOnLicenseValidationFailureJsonFromJson( @@ -2021,11 +2730,19 @@ RtcEngineEventHandlerOnLicenseValidationFailureJson Map _$RtcEngineEventHandlerOnLicenseValidationFailureJsonToJson( - RtcEngineEventHandlerOnLicenseValidationFailureJson instance) => - { - 'connection': instance.connection?.toJson(), - 'reason': _$LicenseErrorTypeEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnLicenseValidationFailureJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('reason', _$LicenseErrorTypeEnumMap[instance.reason]); + return val; +} const _$LicenseErrorTypeEnumMap = { LicenseErrorType.licenseErrInvalid: 1, @@ -2047,13 +2764,21 @@ RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson elapsed: json['elapsed'] as int?, ); -Map _$RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJsonToJson( - RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'elapsed': instance.elapsed, - }; +Map + _$RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJsonToJson( + RtcEngineEventHandlerOnFirstLocalAudioFramePublishedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson _$RtcEngineEventHandlerOnFirstRemoteAudioDecodedJsonFromJson( @@ -2068,12 +2793,20 @@ RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson ); Map _$RtcEngineEventHandlerOnFirstRemoteAudioDecodedJsonToJson( - RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'uid': instance.uid, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnFirstRemoteAudioDecodedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('uid', instance.uid); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnFirstRemoteAudioFrameJson _$RtcEngineEventHandlerOnFirstRemoteAudioFrameJsonFromJson( @@ -2088,12 +2821,20 @@ RtcEngineEventHandlerOnFirstRemoteAudioFrameJson ); Map _$RtcEngineEventHandlerOnFirstRemoteAudioFrameJsonToJson( - RtcEngineEventHandlerOnFirstRemoteAudioFrameJson instance) => - { - 'connection': instance.connection?.toJson(), - 'userId': instance.userId, - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnFirstRemoteAudioFrameJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('userId', instance.userId); + writeNotNull('elapsed', instance.elapsed); + return val; +} RtcEngineEventHandlerOnLocalAudioStateChangedJson _$RtcEngineEventHandlerOnLocalAudioStateChangedJsonFromJson( @@ -2110,12 +2851,20 @@ RtcEngineEventHandlerOnLocalAudioStateChangedJson ); Map _$RtcEngineEventHandlerOnLocalAudioStateChangedJsonToJson( - RtcEngineEventHandlerOnLocalAudioStateChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'state': _$LocalAudioStreamStateEnumMap[instance.state], - 'reason': _$LocalAudioStreamReasonEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnLocalAudioStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('state', _$LocalAudioStreamStateEnumMap[instance.state]); + writeNotNull('reason', _$LocalAudioStreamReasonEnumMap[instance.reason]); + return val; +} const _$LocalAudioStreamStateEnumMap = { LocalAudioStreamState.localAudioStreamStateStopped: 0, @@ -2154,14 +2903,22 @@ RtcEngineEventHandlerOnRemoteAudioStateChangedJson ); Map _$RtcEngineEventHandlerOnRemoteAudioStateChangedJsonToJson( - RtcEngineEventHandlerOnRemoteAudioStateChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'state': _$RemoteAudioStateEnumMap[instance.state], - 'reason': _$RemoteAudioStateReasonEnumMap[instance.reason], - 'elapsed': instance.elapsed, - }; + RtcEngineEventHandlerOnRemoteAudioStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('state', _$RemoteAudioStateEnumMap[instance.state]); + writeNotNull('reason', _$RemoteAudioStateReasonEnumMap[instance.reason]); + writeNotNull('elapsed', instance.elapsed); + return val; +} const _$RemoteAudioStateEnumMap = { RemoteAudioState.remoteAudioStateStopped: 0, @@ -2194,11 +2951,19 @@ RtcEngineEventHandlerOnActiveSpeakerJson ); Map _$RtcEngineEventHandlerOnActiveSpeakerJsonToJson( - RtcEngineEventHandlerOnActiveSpeakerJson instance) => - { - 'connection': instance.connection?.toJson(), - 'uid': instance.uid, - }; + RtcEngineEventHandlerOnActiveSpeakerJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('uid', instance.uid); + return val; +} RtcEngineEventHandlerOnContentInspectResultJson _$RtcEngineEventHandlerOnContentInspectResultJsonFromJson( @@ -2209,10 +2974,18 @@ RtcEngineEventHandlerOnContentInspectResultJson ); Map _$RtcEngineEventHandlerOnContentInspectResultJsonToJson( - RtcEngineEventHandlerOnContentInspectResultJson instance) => - { - 'result': _$ContentInspectResultEnumMap[instance.result], - }; + RtcEngineEventHandlerOnContentInspectResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('result', _$ContentInspectResultEnumMap[instance.result]); + return val; +} const _$ContentInspectResultEnumMap = { ContentInspectResult.contentInspectNeutral: 1, @@ -2236,15 +3009,23 @@ RtcEngineEventHandlerOnSnapshotTakenJson ); Map _$RtcEngineEventHandlerOnSnapshotTakenJsonToJson( - RtcEngineEventHandlerOnSnapshotTakenJson instance) => - { - 'connection': instance.connection?.toJson(), - 'uid': instance.uid, - 'filePath': instance.filePath, - 'width': instance.width, - 'height': instance.height, - 'errCode': instance.errCode, - }; + RtcEngineEventHandlerOnSnapshotTakenJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('uid', instance.uid); + writeNotNull('filePath', instance.filePath); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('errCode', instance.errCode); + return val; +} RtcEngineEventHandlerOnClientRoleChangedJson _$RtcEngineEventHandlerOnClientRoleChangedJsonFromJson( @@ -2265,13 +3046,21 @@ RtcEngineEventHandlerOnClientRoleChangedJson ); Map _$RtcEngineEventHandlerOnClientRoleChangedJsonToJson( - RtcEngineEventHandlerOnClientRoleChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'oldRole': _$ClientRoleTypeEnumMap[instance.oldRole], - 'newRole': _$ClientRoleTypeEnumMap[instance.newRole], - 'newRoleOptions': instance.newRoleOptions?.toJson(), - }; + RtcEngineEventHandlerOnClientRoleChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('oldRole', _$ClientRoleTypeEnumMap[instance.oldRole]); + writeNotNull('newRole', _$ClientRoleTypeEnumMap[instance.newRole]); + writeNotNull('newRoleOptions', instance.newRoleOptions?.toJson()); + return val; +} const _$ClientRoleTypeEnumMap = { ClientRoleType.clientRoleBroadcaster: 1, @@ -2293,12 +3082,21 @@ RtcEngineEventHandlerOnClientRoleChangeFailedJson ); Map _$RtcEngineEventHandlerOnClientRoleChangeFailedJsonToJson( - RtcEngineEventHandlerOnClientRoleChangeFailedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'reason': _$ClientRoleChangeFailedReasonEnumMap[instance.reason], - 'currentRole': _$ClientRoleTypeEnumMap[instance.currentRole], - }; + RtcEngineEventHandlerOnClientRoleChangeFailedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull( + 'reason', _$ClientRoleChangeFailedReasonEnumMap[instance.reason]); + writeNotNull('currentRole', _$ClientRoleTypeEnumMap[instance.currentRole]); + return val; +} const _$ClientRoleChangeFailedReasonEnumMap = { ClientRoleChangeFailedReason.clientRoleChangeFailedTooManyBroadcasters: 1, @@ -2319,12 +3117,20 @@ RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson Map _$RtcEngineEventHandlerOnAudioDeviceVolumeChangedJsonToJson( - RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson instance) => - { - 'deviceType': _$MediaDeviceTypeEnumMap[instance.deviceType], - 'volume': instance.volume, - 'muted': instance.muted, - }; + RtcEngineEventHandlerOnAudioDeviceVolumeChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('deviceType', _$MediaDeviceTypeEnumMap[instance.deviceType]); + writeNotNull('volume', instance.volume); + writeNotNull('muted', instance.muted); + return val; +} RtcEngineEventHandlerOnRtmpStreamingStateChangedJson _$RtcEngineEventHandlerOnRtmpStreamingStateChangedJsonFromJson( @@ -2339,12 +3145,20 @@ RtcEngineEventHandlerOnRtmpStreamingStateChangedJson Map _$RtcEngineEventHandlerOnRtmpStreamingStateChangedJsonToJson( - RtcEngineEventHandlerOnRtmpStreamingStateChangedJson instance) => - { - 'url': instance.url, - 'state': _$RtmpStreamPublishStateEnumMap[instance.state], - 'reason': _$RtmpStreamPublishReasonEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnRtmpStreamingStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('url', instance.url); + writeNotNull('state', _$RtmpStreamPublishStateEnumMap[instance.state]); + writeNotNull('reason', _$RtmpStreamPublishReasonEnumMap[instance.reason]); + return val; +} const _$RtmpStreamPublishStateEnumMap = { RtmpStreamPublishState.rtmpStreamPublishStateIdle: 0, @@ -2385,11 +3199,19 @@ RtcEngineEventHandlerOnRtmpStreamingEventJson ); Map _$RtcEngineEventHandlerOnRtmpStreamingEventJsonToJson( - RtcEngineEventHandlerOnRtmpStreamingEventJson instance) => - { - 'url': instance.url, - 'eventCode': _$RtmpStreamingEventEnumMap[instance.eventCode], - }; + RtcEngineEventHandlerOnRtmpStreamingEventJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('url', instance.url); + writeNotNull('eventCode', _$RtmpStreamingEventEnumMap[instance.eventCode]); + return val; +} const _$RtmpStreamingEventEnumMap = { RtmpStreamingEvent.rtmpStreamingEventFailedLoadImage: 1, @@ -2415,10 +3237,18 @@ RtcEngineEventHandlerOnAudioRoutingChangedJson ); Map _$RtcEngineEventHandlerOnAudioRoutingChangedJsonToJson( - RtcEngineEventHandlerOnAudioRoutingChangedJson instance) => - { - 'routing': instance.routing, - }; + RtcEngineEventHandlerOnAudioRoutingChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('routing', instance.routing); + return val; +} RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson _$RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonFromJson( @@ -2430,13 +3260,21 @@ RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson _$ChannelMediaRelayErrorEnumMap, json['code']), ); -Map _$RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonToJson( - RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson instance) => - { - 'state': _$ChannelMediaRelayStateEnumMap[instance.state], - 'code': _$ChannelMediaRelayErrorEnumMap[instance.code], - }; +Map + _$RtcEngineEventHandlerOnChannelMediaRelayStateChangedJsonToJson( + RtcEngineEventHandlerOnChannelMediaRelayStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('state', _$ChannelMediaRelayStateEnumMap[instance.state]); + writeNotNull('code', _$ChannelMediaRelayErrorEnumMap[instance.code]); + return val; +} const _$ChannelMediaRelayStateEnumMap = { ChannelMediaRelayState.relayStateIdle: 0, @@ -2467,12 +3305,20 @@ RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson isFallbackOrRecover: json['isFallbackOrRecover'] as bool?, ); -Map _$RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJsonToJson( - RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson instance) => - { - 'isFallbackOrRecover': instance.isFallbackOrRecover, - }; +Map + _$RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJsonToJson( + RtcEngineEventHandlerOnLocalPublishFallbackToAudioOnlyJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('isFallbackOrRecover', instance.isFallbackOrRecover); + return val; +} RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson _$RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJsonFromJson( @@ -2484,12 +3330,20 @@ RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson Map _$RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJsonToJson( - RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson - instance) => - { - 'uid': instance.uid, - 'isFallbackOrRecover': instance.isFallbackOrRecover, - }; + RtcEngineEventHandlerOnRemoteSubscribeFallbackToAudioOnlyJson + instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('uid', instance.uid); + writeNotNull('isFallbackOrRecover', instance.isFallbackOrRecover); + return val; +} RtcEngineEventHandlerOnRemoteAudioTransportStatsJson _$RtcEngineEventHandlerOnRemoteAudioTransportStatsJsonFromJson( @@ -2507,14 +3361,22 @@ RtcEngineEventHandlerOnRemoteAudioTransportStatsJson Map _$RtcEngineEventHandlerOnRemoteAudioTransportStatsJsonToJson( - RtcEngineEventHandlerOnRemoteAudioTransportStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'delay': instance.delay, - 'lost': instance.lost, - 'rxKBitRate': instance.rxKBitRate, - }; + RtcEngineEventHandlerOnRemoteAudioTransportStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('delay', instance.delay); + writeNotNull('lost', instance.lost); + writeNotNull('rxKBitRate', instance.rxKBitRate); + return val; +} RtcEngineEventHandlerOnRemoteVideoTransportStatsJson _$RtcEngineEventHandlerOnRemoteVideoTransportStatsJsonFromJson( @@ -2532,14 +3394,22 @@ RtcEngineEventHandlerOnRemoteVideoTransportStatsJson Map _$RtcEngineEventHandlerOnRemoteVideoTransportStatsJsonToJson( - RtcEngineEventHandlerOnRemoteVideoTransportStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'delay': instance.delay, - 'lost': instance.lost, - 'rxKBitRate': instance.rxKBitRate, - }; + RtcEngineEventHandlerOnRemoteVideoTransportStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('delay', instance.delay); + writeNotNull('lost', instance.lost); + writeNotNull('rxKBitRate', instance.rxKBitRate); + return val; +} RtcEngineEventHandlerOnConnectionStateChangedJson _$RtcEngineEventHandlerOnConnectionStateChangedJsonFromJson( @@ -2556,12 +3426,20 @@ RtcEngineEventHandlerOnConnectionStateChangedJson ); Map _$RtcEngineEventHandlerOnConnectionStateChangedJsonToJson( - RtcEngineEventHandlerOnConnectionStateChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'state': _$ConnectionStateTypeEnumMap[instance.state], - 'reason': _$ConnectionChangedReasonTypeEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnConnectionStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('state', _$ConnectionStateTypeEnumMap[instance.state]); + writeNotNull('reason', _$ConnectionChangedReasonTypeEnumMap[instance.reason]); + return val; +} const _$ConnectionStateTypeEnumMap = { ConnectionStateType.connectionStateDisconnected: 1, @@ -2615,13 +3493,21 @@ RtcEngineEventHandlerOnWlAccMessageJson ); Map _$RtcEngineEventHandlerOnWlAccMessageJsonToJson( - RtcEngineEventHandlerOnWlAccMessageJson instance) => - { - 'connection': instance.connection?.toJson(), - 'reason': _$WlaccMessageReasonEnumMap[instance.reason], - 'action': _$WlaccSuggestActionEnumMap[instance.action], - 'wlAccMsg': instance.wlAccMsg, - }; + RtcEngineEventHandlerOnWlAccMessageJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('reason', _$WlaccMessageReasonEnumMap[instance.reason]); + writeNotNull('action', _$WlaccSuggestActionEnumMap[instance.action]); + writeNotNull('wlAccMsg', instance.wlAccMsg); + return val; +} const _$WlaccMessageReasonEnumMap = { WlaccMessageReason.wlaccMessageReasonWeakSignal: 0, @@ -2654,12 +3540,20 @@ RtcEngineEventHandlerOnWlAccStatsJson ); Map _$RtcEngineEventHandlerOnWlAccStatsJsonToJson( - RtcEngineEventHandlerOnWlAccStatsJson instance) => - { - 'connection': instance.connection?.toJson(), - 'currentStats': instance.currentStats?.toJson(), - 'averageStats': instance.averageStats?.toJson(), - }; + RtcEngineEventHandlerOnWlAccStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('currentStats', instance.currentStats?.toJson()); + writeNotNull('averageStats', instance.averageStats?.toJson()); + return val; +} RtcEngineEventHandlerOnNetworkTypeChangedJson _$RtcEngineEventHandlerOnNetworkTypeChangedJsonFromJson( @@ -2673,11 +3567,19 @@ RtcEngineEventHandlerOnNetworkTypeChangedJson ); Map _$RtcEngineEventHandlerOnNetworkTypeChangedJsonToJson( - RtcEngineEventHandlerOnNetworkTypeChangedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'type': _$NetworkTypeEnumMap[instance.type], - }; + RtcEngineEventHandlerOnNetworkTypeChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('type', _$NetworkTypeEnumMap[instance.type]); + return val; +} const _$NetworkTypeEnumMap = { NetworkType.networkTypeUnknown: -1, @@ -2703,11 +3605,19 @@ RtcEngineEventHandlerOnEncryptionErrorJson ); Map _$RtcEngineEventHandlerOnEncryptionErrorJsonToJson( - RtcEngineEventHandlerOnEncryptionErrorJson instance) => - { - 'connection': instance.connection?.toJson(), - 'errorType': _$EncryptionErrorTypeEnumMap[instance.errorType], - }; + RtcEngineEventHandlerOnEncryptionErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('errorType', _$EncryptionErrorTypeEnumMap[instance.errorType]); + return val; +} const _$EncryptionErrorTypeEnumMap = { EncryptionErrorType.encryptionErrorInternalFailure: 0, @@ -2724,10 +3634,19 @@ RtcEngineEventHandlerOnPermissionErrorJson ); Map _$RtcEngineEventHandlerOnPermissionErrorJsonToJson( - RtcEngineEventHandlerOnPermissionErrorJson instance) => - { - 'permissionType': _$PermissionTypeEnumMap[instance.permissionType], - }; + RtcEngineEventHandlerOnPermissionErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull( + 'permissionType', _$PermissionTypeEnumMap[instance.permissionType]); + return val; +} const _$PermissionTypeEnumMap = { PermissionType.recordAudio: 0, @@ -2744,11 +3663,19 @@ RtcEngineEventHandlerOnLocalUserRegisteredJson ); Map _$RtcEngineEventHandlerOnLocalUserRegisteredJsonToJson( - RtcEngineEventHandlerOnLocalUserRegisteredJson instance) => - { - 'uid': instance.uid, - 'userAccount': instance.userAccount, - }; + RtcEngineEventHandlerOnLocalUserRegisteredJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('uid', instance.uid); + writeNotNull('userAccount', instance.userAccount); + return val; +} RtcEngineEventHandlerOnUserInfoUpdatedJson _$RtcEngineEventHandlerOnUserInfoUpdatedJsonFromJson( @@ -2761,11 +3688,19 @@ RtcEngineEventHandlerOnUserInfoUpdatedJson ); Map _$RtcEngineEventHandlerOnUserInfoUpdatedJsonToJson( - RtcEngineEventHandlerOnUserInfoUpdatedJson instance) => - { - 'uid': instance.uid, - 'info': instance.info?.toJson(), - }; + RtcEngineEventHandlerOnUserInfoUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('uid', instance.uid); + writeNotNull('info', instance.info?.toJson()); + return val; +} RtcEngineEventHandlerOnUserAccountUpdatedJson _$RtcEngineEventHandlerOnUserAccountUpdatedJsonFromJson( @@ -2780,12 +3715,20 @@ RtcEngineEventHandlerOnUserAccountUpdatedJson ); Map _$RtcEngineEventHandlerOnUserAccountUpdatedJsonToJson( - RtcEngineEventHandlerOnUserAccountUpdatedJson instance) => - { - 'connection': instance.connection?.toJson(), - 'remoteUid': instance.remoteUid, - 'remoteUserAccount': instance.remoteUserAccount, - }; + RtcEngineEventHandlerOnUserAccountUpdatedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('remoteUid', instance.remoteUid); + writeNotNull('remoteUserAccount', instance.remoteUserAccount); + return val; +} RtcEngineEventHandlerOnVideoRenderingTracingResultJson _$RtcEngineEventHandlerOnVideoRenderingTracingResultJsonFromJson( @@ -2806,13 +3749,21 @@ RtcEngineEventHandlerOnVideoRenderingTracingResultJson Map _$RtcEngineEventHandlerOnVideoRenderingTracingResultJsonToJson( - RtcEngineEventHandlerOnVideoRenderingTracingResultJson instance) => - { - 'connection': instance.connection?.toJson(), - 'uid': instance.uid, - 'currentEvent': _$MediaTraceEventEnumMap[instance.currentEvent], - 'tracingInfo': instance.tracingInfo?.toJson(), - }; + RtcEngineEventHandlerOnVideoRenderingTracingResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('uid', instance.uid); + writeNotNull('currentEvent', _$MediaTraceEventEnumMap[instance.currentEvent]); + writeNotNull('tracingInfo', instance.tracingInfo?.toJson()); + return val; +} const _$MediaTraceEventEnumMap = { MediaTraceEvent.mediaTraceEventVideoRendered: 0, @@ -2833,11 +3784,19 @@ RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson Map _$RtcEngineEventHandlerOnLocalVideoTranscoderErrorJsonToJson( - RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson instance) => - { - 'stream': instance.stream?.toJson(), - 'error': _$VideoTranscoderErrorEnumMap[instance.error], - }; + RtcEngineEventHandlerOnLocalVideoTranscoderErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('stream', instance.stream?.toJson()); + writeNotNull('error', _$VideoTranscoderErrorEnumMap[instance.error]); + return val; +} const _$VideoTranscoderErrorEnumMap = { VideoTranscoderError.vtErrVideoSourceNotReady: 1, @@ -2863,13 +3822,21 @@ RtcEngineEventHandlerOnUploadLogResultJson ); Map _$RtcEngineEventHandlerOnUploadLogResultJsonToJson( - RtcEngineEventHandlerOnUploadLogResultJson instance) => - { - 'connection': instance.connection?.toJson(), - 'requestId': instance.requestId, - 'success': instance.success, - 'reason': _$UploadErrorReasonEnumMap[instance.reason], - }; + RtcEngineEventHandlerOnUploadLogResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('requestId', instance.requestId); + writeNotNull('success', instance.success); + writeNotNull('reason', _$UploadErrorReasonEnumMap[instance.reason]); + return val; +} const _$UploadErrorReasonEnumMap = { UploadErrorReason.uploadSuccess: 0, @@ -2892,14 +3859,22 @@ RtcEngineEventHandlerOnAudioSubscribeStateChangedJson Map _$RtcEngineEventHandlerOnAudioSubscribeStateChangedJsonToJson( - RtcEngineEventHandlerOnAudioSubscribeStateChangedJson instance) => - { - 'channel': instance.channel, - 'uid': instance.uid, - 'oldState': _$StreamSubscribeStateEnumMap[instance.oldState], - 'newState': _$StreamSubscribeStateEnumMap[instance.newState], - 'elapseSinceLastState': instance.elapseSinceLastState, - }; + RtcEngineEventHandlerOnAudioSubscribeStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channel', instance.channel); + writeNotNull('uid', instance.uid); + writeNotNull('oldState', _$StreamSubscribeStateEnumMap[instance.oldState]); + writeNotNull('newState', _$StreamSubscribeStateEnumMap[instance.newState]); + writeNotNull('elapseSinceLastState', instance.elapseSinceLastState); + return val; +} const _$StreamSubscribeStateEnumMap = { StreamSubscribeState.subStateIdle: 0, @@ -2923,14 +3898,22 @@ RtcEngineEventHandlerOnVideoSubscribeStateChangedJson Map _$RtcEngineEventHandlerOnVideoSubscribeStateChangedJsonToJson( - RtcEngineEventHandlerOnVideoSubscribeStateChangedJson instance) => - { - 'channel': instance.channel, - 'uid': instance.uid, - 'oldState': _$StreamSubscribeStateEnumMap[instance.oldState], - 'newState': _$StreamSubscribeStateEnumMap[instance.newState], - 'elapseSinceLastState': instance.elapseSinceLastState, - }; + RtcEngineEventHandlerOnVideoSubscribeStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channel', instance.channel); + writeNotNull('uid', instance.uid); + writeNotNull('oldState', _$StreamSubscribeStateEnumMap[instance.oldState]); + writeNotNull('newState', _$StreamSubscribeStateEnumMap[instance.newState]); + writeNotNull('elapseSinceLastState', instance.elapseSinceLastState); + return val; +} RtcEngineEventHandlerOnAudioPublishStateChangedJson _$RtcEngineEventHandlerOnAudioPublishStateChangedJsonFromJson( @@ -2946,13 +3929,21 @@ RtcEngineEventHandlerOnAudioPublishStateChangedJson Map _$RtcEngineEventHandlerOnAudioPublishStateChangedJsonToJson( - RtcEngineEventHandlerOnAudioPublishStateChangedJson instance) => - { - 'channel': instance.channel, - 'oldState': _$StreamPublishStateEnumMap[instance.oldState], - 'newState': _$StreamPublishStateEnumMap[instance.newState], - 'elapseSinceLastState': instance.elapseSinceLastState, - }; + RtcEngineEventHandlerOnAudioPublishStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('channel', instance.channel); + writeNotNull('oldState', _$StreamPublishStateEnumMap[instance.oldState]); + writeNotNull('newState', _$StreamPublishStateEnumMap[instance.newState]); + writeNotNull('elapseSinceLastState', instance.elapseSinceLastState); + return val; +} const _$StreamPublishStateEnumMap = { StreamPublishState.pubStateIdle: 0, @@ -2976,14 +3967,22 @@ RtcEngineEventHandlerOnVideoPublishStateChangedJson Map _$RtcEngineEventHandlerOnVideoPublishStateChangedJsonToJson( - RtcEngineEventHandlerOnVideoPublishStateChangedJson instance) => - { - 'source': _$VideoSourceTypeEnumMap[instance.source], - 'channel': instance.channel, - 'oldState': _$StreamPublishStateEnumMap[instance.oldState], - 'newState': _$StreamPublishStateEnumMap[instance.newState], - 'elapseSinceLastState': instance.elapseSinceLastState, - }; + RtcEngineEventHandlerOnVideoPublishStateChangedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('source', _$VideoSourceTypeEnumMap[instance.source]); + writeNotNull('channel', instance.channel); + writeNotNull('oldState', _$StreamPublishStateEnumMap[instance.oldState]); + writeNotNull('newState', _$StreamPublishStateEnumMap[instance.newState]); + writeNotNull('elapseSinceLastState', instance.elapseSinceLastState); + return val; +} RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson _$RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJsonFromJson( @@ -3004,15 +4003,24 @@ RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson Map _$RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJsonToJson( - RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson instance) => - { - 'connection': instance.connection?.toJson(), - 'uid': instance.uid, - 'width': instance.width, - 'height': instance.height, - 'layoutCount': instance.layoutCount, - 'layoutlist': instance.layoutlist?.map((e) => e.toJson()).toList(), - }; + RtcEngineEventHandlerOnTranscodedStreamLayoutInfoJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('uid', instance.uid); + writeNotNull('width', instance.width); + writeNotNull('height', instance.height); + writeNotNull('layoutCount', instance.layoutCount); + writeNotNull( + 'layoutlist', instance.layoutlist?.map((e) => e.toJson()).toList()); + return val; +} RtcEngineEventHandlerOnExtensionEventJson _$RtcEngineEventHandlerOnExtensionEventJsonFromJson( @@ -3025,13 +4033,21 @@ RtcEngineEventHandlerOnExtensionEventJson ); Map _$RtcEngineEventHandlerOnExtensionEventJsonToJson( - RtcEngineEventHandlerOnExtensionEventJson instance) => - { - 'provider': instance.provider, - 'extension': instance.extension, - 'key': instance.key, - 'value': instance.value, - }; + RtcEngineEventHandlerOnExtensionEventJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('provider', instance.provider); + writeNotNull('extension', instance.extension); + writeNotNull('key', instance.key); + writeNotNull('value', instance.value); + return val; +} RtcEngineEventHandlerOnExtensionStartedJson _$RtcEngineEventHandlerOnExtensionStartedJsonFromJson( @@ -3042,11 +4058,19 @@ RtcEngineEventHandlerOnExtensionStartedJson ); Map _$RtcEngineEventHandlerOnExtensionStartedJsonToJson( - RtcEngineEventHandlerOnExtensionStartedJson instance) => - { - 'provider': instance.provider, - 'extension': instance.extension, - }; + RtcEngineEventHandlerOnExtensionStartedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('provider', instance.provider); + writeNotNull('extension', instance.extension); + return val; +} RtcEngineEventHandlerOnExtensionStoppedJson _$RtcEngineEventHandlerOnExtensionStoppedJsonFromJson( @@ -3057,11 +4081,19 @@ RtcEngineEventHandlerOnExtensionStoppedJson ); Map _$RtcEngineEventHandlerOnExtensionStoppedJsonToJson( - RtcEngineEventHandlerOnExtensionStoppedJson instance) => - { - 'provider': instance.provider, - 'extension': instance.extension, - }; + RtcEngineEventHandlerOnExtensionStoppedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('provider', instance.provider); + writeNotNull('extension', instance.extension); + return val; +} RtcEngineEventHandlerOnExtensionErrorJson _$RtcEngineEventHandlerOnExtensionErrorJsonFromJson( @@ -3074,13 +4106,21 @@ RtcEngineEventHandlerOnExtensionErrorJson ); Map _$RtcEngineEventHandlerOnExtensionErrorJsonToJson( - RtcEngineEventHandlerOnExtensionErrorJson instance) => - { - 'provider': instance.provider, - 'extension': instance.extension, - 'error': instance.error, - 'message': instance.message, - }; + RtcEngineEventHandlerOnExtensionErrorJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('provider', instance.provider); + writeNotNull('extension', instance.extension); + writeNotNull('error', instance.error); + writeNotNull('message', instance.message); + return val; +} RtcEngineEventHandlerOnSetRtmFlagResultJson _$RtcEngineEventHandlerOnSetRtmFlagResultJsonFromJson( @@ -3094,11 +4134,19 @@ RtcEngineEventHandlerOnSetRtmFlagResultJson ); Map _$RtcEngineEventHandlerOnSetRtmFlagResultJsonToJson( - RtcEngineEventHandlerOnSetRtmFlagResultJson instance) => - { - 'connection': instance.connection?.toJson(), - 'code': instance.code, - }; + RtcEngineEventHandlerOnSetRtmFlagResultJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('connection', instance.connection?.toJson()); + writeNotNull('code', instance.code); + return val; +} MetadataObserverOnMetadataReceivedJson _$MetadataObserverOnMetadataReceivedJsonFromJson( @@ -3110,10 +4158,18 @@ MetadataObserverOnMetadataReceivedJson ); Map _$MetadataObserverOnMetadataReceivedJsonToJson( - MetadataObserverOnMetadataReceivedJson instance) => - { - 'metadata': instance.metadata?.toJson(), - }; + MetadataObserverOnMetadataReceivedJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('metadata', instance.metadata?.toJson()); + return val; +} DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJsonFromJson( @@ -3128,13 +4184,21 @@ DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson Map _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJsonToJson( - DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson - instance) => - { - 'state': _$DirectCdnStreamingStateEnumMap[instance.state], - 'reason': _$DirectCdnStreamingReasonEnumMap[instance.reason], - 'message': instance.message, - }; + DirectCdnStreamingEventHandlerOnDirectCdnStreamingStateChangedJson + instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('state', _$DirectCdnStreamingStateEnumMap[instance.state]); + writeNotNull('reason', _$DirectCdnStreamingReasonEnumMap[instance.reason]); + writeNotNull('message', instance.message); + return val; +} const _$DirectCdnStreamingStateEnumMap = { DirectCdnStreamingState.directCdnStreamingStateIdle: 0, @@ -3165,8 +4229,15 @@ DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson Map _$DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJsonToJson( - DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson - instance) => - { - 'stats': instance.stats?.toJson(), - }; + DirectCdnStreamingEventHandlerOnDirectCdnStreamingStatsJson instance) { + final val = {}; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('stats', instance.stats?.toJson()); + return val; +} diff --git a/lib/src/impl/platform/io/native_iris_api_engine_bindings.dart b/lib/src/impl/platform/io/native_iris_api_engine_bindings.dart index 79222097f..a95768bf2 100644 --- a/lib/src/impl/platform/io/native_iris_api_engine_bindings.dart +++ b/lib/src/impl/platform/io/native_iris_api_engine_bindings.dart @@ -386,9 +386,8 @@ class NativeIrisApiEngineBinding { } late final _StopDumpVideoPtr = _lookup< - ffi - .NativeFunction>( - 'StopDumpVideo'); + ffi.NativeFunction< + ffi.Int32 Function(IrisVideoFrameBufferManagerPtr)>>('StopDumpVideo'); late final _StopDumpVideo = _StopDumpVideoPtr.asFunction< int Function(IrisVideoFrameBufferManagerPtr)>(); diff --git a/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart b/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart index 6259355bd..2aab81f69 100644 --- a/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart +++ b/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart @@ -1,17 +1,5 @@ /// Event Ids mapping of iris api id. const eventIdsMapping = { - "PacketObserver_onSendAudioPacket": [ - "PacketObserver_onSendAudioPacket_4ad95e3" - ], - "PacketObserver_onSendVideoPacket": [ - "PacketObserver_onSendVideoPacket_4ad95e3" - ], - "PacketObserver_onReceiveAudioPacket": [ - "PacketObserver_onReceiveAudioPacket_4ad95e3" - ], - "PacketObserver_onReceiveVideoPacket": [ - "PacketObserver_onReceiveVideoPacket_4ad95e3" - ], "AudioEncodedFrameObserver_onRecordAudioEncodedFrame": [ "AudioEncodedFrameObserver_onRecordAudioEncodedFrame_d930ddc" ], @@ -21,82 +9,21 @@ const eventIdsMapping = { "AudioEncodedFrameObserver_onMixedAudioEncodedFrame": [ "AudioEncodedFrameObserver_onMixedAudioEncodedFrame_d930ddc" ], - "LicenseCallback_onCertificateRequired": [ - "LicenseCallback_onCertificateRequired" - ], - "LicenseCallback_onLicenseRequest": ["LicenseCallback_onLicenseRequest"], - "LicenseCallback_onLicenseValidated": ["LicenseCallback_onLicenseValidated"], - "LicenseCallback_onLicenseError": ["LicenseCallback_onLicenseError_46f8ab7"], - "VideoFrameObserver_onFrame": ["VideoFrameObserver_onFrame_d715140"], - "VideoFrameObserver_isExternal": [ - "VideoFrameObserver_isExternal", - "VideoFrameObserver_isExternal" - ], - "VideoFrameObserver_getVideoFormatPreference": [ - "VideoFrameObserver_getVideoFormatPreference", - "VideoFrameObserver_getVideoFormatPreference" - ], "AudioPcmFrameSink_onFrame": ["AudioPcmFrameSink_onFrame_95f515a"], "AudioFrameObserverBase_onRecordAudioFrame": [ - "AudioFrameObserver_onRecordAudioFrame_4c8de15" + "AudioFrameObserverBase_onRecordAudioFrame_4c8de15" ], "AudioFrameObserverBase_onPlaybackAudioFrame": [ - "AudioFrameObserver_onPlaybackAudioFrame_4c8de15" + "AudioFrameObserverBase_onPlaybackAudioFrame_4c8de15" ], "AudioFrameObserverBase_onMixedAudioFrame": [ - "AudioFrameObserver_onMixedAudioFrame_4c8de15" + "AudioFrameObserverBase_onMixedAudioFrame_4c8de15" ], "AudioFrameObserverBase_onEarMonitoringAudioFrame": [ - "AudioFrameObserver_onEarMonitoringAudioFrame_5405a47" - ], - "AudioFrameObserverBase_onPlaybackAudioFrameBeforeMixing": [ - "AudioFrameObserver_onPlaybackAudioFrameBeforeMixing_9215cc7" - ], - "AudioFrameObserverBase_getObservedAudioFramePosition": [ - "AudioFrameObserver_getObservedAudioFramePosition" - ], - "AudioFrameObserverBase_getPlaybackAudioParams": [ - "AudioFrameObserver_getPlaybackAudioParams" - ], - "AudioFrameObserverBase_getRecordAudioParams": [ - "AudioFrameObserver_getRecordAudioParams" - ], - "AudioFrameObserverBase_getMixedAudioParams": [ - "AudioFrameObserver_getMixedAudioParams" - ], - "AudioFrameObserverBase_getEarMonitoringAudioParams": [ - "AudioFrameObserver_getEarMonitoringAudioParams" + "AudioFrameObserverBase_onEarMonitoringAudioFrame_5405a47" ], "AudioFrameObserver_onPlaybackAudioFrameBeforeMixing": [ - "AudioFrameObserver_onPlaybackAudioFrameBeforeMixing_85ec0fc", - "AudioFrameObserver_onPlaybackAudioFrameBeforeMixing_9215cc7" - ], - "AudioFrameObserver_onRecordAudioFrame": [ - "AudioFrameObserver_onRecordAudioFrame_4c8de15" - ], - "AudioFrameObserver_onPlaybackAudioFrame": [ - "AudioFrameObserver_onPlaybackAudioFrame_4c8de15" - ], - "AudioFrameObserver_onMixedAudioFrame": [ - "AudioFrameObserver_onMixedAudioFrame_4c8de15" - ], - "AudioFrameObserver_onEarMonitoringAudioFrame": [ - "AudioFrameObserver_onEarMonitoringAudioFrame_5405a47" - ], - "AudioFrameObserver_getObservedAudioFramePosition": [ - "AudioFrameObserver_getObservedAudioFramePosition" - ], - "AudioFrameObserver_getPlaybackAudioParams": [ - "AudioFrameObserver_getPlaybackAudioParams" - ], - "AudioFrameObserver_getRecordAudioParams": [ - "AudioFrameObserver_getRecordAudioParams" - ], - "AudioFrameObserver_getMixedAudioParams": [ - "AudioFrameObserver_getMixedAudioParams" - ], - "AudioFrameObserver_getEarMonitoringAudioParams": [ - "AudioFrameObserver_getEarMonitoringAudioParams" + "AudioFrameObserver_onPlaybackAudioFrameBeforeMixing_85ec0fc" ], "AudioSpectrumObserver_onLocalAudioSpectrum": [ "AudioSpectrumObserver_onLocalAudioSpectrum_5822fed" @@ -122,30 +49,12 @@ const eventIdsMapping = { "VideoFrameObserver_onTranscodedVideoFrame": [ "VideoFrameObserver_onTranscodedVideoFrame_27754d8" ], - "VideoFrameObserver_getVideoFrameProcessMode": [ - "VideoFrameObserver_getVideoFrameProcessMode" - ], - "VideoFrameObserver_getRotationApplied": [ - "VideoFrameObserver_getRotationApplied" - ], - "VideoFrameObserver_getMirrorApplied": [ - "VideoFrameObserver_getMirrorApplied" - ], - "VideoFrameObserver_getObservedFramePosition": [ - "VideoFrameObserver_getObservedFramePosition" - ], "MediaRecorderObserver_onRecorderStateChanged": [ "MediaRecorderObserver_onRecorderStateChanged_c38849f" ], "MediaRecorderObserver_onRecorderInfoUpdated": [ "MediaRecorderObserver_onRecorderInfoUpdated_64fa74a" ], - "MediaPlayerCustomDataProvider_onReadData": [ - "MediaPlayerCustomDataProvider_onReadData_6e75338" - ], - "MediaPlayerCustomDataProvider_onSeek": [ - "MediaPlayerCustomDataProvider_onSeek_624d569" - ], "H265TranscoderObserver_onEnableTranscode": [ "H265TranscoderObserver_onEnableTranscode_6ba6646" ], @@ -155,6 +64,7 @@ const eventIdsMapping = { "H265TranscoderObserver_onTriggerTranscode": [ "H265TranscoderObserver_onTriggerTranscode_6ba6646" ], + "MediaPlayerVideoFrameObserver_onFrame": [""], "MediaPlayerSourceObserver_onPlayerSourceStateChanged": [ "MediaPlayerSourceObserver_onPlayerSourceStateChanged_7fb38f1" ], @@ -194,24 +104,6 @@ const eventIdsMapping = { "MediaPlayerSourceObserver_onAudioVolumeIndication": [ "MediaPlayerSourceObserver_onAudioVolumeIndication_46f8ab7" ], - "MediaStreamingSourceObserver_onStateChanged": [ - "MediaStreamingSourceObserver_onStateChanged_245f90c" - ], - "MediaStreamingSourceObserver_onOpenDone": [ - "MediaStreamingSourceObserver_onOpenDone_2dddc98" - ], - "MediaStreamingSourceObserver_onSeekDone": [ - "MediaStreamingSourceObserver_onSeekDone_2dddc98" - ], - "MediaStreamingSourceObserver_onEofOnce": [ - "MediaStreamingSourceObserver_onEofOnce_303b92e" - ], - "MediaStreamingSourceObserver_onProgress": [ - "MediaStreamingSourceObserver_onProgress_f631116" - ], - "MediaStreamingSourceObserver_onMetaData": [ - "MediaStreamingSourceObserver_onMetaData_469a01b" - ], "MusicContentCenterEventHandler_onMusicChartsResult": [ "MusicContentCenterEventHandler_onMusicChartsResult_fb18135" ], diff --git a/test_shard/fake_test_app/integration_test/generated/mediaplayer_fake_test.generated.dart b/test_shard/fake_test_app/integration_test/generated/mediaplayer_fake_test.generated.dart index 97f004b42..19133f9b9 100644 --- a/test_shard/fake_test_app/integration_test/generated/mediaplayer_fake_test.generated.dart +++ b/test_shard/fake_test_app/integration_test/generated/mediaplayer_fake_test.generated.dart @@ -690,92 +690,6 @@ void mediaPlayerControllerSmokeTestCases() { // skip: !(), ); - testWidgets( - 'MediaPlayer.setPlayerOptionInInt', - (WidgetTester tester) async { - String engineAppId = const String.fromEnvironment('TEST_APP_ID', - defaultValue: ''); - - RtcEngine rtcEngine = createAgoraRtcEngine(); - await rtcEngine.initialize(RtcEngineContext( - appId: engineAppId, - areaCode: AreaCode.areaCodeGlob.value(), - )); - await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); - - final mediaPlayerController = MediaPlayerController( - rtcEngine: rtcEngine, canvas: const VideoCanvas(uid: 0)); - await mediaPlayerController.initialize(); - - try { - const String key = "hello"; - const int value = 10; - await mediaPlayerController.setPlayerOptionInInt( - key: key, - value: value, - ); - } catch (e) { - if (e is! AgoraRtcException) { - debugPrint( - '[MediaPlayer.setPlayerOptionInInt] error: ${e.toString()}'); - rethrow; - } - - if (e.code != -4) { - // Only not supported error supported. - rethrow; - } - } - - await mediaPlayerController.dispose(); - await rtcEngine.release(); - }, -// skip: !(), - ); - - testWidgets( - 'MediaPlayer.setPlayerOptionInString', - (WidgetTester tester) async { - String engineAppId = const String.fromEnvironment('TEST_APP_ID', - defaultValue: ''); - - RtcEngine rtcEngine = createAgoraRtcEngine(); - await rtcEngine.initialize(RtcEngineContext( - appId: engineAppId, - areaCode: AreaCode.areaCodeGlob.value(), - )); - await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); - - final mediaPlayerController = MediaPlayerController( - rtcEngine: rtcEngine, canvas: const VideoCanvas(uid: 0)); - await mediaPlayerController.initialize(); - - try { - const String key = "hello"; - const String value = "hello"; - await mediaPlayerController.setPlayerOptionInString( - key: key, - value: value, - ); - } catch (e) { - if (e is! AgoraRtcException) { - debugPrint( - '[MediaPlayer.setPlayerOptionInString] error: ${e.toString()}'); - rethrow; - } - - if (e.code != -4) { - // Only not supported error supported. - rethrow; - } - } - - await mediaPlayerController.dispose(); - await rtcEngine.release(); - }, -// skip: !(), - ); - testWidgets( 'MediaPlayer.takeScreenshot', (WidgetTester tester) async { @@ -2296,4 +2210,90 @@ void mediaPlayerControllerSmokeTestCases() { }, // skip: !(), ); + + testWidgets( + 'MediaPlayer.setPlayerOptionInInt', + (WidgetTester tester) async { + String engineAppId = const String.fromEnvironment('TEST_APP_ID', + defaultValue: ''); + + RtcEngine rtcEngine = createAgoraRtcEngine(); + await rtcEngine.initialize(RtcEngineContext( + appId: engineAppId, + areaCode: AreaCode.areaCodeGlob.value(), + )); + await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); + + final mediaPlayerController = MediaPlayerController( + rtcEngine: rtcEngine, canvas: const VideoCanvas(uid: 0)); + await mediaPlayerController.initialize(); + + try { + const String key = "hello"; + const int value = 10; + await mediaPlayerController.setPlayerOptionInInt( + key: key, + value: value, + ); + } catch (e) { + if (e is! AgoraRtcException) { + debugPrint( + '[MediaPlayer.setPlayerOptionInInt] error: ${e.toString()}'); + rethrow; + } + + if (e.code != -4) { + // Only not supported error supported. + rethrow; + } + } + + await mediaPlayerController.dispose(); + await rtcEngine.release(); + }, +// skip: !(), + ); + + testWidgets( + 'MediaPlayer.setPlayerOptionInString', + (WidgetTester tester) async { + String engineAppId = const String.fromEnvironment('TEST_APP_ID', + defaultValue: ''); + + RtcEngine rtcEngine = createAgoraRtcEngine(); + await rtcEngine.initialize(RtcEngineContext( + appId: engineAppId, + areaCode: AreaCode.areaCodeGlob.value(), + )); + await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); + + final mediaPlayerController = MediaPlayerController( + rtcEngine: rtcEngine, canvas: const VideoCanvas(uid: 0)); + await mediaPlayerController.initialize(); + + try { + const String key = "hello"; + const String value = "hello"; + await mediaPlayerController.setPlayerOptionInString( + key: key, + value: value, + ); + } catch (e) { + if (e is! AgoraRtcException) { + debugPrint( + '[MediaPlayer.setPlayerOptionInString] error: ${e.toString()}'); + rethrow; + } + + if (e.code != -4) { + // Only not supported error supported. + rethrow; + } + } + + await mediaPlayerController.dispose(); + await rtcEngine.release(); + }, +// skip: !(), + ); } diff --git a/test_shard/fake_test_app/integration_test/generated/rtcengine_fake_test.generated.dart b/test_shard/fake_test_app/integration_test/generated/rtcengine_fake_test.generated.dart index 2aa8b05c6..39e51ce17 100644 --- a/test_shard/fake_test_app/integration_test/generated/rtcengine_fake_test.generated.dart +++ b/test_shard/fake_test_app/integration_test/generated/rtcengine_fake_test.generated.dart @@ -887,38 +887,6 @@ void rtcEngineSmokeTestCases() { }, ); - testWidgets( - 'RtcEngine.startPreviewWithoutSourceType', - (WidgetTester tester) async { - String engineAppId = const String.fromEnvironment('TEST_APP_ID', - defaultValue: ''); - - RtcEngine rtcEngine = createAgoraRtcEngine(); - await rtcEngine.initialize(RtcEngineContext( - appId: engineAppId, - areaCode: AreaCode.areaCodeGlob.value(), - )); - await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); - - try { - await rtcEngine.startPreviewWithoutSourceType(); - } catch (e) { - if (e is! AgoraRtcException) { - debugPrint( - '[RtcEngine.startPreviewWithoutSourceType] error: ${e.toString()}'); - rethrow; - } - - if (e.code != -4) { - // Only not supported error supported. - rethrow; - } - } - - await rtcEngine.release(); - }, - ); - testWidgets( 'RtcEngine.stopPreview', (WidgetTester tester) async { @@ -6894,101 +6862,6 @@ void rtcEngineSmokeTestCases() { }, ); - testWidgets( - 'RtcEngine.startScreenCaptureBySourceType', - (WidgetTester tester) async { - String engineAppId = const String.fromEnvironment('TEST_APP_ID', - defaultValue: ''); - - RtcEngine rtcEngine = createAgoraRtcEngine(); - await rtcEngine.initialize(RtcEngineContext( - appId: engineAppId, - areaCode: AreaCode.areaCodeGlob.value(), - )); - await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); - - try { - const VideoSourceType sourceType = - VideoSourceType.videoSourceCameraPrimary; - const int screenRectX = 10; - const int screenRectY = 10; - const int screenRectWidth = 10; - const int screenRectHeight = 10; - const Rectangle configScreenRect = Rectangle( - x: screenRectX, - y: screenRectY, - width: screenRectWidth, - height: screenRectHeight, - ); - const int dimensionsWidth = 10; - const int dimensionsHeight = 10; - const VideoDimensions paramsDimensions = VideoDimensions( - width: dimensionsWidth, - height: dimensionsHeight, - ); - const int paramsFrameRate = 10; - const int paramsBitrate = 10; - const bool paramsCaptureMouseCursor = true; - const bool paramsWindowFocus = true; - const List paramsExcludeWindowList = []; - const int paramsExcludeWindowCount = 10; - const int paramsHighLightWidth = 10; - const int paramsHighLightColor = 10; - const bool paramsEnableHighLight = true; - const ScreenCaptureParameters configParams = ScreenCaptureParameters( - dimensions: paramsDimensions, - frameRate: paramsFrameRate, - bitrate: paramsBitrate, - captureMouseCursor: paramsCaptureMouseCursor, - windowFocus: paramsWindowFocus, - excludeWindowList: paramsExcludeWindowList, - excludeWindowCount: paramsExcludeWindowCount, - highLightWidth: paramsHighLightWidth, - highLightColor: paramsHighLightColor, - enableHighLight: paramsEnableHighLight, - ); - const int regionRectX = 10; - const int regionRectY = 10; - const int regionRectWidth = 10; - const int regionRectHeight = 10; - const Rectangle configRegionRect = Rectangle( - x: regionRectX, - y: regionRectY, - width: regionRectWidth, - height: regionRectHeight, - ); - const bool configIsCaptureWindow = true; - const int configDisplayId = 10; - const int configWindowId = 10; - const ScreenCaptureConfiguration config = ScreenCaptureConfiguration( - isCaptureWindow: configIsCaptureWindow, - displayId: configDisplayId, - screenRect: configScreenRect, - windowId: configWindowId, - params: configParams, - regionRect: configRegionRect, - ); - await rtcEngine.startScreenCaptureBySourceType( - sourceType: sourceType, - config: config, - ); - } catch (e) { - if (e is! AgoraRtcException) { - debugPrint( - '[RtcEngine.startScreenCaptureBySourceType] error: ${e.toString()}'); - rethrow; - } - - if (e.code != -4) { - // Only not supported error supported. - rethrow; - } - } - - await rtcEngine.release(); - }, - ); - testWidgets( 'RtcEngine.updateScreenCapture', (WidgetTester tester) async { @@ -7155,42 +7028,6 @@ void rtcEngineSmokeTestCases() { }, ); - testWidgets( - 'RtcEngine.stopScreenCaptureBySourceType', - (WidgetTester tester) async { - String engineAppId = const String.fromEnvironment('TEST_APP_ID', - defaultValue: ''); - - RtcEngine rtcEngine = createAgoraRtcEngine(); - await rtcEngine.initialize(RtcEngineContext( - appId: engineAppId, - areaCode: AreaCode.areaCodeGlob.value(), - )); - await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); - - try { - const VideoSourceType sourceType = - VideoSourceType.videoSourceCameraPrimary; - await rtcEngine.stopScreenCaptureBySourceType( - sourceType, - ); - } catch (e) { - if (e is! AgoraRtcException) { - debugPrint( - '[RtcEngine.stopScreenCaptureBySourceType] error: ${e.toString()}'); - rethrow; - } - - if (e.code != -4) { - // Only not supported error supported. - rethrow; - } - } - - await rtcEngine.release(); - }, - ); - testWidgets( 'RtcEngine.getCallId', (WidgetTester tester) async { @@ -10356,6 +10193,137 @@ void rtcEngineSmokeTestCases() { }, ); + testWidgets( + 'RtcEngine.startScreenCaptureBySourceType', + (WidgetTester tester) async { + String engineAppId = const String.fromEnvironment('TEST_APP_ID', + defaultValue: ''); + + RtcEngine rtcEngine = createAgoraRtcEngine(); + await rtcEngine.initialize(RtcEngineContext( + appId: engineAppId, + areaCode: AreaCode.areaCodeGlob.value(), + )); + await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); + + try { + const VideoSourceType sourceType = + VideoSourceType.videoSourceCameraPrimary; + const int screenRectX = 10; + const int screenRectY = 10; + const int screenRectWidth = 10; + const int screenRectHeight = 10; + const Rectangle configScreenRect = Rectangle( + x: screenRectX, + y: screenRectY, + width: screenRectWidth, + height: screenRectHeight, + ); + const int dimensionsWidth = 10; + const int dimensionsHeight = 10; + const VideoDimensions paramsDimensions = VideoDimensions( + width: dimensionsWidth, + height: dimensionsHeight, + ); + const int paramsFrameRate = 10; + const int paramsBitrate = 10; + const bool paramsCaptureMouseCursor = true; + const bool paramsWindowFocus = true; + const List paramsExcludeWindowList = []; + const int paramsExcludeWindowCount = 10; + const int paramsHighLightWidth = 10; + const int paramsHighLightColor = 10; + const bool paramsEnableHighLight = true; + const ScreenCaptureParameters configParams = ScreenCaptureParameters( + dimensions: paramsDimensions, + frameRate: paramsFrameRate, + bitrate: paramsBitrate, + captureMouseCursor: paramsCaptureMouseCursor, + windowFocus: paramsWindowFocus, + excludeWindowList: paramsExcludeWindowList, + excludeWindowCount: paramsExcludeWindowCount, + highLightWidth: paramsHighLightWidth, + highLightColor: paramsHighLightColor, + enableHighLight: paramsEnableHighLight, + ); + const int regionRectX = 10; + const int regionRectY = 10; + const int regionRectWidth = 10; + const int regionRectHeight = 10; + const Rectangle configRegionRect = Rectangle( + x: regionRectX, + y: regionRectY, + width: regionRectWidth, + height: regionRectHeight, + ); + const bool configIsCaptureWindow = true; + const int configDisplayId = 10; + const int configWindowId = 10; + const ScreenCaptureConfiguration config = ScreenCaptureConfiguration( + isCaptureWindow: configIsCaptureWindow, + displayId: configDisplayId, + screenRect: configScreenRect, + windowId: configWindowId, + params: configParams, + regionRect: configRegionRect, + ); + await rtcEngine.startScreenCaptureBySourceType( + sourceType: sourceType, + config: config, + ); + } catch (e) { + if (e is! AgoraRtcException) { + debugPrint( + '[RtcEngine.startScreenCaptureBySourceType] error: ${e.toString()}'); + rethrow; + } + + if (e.code != -4) { + // Only not supported error supported. + rethrow; + } + } + + await rtcEngine.release(); + }, + ); + + testWidgets( + 'RtcEngine.stopScreenCaptureBySourceType', + (WidgetTester tester) async { + String engineAppId = const String.fromEnvironment('TEST_APP_ID', + defaultValue: ''); + + RtcEngine rtcEngine = createAgoraRtcEngine(); + await rtcEngine.initialize(RtcEngineContext( + appId: engineAppId, + areaCode: AreaCode.areaCodeGlob.value(), + )); + await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); + + try { + const VideoSourceType sourceType = + VideoSourceType.videoSourceCameraPrimary; + await rtcEngine.stopScreenCaptureBySourceType( + sourceType, + ); + } catch (e) { + if (e is! AgoraRtcException) { + debugPrint( + '[RtcEngine.stopScreenCaptureBySourceType] error: ${e.toString()}'); + rethrow; + } + + if (e.code != -4) { + // Only not supported error supported. + rethrow; + } + } + + await rtcEngine.release(); + }, + ); + testWidgets( 'RtcEngine.release', (WidgetTester tester) async { @@ -10390,6 +10358,38 @@ void rtcEngineSmokeTestCases() { }, ); + testWidgets( + 'RtcEngine.startPreviewWithoutSourceType', + (WidgetTester tester) async { + String engineAppId = const String.fromEnvironment('TEST_APP_ID', + defaultValue: ''); + + RtcEngine rtcEngine = createAgoraRtcEngine(); + await rtcEngine.initialize(RtcEngineContext( + appId: engineAppId, + areaCode: AreaCode.areaCodeGlob.value(), + )); + await rtcEngine.setParameters('{"rtc.enable_debug_log": true}'); + + try { + await rtcEngine.startPreviewWithoutSourceType(); + } catch (e) { + if (e is! AgoraRtcException) { + debugPrint( + '[RtcEngine.startPreviewWithoutSourceType] error: ${e.toString()}'); + rethrow; + } + + if (e.code != -4) { + // Only not supported error supported. + rethrow; + } + } + + await rtcEngine.release(); + }, + ); + testWidgets( 'RtcEngine.getAudioDeviceManager', (WidgetTester tester) async { diff --git a/tool/terra/.gitignore b/tool/terra/.gitignore index 131a5b276..c0e9d51e5 100644 --- a/tool/terra/.gitignore +++ b/tool/terra/.gitignore @@ -2,4 +2,5 @@ node_modules/ package-lock.json .terra .yarn -.yarnrc.yml \ No newline at end of file +.yarnrc.yml +yarn.lock \ No newline at end of file diff --git a/tool/terra/build.sh b/tool/terra/build.sh index fa6ca8a98..896354355 100644 --- a/tool/terra/build.sh +++ b/tool/terra/build.sh @@ -9,9 +9,9 @@ bash ${MY_PATH}/prepare.sh pushd ${MY_PATH} -npm exec terra -- run \ - --config ${PROJECT_ROOT}/tool/terra/legacy_terra_config.yaml \ - --output-dir=${PROJECT_ROOT}/lib/src +# npm exec terra -- run \ +# --config ${PROJECT_ROOT}/tool/terra/legacy_terra_config.yaml \ +# --output-dir=${PROJECT_ROOT}/lib/src # Incremental migrate to the new terra, this will override the existing files npm exec terra -- run \ diff --git a/tool/terra/configs/cud_node_parser.config.ts b/tool/terra/configs/cud_node_parser.config.ts index 9400f948b..e8259c3de 100644 --- a/tool/terra/configs/cud_node_parser.config.ts +++ b/tool/terra/configs/cud_node_parser.config.ts @@ -60,6 +60,296 @@ const deleteNodes = [ namespaces: ["agora", "rtc"], parent_name: "IRtcEngineEventHandlerEx", }, + { + // agora::base::IEngineBase + __TYPE: CXXTYPE.Clazz, + name: "IEngineBase", + namespaces: ["agora", "base"], + }, + { + // agora::base::AParameter + __TYPE: CXXTYPE.Clazz, + name: "AParameter", + namespaces: ["agora", "base"], + }, + { + // agora::util::AutoPtr + __TYPE: CXXTYPE.Clazz, + name: "AutoPtr", + namespaces: ["agora", "util"], + }, + { + // agora::util::CopyableAutoPtr + __TYPE: CXXTYPE.Clazz, + name: "CopyableAutoPtr", + namespaces: ["agora", "util"], + }, + { + // agora::util::IString + __TYPE: CXXTYPE.Clazz, + name: "IString", + namespaces: ["agora", "util"], + }, + { + // agora::util::IIterator + __TYPE: CXXTYPE.Clazz, + name: "IIterator", + namespaces: ["agora", "util"], + }, + { + // agora::util::IContainer + __TYPE: CXXTYPE.Clazz, + name: "IContainer", + namespaces: ["agora", "util"], + }, + { + // agora::util::AOutputIterator + __TYPE: CXXTYPE.Clazz, + name: "AOutputIterator", + namespaces: ["agora", "util"], + }, + { + // agora::util::AList + __TYPE: CXXTYPE.Clazz, + name: "AList", + namespaces: ["agora", "util"], + }, + { + // agora::media::base::IMediaPlayerCustomDataProvider + __TYPE: CXXTYPE.Clazz, + name: "IMediaPlayerCustomDataProvider", + namespaces: ["agora", "media", "base"], + }, + { + // agora::commons::ILogWriter + __TYPE: CXXTYPE.Clazz, + name: "ILogWriter", + namespaces: ["agora", "commons"], + }, + { + // agora::rtc::IMediaPlayerSource + __TYPE: CXXTYPE.Clazz, + name: "IMediaPlayerSource", + namespaces: ["agora", "rtc"], + }, + { + // agora::rtc::IMediaStreamingSource + __TYPE: CXXTYPE.Clazz, + name: "IMediaStreamingSource", + namespaces: ["agora", "rtc"], + }, + { + // agora::rtc::IMediaStreamingSourceObserver + __TYPE: CXXTYPE.Clazz, + name: "IMediaStreamingSourceObserver", + namespaces: ["agora", "rtc"], + }, + { + // agora::rtc::IRhythmPlayer + __TYPE: CXXTYPE.Clazz, + name: "IRhythmPlayer", + namespaces: ["agora", "rtc"], + }, + // agora::media::base::ExternalVideoFrame + { + __TYPE: CXXTYPE.MemberVariable, + name: "eglContext", + namespaces: ["agora", "media", "base"], + parent_name: "ExternalVideoFrame", + }, + { + __TYPE: CXXTYPE.MemberVariable, + name: "d3d11_texture_2d", + namespaces: ["agora", "media", "base"], + parent_name: "ExternalVideoFrame", + }, + // agora::media::base::VideoFrame + { + __TYPE: CXXTYPE.MemberVariable, + name: "sharedContext", + namespaces: ["agora", "media", "base"], + parent_name: "VideoFrame", + }, + { + __TYPE: CXXTYPE.MemberVariable, + name: "d3d11Texture2d", + namespaces: ["agora", "media", "base"], + parent_name: "VideoFrame", + }, + // agora::rtc::LocalSpatialAudioConfig + { + __TYPE: CXXTYPE.Struct, + name: "LocalSpatialAudioConfig", + namespaces: ["agora", "rtc"], + }, + // agora::UserInfo + { + __TYPE: CXXTYPE.Struct, + name: "UserInfo", + namespaces: ["agora"], + member_variables: [ + // Add more info to match the `agora::UserInfo` + { + __TYPE: CXXTYPE.MemberVariable, + name: "hasAudio", + namespaces: ["agora"], + parent_name: "UserInfo", + }, + { + __TYPE: CXXTYPE.MemberVariable, + name: "hasVideo", + namespaces: ["agora"], + parent_name: "UserInfo", + }, + ], + }, + // agora::rtc::IPacketObserver + { + __TYPE: CXXTYPE.Clazz, + name: "IPacketObserver", + namespaces: ["agora", "rtc"], + }, + // agora::rtc::LicenseCallback + { + __TYPE: CXXTYPE.Clazz, + name: "LicenseCallback", + namespaces: ["agora", "base"], + }, + // agora::media::base::IVideoFrameObserver + { + __TYPE: CXXTYPE.Clazz, + name: "IVideoFrameObserver", + namespaces: ["agora", "media", "base"], + }, + // agora::media::IAudioFrameObserverBase + { + __TYPE: CXXTYPE.MemberFunction, + name: "onPlaybackAudioFrameBeforeMixing", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getObservedAudioFramePosition", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getPlaybackAudioParams", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getPublishAudioParams", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getRecordAudioParams", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMixedAudioParams", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getEarMonitoringAudioParams", + parent_name: "IAudioFrameObserverBase", + namespaces: ["agora", "media"], + }, + // agora::media::IVideoFrameObserver + { + __TYPE: CXXTYPE.MemberFunction, + name: "getVideoFrameProcessMode", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getVideoFormatPreference", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getRotationApplied", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMirrorApplied", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getObservedFramePosition", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "isExternal", + parent_name: "IVideoFrameObserver", + namespaces: ["agora", "media"], + }, + // agora::rtc::IAudioDeviceCollection + { + __TYPE: CXXTYPE.Clazz, + name: "IAudioDeviceCollection", + namespaces: ["agora", "rtc"], + }, + // agora::media::addVideoFrameRenderer + { + __TYPE: CXXTYPE.MemberFunction, + name: "addVideoFrameRenderer", + parent_name: "IMediaEngine", + namespaces: ["agora", "media"], + }, + // agora::media::removeVideoFrameRenderer + { + __TYPE: CXXTYPE.MemberFunction, + name: "removeVideoFrameRenderer", + parent_name: "IMediaEngine", + namespaces: ["agora", "media"], + }, + // agora::media::IMediaPlayer::initialize + { + __TYPE: CXXTYPE.MemberFunction, + name: "initialize", + parent_name: "IMediaPlayer", + namespaces: ["agora", "rtc"], + }, + // agora::media::IMediaPlayer::openWithCustomSource + { + __TYPE: CXXTYPE.MemberFunction, + name: "openWithCustomSource", + parent_name: "IMediaPlayer", + namespaces: ["agora", "rtc"], + }, + // TODO(littlegnal): We should not config these custom nodes by users. + // agora::rtc::ext::IRtcEngine::destroyRendererByView + { + __TYPE: CXXTYPE.MemberFunction, + name: "destroyRendererByView", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc", "ext"], + }, + // agora::rtc::ext::IRtcEngine::destroyRendererByConfig + { + __TYPE: CXXTYPE.MemberFunction, + name: "destroyRendererByConfig", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc", "ext"], + }, ]; const updateNodes = [ @@ -433,6 +723,676 @@ const updateNodes = [ }, }, }, + // VideoCompositingLayout + { + node: { + __TYPE: CXXTYPE.MemberVariable, + name: "appData", + namespaces: ["agora", "rtc"], + parent_name: "VideoCompositingLayout", + }, + updated: { + __TYPE: CXXTYPE.MemberVariable, + name: "appData", + namespaces: ["agora", "rtc"], + parent_name: "VideoCompositingLayout", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "uint8_t", + source: "const uint8_t*", + }, + }, + }, + // ThumbImageBuffer + { + node: { + __TYPE: CXXTYPE.MemberVariable, + name: "buffer", + namespaces: ["agora", "rtc"], + parent_name: "ThumbImageBuffer", + }, + updated: { + __TYPE: CXXTYPE.MemberVariable, + name: "buffer", + namespaces: ["agora", "rtc"], + parent_name: "ThumbImageBuffer", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "uint8_t", + source: "const uint8_t*", + }, + }, + }, + // onRemoteAudioSpectrum + { + node: { + __TYPE: CXXTYPE.Variable, + name: "spectrums", + namespaces: ["agora", "media"], + parent_name: "onRemoteAudioSpectrum", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "spectrums", + namespaces: ["agora", "media"], + parent_name: "onRemoteAudioSpectrum", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + name: "agora::media::UserAudioSpectrumInfo", + source: "const agora::media::UserAudioSpectrumInfo*", + }, + }, + }, + // onMusicChartsResult + { + node: { + __TYPE: CXXTYPE.Variable, + name: "result", + namespaces: ["agora", "rtc"], + parent_name: "onMusicChartsResult", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "result", + namespaces: ["agora", "rtc"], + parent_name: "onMusicChartsResult", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + name: "agora::rtc::MusicChartInfo", + source: "const agora::rtc::MusicChartInfo*", + }, + }, + }, + // agora::media::IMediaEngine::pushAudioFrame + { + node: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pushAudioFrame", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pushAudioFrame", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "IAudioFrameObserverBase::AudioFrame", + source: "const IAudioFrameObserverBase::AudioFrame*", + }, + }, + }, + // agora::media::IMediaEngine::pullAudioFrame + { + node: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pullAudioFrame", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pullAudioFrame", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "IAudioFrameObserverBase::AudioFrame", + source: "const IAudioFrameObserverBase::AudioFrame*", + }, + }, + }, + // agora::media::IMediaEngine::pushVideoFrame + { + node: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pushVideoFrame", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "frame", + namespaces: ["agora", "media"], + parent_name: "pushVideoFrame", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "agora::media::base::ExternalVideoFrame", + source: "const agora::media::base::ExternalVideoFrame*", + }, + }, + }, + // agora::media::IMediaEngine::addVideoFrameRenderer + { + node: { + __TYPE: CXXTYPE.Variable, + name: "renderer", + namespaces: ["agora", "media"], + parent_name: "addVideoFrameRenderer", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "renderer", + namespaces: ["agora", "media"], + parent_name: "addVideoFrameRenderer", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "agora::media::IVideoFrameObserver", + source: "const agora::media::IVideoFrameObserver*", + }, + }, + }, + // agora::media::IMediaEngine::removeVideoFrameRenderer + { + node: { + __TYPE: CXXTYPE.Variable, + name: "renderer", + namespaces: ["agora", "media"], + parent_name: "removeVideoFrameRenderer", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "renderer", + namespaces: ["agora", "media"], + parent_name: "removeVideoFrameRenderer", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "agora::media::IVideoFrameObserver", + source: "const agora::media::IVideoFrameObserver*", + }, + }, + }, + // agora::media::IMediaRecorder::setMediaRecorderObserver + { + node: { + __TYPE: CXXTYPE.Variable, + name: "callback", + namespaces: ["agora", "rtc"], + parent_name: "setMediaRecorderObserver", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "callback", + namespaces: ["agora", "rtc"], + parent_name: "setMediaRecorderObserver", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "agora::media::IMediaRecorderObserver", + source: "const agora::media::IMediaRecorderObserver*", + }, + }, + }, + // agora::rtc::IMusicContentCenter + { + node: { + __TYPE: CXXTYPE.Variable, + name: "cacheInfo", + namespaces: ["agora", "rtc"], + parent_name: "getCaches", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "cacheInfo", + namespaces: ["agora", "rtc"], + parent_name: "getCaches", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: false, + kind: SimpleTypeKind.array_t, + name: "agora::rtc::MusicCacheInfo", + source: "agora::rtc::MusicCacheInfo*", + }, + }, + }, + // agora::rtc::IRtcEngineEx + // agora::rtc::IRtcEngineEx::setSubscribeAudioBlocklistEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioBlocklistEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioBlocklistEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngineEx::setSubscribeAudioAllowlistEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioAllowlistEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioAllowlistEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngineEx::setSubscribeVideoBlocklistEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoBlocklistEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoBlocklistEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngineEx::setSubscribeVideoAllowlistEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoAllowlistEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoAllowlistEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngineEx::setHighPriorityUserListEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setHighPriorityUserListEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setHighPriorityUserListEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngineEx::sendStreamMessageEx + { + node: { + __TYPE: CXXTYPE.Variable, + name: "data", + namespaces: ["agora", "rtc"], + parent_name: "sendStreamMessageEx", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "data", + namespaces: ["agora", "rtc"], + parent_name: "sendStreamMessageEx", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "uint8_t", + source: "const uint8_t*", + }, + }, + }, + // agora::rtc::IRtcEngine + // agora::rtc::IRtcEngine::queryCodecCapability + { + node: { + __TYPE: CXXTYPE.Variable, + name: "codecInfo", + namespaces: ["agora", "rtc"], + parent_name: "queryCodecCapability", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "codecInfo", + namespaces: ["agora", "rtc"], + parent_name: "queryCodecCapability", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: false, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::setSubscribeAudioBlocklist + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioBlocklist", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioBlocklist", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::setSubscribeAudioAllowlist + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioAllowlist", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeAudioAllowlist", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::setSubscribeVideoBlocklist + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoBlocklist", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoBlocklist", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::setSubscribeVideoAllowlist + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoAllowlist", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setSubscribeVideoAllowlist", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::setLogFilter + { + node: { + __TYPE: CXXTYPE.Variable, + name: "filter", + namespaces: ["agora", "rtc"], + parent_name: "setLogFilter", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "filter", + namespaces: ["agora", "rtc"], + parent_name: "setLogFilter", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: false, + kind: SimpleTypeKind.value_t, + name: "agora::commons::LOG_FILTER_TYPE", + source: "agora::commons::LOG_FILTER_TYPE", + }, + }, + }, + // agora::rtc::IRtcEngine::setHighPriorityUserList + { + node: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setHighPriorityUserList", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "uidList", + namespaces: ["agora", "rtc"], + parent_name: "setHighPriorityUserList", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + }, + }, + }, + // agora::rtc::IRtcEngine::enableInEarMonitoring + { + node: { + __TYPE: CXXTYPE.Variable, + name: "includeAudioFilters", + namespaces: ["agora", "rtc"], + parent_name: "enableInEarMonitoring", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "includeAudioFilters", + namespaces: ["agora", "rtc"], + parent_name: "enableInEarMonitoring", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: false, + kind: SimpleTypeKind.value_t, + name: "agora::rtc::EAR_MONITORING_FILTER_TYPE", + source: "agora::rtc::EAR_MONITORING_FILTER_TYPE", + }, + }, + }, + // agora::rtc::IRtcEngine::sendStreamMessage + { + node: { + __TYPE: CXXTYPE.Variable, + name: "data", + namespaces: ["agora", "rtc"], + parent_name: "sendStreamMessage", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "data", + namespaces: ["agora", "rtc"], + parent_name: "sendStreamMessage", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "uint8_t", + source: "const uint8_t*", + }, + }, + }, + // agora::rtc::IRtcEngine::startDirectCdnStreaming + { + node: { + __TYPE: CXXTYPE.Variable, + name: "eventHandler", + namespaces: ["agora", "rtc"], + parent_name: "startDirectCdnStreaming", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "eventHandler", + namespaces: ["agora", "rtc"], + parent_name: "startDirectCdnStreaming", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.pointer_t, + name: "IDirectCdnStreamingEventHandler", + source: "const IDirectCdnStreamingEventHandler*", + }, + }, + }, + // agora::rtc::IRtcEngine::setAdvancedAudioOptions + { + node: { + __TYPE: CXXTYPE.Variable, + name: "options", + namespaces: ["agora", "rtc"], + parent_name: "setAdvancedAudioOptions", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "options", + namespaces: ["agora", "rtc"], + parent_name: "setAdvancedAudioOptions", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.reference_t, + name: "AdvancedAudioOptions", + source: "const AdvancedAudioOptions&", + }, + }, + }, + // agora::rtc::IRtcEngine::setAdvancedAudioOptions + { + node: { + __TYPE: CXXTYPE.Variable, + name: "options", + namespaces: ["agora", "rtc"], + parent_name: "setAdvancedAudioOptions", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "options", + namespaces: ["agora", "rtc"], + parent_name: "setAdvancedAudioOptions", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.reference_t, + name: "AdvancedAudioOptions", + source: "const AdvancedAudioOptions&", + }, + }, + }, + // agora::rtc::IRtcEngine::setZones + { + node: { + __TYPE: CXXTYPE.Variable, + name: "zones", + namespaces: ["agora", "rtc"], + parent_name: "setZones", + }, + updated: { + __TYPE: CXXTYPE.Variable, + name: "zones", + namespaces: ["agora", "rtc"], + parent_name: "setZones", + type: { + __TYPE: CXXTYPE.SimpleType, + is_builtin_type: false, + is_const: true, + kind: SimpleTypeKind.array_t, + name: "agora::rtc::SpatialAudioZone", + source: "const agora::rtc::SpatialAudioZone*", + }, + }, + }, ]; module.exports = { diff --git a/tool/terra/configs/merge_node_list.ts b/tool/terra/configs/merge_node_list.ts index 8cea17bff..11db35870 100644 --- a/tool/terra/configs/merge_node_list.ts +++ b/tool/terra/configs/merge_node_list.ts @@ -4,10 +4,4 @@ module.exports = [ target: "agora::rtc::IRtcEngineEventHandler", deleteSource: true, }, - { - source: "agora::media::IAudioFrameObserverBase", - target: "agora::media::IAudioFrameObserver", - deleteSource: false, - isFilterOverloadFunctions: false, - }, ]; diff --git a/tool/terra/legacy_terra_config.yaml b/tool/terra/legacy_terra_config.yaml index 4fd568557..f58257fda 100644 --- a/tool/terra/legacy_terra_config.yaml +++ b/tool/terra/legacy_terra_config.yaml @@ -20,12 +20,6 @@ parsers: nativeSdkVersion: 4.3.0 legacyRenders: - DartSyntaxRender - - DartEventHandlerParamJsonRender - - DartCallApiIrisMethodChannelRender - - DartEventHandlerIrisMethodChannelRender - - DartStructToJsonSerializableRender - - DartCallApiEventHandlerBufferExtRender - - DartForwardExportRender renderers: - name: IrisDocRenderer diff --git a/tool/terra/package.json b/tool/terra/package.json index f02bb7786..1435cf53e 100644 --- a/tool/terra/package.json +++ b/tool/terra/package.json @@ -1,5 +1,5 @@ { - "name": "terra-test", + "name": "terra-script", "version": "1.0.0", "description": "", "main": "index.js", @@ -22,5 +22,9 @@ "ts-node": "^10.9.1", "typescript": "^5.1.6" }, - "packageManager": "yarn@4.1.0" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@agoraio-extensions/terra_shared_configs": "portal:/Users/fenglang/codes/aw/terra_shared_configs", + "@agoraio-extensions/cxx-parser": "portal:/Users/fenglang/codes/aw/terra/cxx-parser" + } } diff --git a/tool/terra/parsers/cud_node_parser.ts b/tool/terra/parsers/cud_node_parser.ts index d0ea2d4dd..e9b153fa6 100644 --- a/tool/terra/parsers/cud_node_parser.ts +++ b/tool/terra/parsers/cud_node_parser.ts @@ -197,3 +197,7 @@ function deleteNodeInParseResult( return parseResult; } + +export function isNodeMatched(sourceNode: CXXTerraNode, nodeToMatch: any): boolean { + return _.isMatch(sourceNode, nodeToMatch); +} diff --git a/tool/terra/parsers/dart_syntax_parser.ts b/tool/terra/parsers/dart_syntax_parser.ts index f7f5ffc23..4b8893ed1 100644 --- a/tool/terra/parsers/dart_syntax_parser.ts +++ b/tool/terra/parsers/dart_syntax_parser.ts @@ -3,8 +3,10 @@ import { CXXTYPE, CXXTerraNode, Clazz, + Enumz, SimpleType, SimpleTypeKind, + TypeAlias, } from "@agoraio-extensions/cxx-parser"; import { ParseResult, TerraContext } from "@agoraio-extensions/terra-core"; import { setUserdata } from "../renderers/utils"; @@ -18,17 +20,41 @@ export interface DartSyntaxParserValue { dartName?: string; } -function _dartClassName(clazz: Clazz): string { - let name = clazz.name; - if (name.startsWith("I")) { +function _dartClassName(name: string): string { + // `IRtcEngine` -> `RtcEngine` + // `Input` -> `Input` + if ( + name !== name.toUpperCase() && // not all uppercase + name.startsWith("I") && + name.length > 1 && + name[1] === name[1].toUpperCase() + ) { name = name.replace("I", ""); } - return name; + return nameWithUnderscoresToCamelCase(name, true); +} + +export function toDartMemberName(memberName: string): string { + return nameWithUnderscoresToCamelCase(memberName.trimNamespace()); } -function _dartMemberName(memberName: string): string { - return nameWithUnderscoresToCamelCase(memberName); +export function toDartStyleNaming( + memberName: string, + upperCamelCase: boolean = false +): string { + let name = nameWithUnderscoresToCamelCase( + memberName.trimNamespace(), + upperCamelCase + ); + + if (upperCamelCase && name[0] == name[0].toLowerCase()) { + name = name[0].toUpperCase() + name.slice(1); + } else if (!upperCamelCase && name[0] == name[0].toUpperCase()) { + name = name[0].toLowerCase() + name.slice(1); + } + + return name; } function nameWithUnderscoresToCamelCase( @@ -36,6 +62,13 @@ function nameWithUnderscoresToCamelCase( upperCamelCase: boolean = false ): string { if (!nameWithUnderscores.includes("_")) { + if ( + !upperCamelCase && + nameWithUnderscores === nameWithUnderscores.toUpperCase() + ) { + nameWithUnderscores = nameWithUnderscores.toLowerCase(); + } + return nameWithUnderscores; } @@ -44,7 +77,7 @@ function nameWithUnderscoresToCamelCase( for (let i = 0; i < words.length; i++) { let word = words[i]; - if ((i === 0 && upperCamelCase) || i !== 0) { + if (word.length > 0 && ((i === 0 && upperCamelCase) || i !== 0)) { word = word[0].toUpperCase() + word.slice(1); } @@ -119,10 +152,32 @@ const _cppStdTypeToDartTypeMappping: Map = new Map([ ["intptr_t", "int"], ]); -function _dartTypeName(type: SimpleType): string { - let dartType = type.name.trimNamespace(); - if (type.kind == SimpleTypeKind.template_t) { - dartType = type.template_arguments[0]; +function _dartTypeName(parseResult: ParseResult, type: SimpleType): string { + // let dartType = type.name.trimNamespace(); + // if (type.kind == SimpleTypeKind.template_t) { + // dartType = type.template_arguments[0]?.trimNamespace() ?? dartType; + // } + + let typeNode = parseResult.resolveNodeByType(type); + let dartType = typeNode.name.trimNamespace(); + if (typeNode.__TYPE == CXXTYPE.Clazz || typeNode.__TYPE == CXXTYPE.Struct) { + dartType = _dartClassName(dartType); + } else if (typeNode.__TYPE == CXXTYPE.Enumz) { + if (dartType.length == 0) { + dartType = (typeNode.parent?.name.trimNamespace() ?? "") + "Enum"; + } else { + dartType = _dartClassName(dartType); + } + } + // else if (typeNode.__TYPE == CXXTYPE.TypeAlias) { + // dartType = type.name.trimNamespace(); + // } + else if ( + typeNode.isSimpleType() && + typeNode.asSimpleType().kind == SimpleTypeKind.template_t && + typeNode.asSimpleType().template_arguments.length > 0 + ) { + dartType = typeNode.asSimpleType().template_arguments[0].trimNamespace(); } if ( @@ -178,28 +233,65 @@ export default function DartSyntaxParser( let clazz = node as Clazz; setUserdata(clazz, userDataKey, { - dartName: _dartClassName(clazz), + dartName: _dartClassName(clazz.name), }); clazz.methods.forEach((method) => { setUserdata(method, userDataKey, { - dartName: _dartMemberName(method.name), + dartName: toDartStyleNaming(method.name), }); setUserdata(method.return_type, userDataKey, { - dartName: _dartTypeName(method.return_type), + dartName: _dartTypeName(preParseResult!, method.return_type), }); method.parameters.forEach((param) => { setUserdata(param.type, userDataKey, { - dartName: _dartTypeName(param.type), + dartName: _dartTypeName(preParseResult!, param.type), }); setUserdata(param, userDataKey, { - dartName: _dartMemberName(param.name), + dartName: toDartStyleNaming(param.name), }); }); }); + + clazz.member_variables.forEach((member) => { + setUserdata(member, userDataKey, { + dartName: toDartStyleNaming(member.name), + }); + + setUserdata(member.type, userDataKey, { + dartName: _dartTypeName(preParseResult!, member.type), + }); + }); + } else if (node.__TYPE == CXXTYPE.TypeAlias) { + let typeAlias = node as TypeAlias; + setUserdata(typeAlias, userDataKey, { + dartName: toDartStyleNaming(typeAlias.name), + }); + setUserdata(typeAlias.underlyingType, userDataKey, { + dartName: _dartTypeName(preParseResult!, typeAlias.underlyingType), + }); + } else if (node.__TYPE == CXXTYPE.Enumz) { + let enumz = node as Enumz; + setUserdata(enumz, userDataKey, { + dartName: _dartClassName(enumz.name), + }); + enumz.enum_constants.forEach((enumConstant) => { + setUserdata(enumConstant, userDataKey, { + dartName: toDartStyleNaming(enumConstant.name), + }); + }); + } else if (node.isVariable()) { + let v = node.asVariable(); + setUserdata(v, userDataKey, { + dartName: toDartStyleNaming(v.name), + }); + + setUserdata(v.type, userDataKey, { + dartName: _dartTypeName(preParseResult!, v.type), + }); } }); }); diff --git a/tool/terra/renderers/api_interface_renderer.ts b/tool/terra/renderers/api_interface_renderer.ts new file mode 100644 index 000000000..39d5b9767 --- /dev/null +++ b/tool/terra/renderers/api_interface_renderer.ts @@ -0,0 +1,404 @@ +import { + CXXFile, + CXXTYPE, + Clazz, + MemberFunction, + SimpleTypeKind, + Variable, +} from "@agoraio-extensions/cxx-parser"; +import { + _trim, + defaultDartHeader, + defaultIgnoreForFile, + getBaseClassMethods, + getBaseClasses, + isCallbackClass, + isNullableType, + isNullableVariable, + isRegisterCallbackFunction, + isUnregisterCallbackFunction, + renderEnumJsonSerializable, + renderJsonSerializable, +} from "./utils"; +import { isNodeMatched } from "../parsers/cud_node_parser"; +import { + ParseResult, + RenderResult, + TerraContext, +} from "@agoraio-extensions/terra-core"; +import { + dartFileName, + dartName, + toDartMemberName, +} from "../parsers/dart_syntax_parser"; + +export default function ApiInterfaceRenderer( + terraContext: TerraContext, + args: any, + parseResult: ParseResult +): RenderResult[] { + // let cxxFiles = (parseResult!.nodes as CXXFile[]).filter((cxxFile) => { + // return cxxFile.nodes.find((node) => { + // return node.__TYPE == CXXTYPE.Clazz && !isCallbackClass(node as Clazz); + // }); + // }); + let renderResults = (parseResult!.nodes as CXXFile[]).map((cxxFile) => { + let subContents = cxxFile.nodes + .filter((it) => it.name.length > 0) + .map((node) => { + switch (node.__TYPE) { + case CXXTYPE.Clazz: { + let clazz = node as Clazz; + if (isCallbackClass(clazz)) { + return renderCallbackClass(parseResult, clazz); + } else { + return renderClass(parseResult, clazz); + } + } + case CXXTYPE.Struct: { + return renderJsonSerializable( + parseResult, + dartName(node.asStruct()), + node.asStruct()!.member_variables + ); + } + case CXXTYPE.Enumz: { + return renderEnumJsonSerializable(node.asEnumz()); + } + case CXXTYPE.Variable: { + return renderTopLevelVariable(node.asVariable()); + } + default: { + return ""; + } + } + }) + .join("\n\n"); + + // cxx_parser.isStruct(node); + + let isNeedImportGDartFile = + cxxFile.nodes.find((node) => { + return node.isStruct() || node.isEnumz(); + }) != undefined; + + let content = _trim(` + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; + ${ + isNeedImportGDartFile ? `part '${dartFileName(cxxFile)}.g.dart';` : "" + } + + ${subContents} + `); + + return { + file_name: `lib/src/${dartFileName(cxxFile)}.dart`, + file_content: content, + }; + }); + + return renderResults; +} + +export function renderClass(parseResult: ParseResult, clazz: Clazz) { + let baseClassNames = getBaseClasses(parseResult, clazz).map((it) => + dartName(it) + ); + let implementsBlock = + baseClassNames.length > 0 ? `implements ${baseClassNames.join(", ")}` : ""; + + let funcs = clazz.methods + .map((method) => { + return `${functionSignature(parseResult, method, { + ignoreAsyncKeyword: true, + })};`; + }) + .join("\n\n"); + + return ` +abstract class ${dartName(clazz)} ${implementsBlock} { + ${funcs} +} + `; +} + +export function renderCallbackClass(parseResult: ParseResult, clazz: Clazz) { + let clazzName = dartName(clazz); + let baseClasses = getBaseClasses(parseResult, clazz); + let baseClassMethods = getBaseClassMethods(parseResult, clazz); + let baseClassNames = getBaseClasses(parseResult, clazz).map((it) => + dartName(it) + ); + let extendsBlock = + baseClassNames.length > 0 ? `extends ${baseClassNames.join(", ")}` : ""; + + let constructorSuperBlock = ""; + if (baseClassMethods.length > 0) { + constructorSuperBlock = ` +super( +${baseClassMethods.map((it) => `${dartName(it)} : ${dartName(it)},`).join("")} +) +`; + } + + let constructorParameters: string[] = []; + if (baseClassMethods.length > 0) { + baseClassMethods.forEach((it) => { + let funcType = `${dartName(it.return_type)} Function(${it.parameters + .map((param) => `${dartName(param.type)} ${dartName(param)}`) + .join(", ")})?`; + constructorParameters.push(`${funcType} ${dartName(it)},`); + }); + } + clazz.methods.forEach((method) => { + constructorParameters.push(`this.${dartName(method)},`); + }); + // constructorParameters.push(","); + + let constructorBlock = _trim(` + /// Construct the [${clazzName}]. + const ${clazzName}({ + ${constructorParameters.join("")} + }) + ${constructorSuperBlock.length > 0 ? `: ${constructorSuperBlock}` : ""};`); + + // NOTE: A new line between the constructor and the methods is required, otherwise the `iris_doc` CLI + // may cause a bug. + return _trim(` + class ${clazzName} ${extendsBlock} { + + ${constructorBlock} + + ${clazz.methods + .map((method) => { + let funcType = `${dartName( + method.return_type + )} Function(${method.parameters + .map((param) => `${dartName(param.type)} ${dartName(param)}`) + .join(", ")})?`; + return `final ${funcType} ${dartName(method)};`; + }) + .join("\n\n")} + } + `); +} + +function renderTopLevelVariable(topLevelVariable: Variable): string { + const unsignedIntMaxExpression = "(std::numeric_limits::max)()"; + let dartConst = ""; + dartConst += "/// @nodoc \n"; + let defaultValue = topLevelVariable.default_value; + if (defaultValue === unsignedIntMaxExpression) { + // value of `(std::numeric_limits::max)()` + defaultValue = "4294967295"; + } + dartConst += `const ${dartName(topLevelVariable)} = ${defaultValue};\n`; + return dartConst; +} + +// We treat the callback as a synchronized function, see the logic inside `isSynchronizedFunction`, +// but some functions with callback parameters are not synchronized, so we need to add them to the `asyncFunctions` list. +const asyncFunctions = [ + // agora::rtc::IMediaRecorder + { + __TYPE: CXXTYPE.MemberFunction, + name: "setMediaRecorderObserver", + parent_name: "IMediaRecorder", + namespaces: ["agora", "rtc"], + }, + // agora::rtc::IRtcEngine::startDirectCdnStreaming + { + __TYPE: CXXTYPE.MemberFunction, + name: "startDirectCdnStreaming", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, +]; + +const synchronizedFunctions = [ + // agora::rtc::IRtcEngine + { + __TYPE: CXXTYPE.MemberFunction, + name: "getVideoDeviceManager", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getAudioDeviceManager", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMediaEngine", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMediaRecorder", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getLocalSpatialAudioEngine", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMusicContentCenter", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getH265Transcoder", + parent_name: "IRtcEngine", + namespaces: ["agora", "rtc"], + }, + // agora::rtc::IMediaPlayer + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMediaPlayerId", + parent_name: "IMediaPlayer", + namespaces: ["agora", "rtc"], + }, + // agora::rtc::MusicCollection + { + __TYPE: CXXTYPE.MemberFunction, + name: "getCount", + parent_name: "MusicCollection", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getTotal", + parent_name: "MusicCollection", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getPage", + parent_name: "MusicCollection", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getPageSize", + parent_name: "MusicCollection", + namespaces: ["agora", "rtc"], + }, + { + __TYPE: CXXTYPE.MemberFunction, + name: "getMusic", + parent_name: "MusicCollection", + namespaces: ["agora", "rtc"], + }, +]; +export function isSynchronizedFunction( + parseResult: ParseResult, + memberFunction: MemberFunction +): boolean { + let isSyncFunc = + synchronizedFunctions.find((it) => isNodeMatched(memberFunction, it)) != + undefined || + isRegisterCallbackFunction(memberFunction) || + isUnregisterCallbackFunction(memberFunction); + if ( + !isSyncFunc && + asyncFunctions.find((it) => isNodeMatched(memberFunction, it)) == undefined + ) { + // If there a callback class in the parameter list, then it's a synchronized function + isSyncFunc = + memberFunction.parameters.find((param) => { + let tmpNode = parseResult.resolveNodeByType(param.type); + if (tmpNode.__TYPE == CXXTYPE.Clazz) { + return isCallbackClass(tmpNode.asClazz()); + } + return false; + }) != undefined; + } + return isSyncFunc; +} + +export function functionSignature( + parseResult: ParseResult, + memberFunction: MemberFunction, + options?: { + forceAddOverridePrefix?: boolean; + ignoreAsyncKeyword?: boolean; + } +): string { + let isSynchronizedFunc = isSynchronizedFunction(parseResult, memberFunction); + let parentClass = memberFunction.parent! as Clazz; + let forceAddOverridePrefix: boolean = + options?.forceAddOverridePrefix ?? false; + let ignoreAsyncKeyword = options?.ignoreAsyncKeyword ?? false; + let addOverrideSurffix = + forceAddOverridePrefix || + getBaseClassMethods(parseResult, parentClass).find( + (it) => it.name == memberFunction.name + ); + let overridePrefix = addOverrideSurffix ? "@override " : ""; + let returnType = dartName(memberFunction.return_type); + returnType = `${returnType}${ + isNullableType(memberFunction.return_type) ? "?" : "" + }`; + if (!isSynchronizedFunc) { + returnType = `Future<${returnType}>`; + } + let functionName = dartName(memberFunction); + let defaultValue = ""; + let isNeedRequiredKeyword = memberFunction.parameters.length > 1; + let asyncKeywordSurffix = + isSynchronizedFunc || ignoreAsyncKeyword ? "" : "async"; + + let parameterListBlock = memberFunction.parameters + .map((param) => { + let typeNode = parseResult.resolveNodeByType(param.type); + // let typeName = dartName(typeNode); + // if (typeNode.__TYPE == CXXTYPE.TypeAlias) { + // typeName = dartName(param.type); + // } + let typeName = dartName(param.type); + let variableName = dartName(param); + + // Has default value + if (param.default_value) { + isNeedRequiredKeyword = false; + + if (typeNode.__TYPE == CXXTYPE.Enumz) { + console.log( + `method: ${memberFunction.name}, enum: ${typeNode.name}, default: ${param.default_value}` + ); + defaultValue = `${typeName}.${toDartMemberName(param.default_value)}`; + } else if (typeNode.__TYPE == CXXTYPE.Struct) { + defaultValue = `const ${dartName(typeNode)}()`; + } else { + defaultValue = param.default_value; + } + + if (isNullableVariable(param)) { + typeName = `${typeName}?`; + defaultValue = ""; + } + } + + return `${ + isNeedRequiredKeyword ? "required" : "" + } ${typeName} ${variableName}${defaultValue ? ` = ${defaultValue}` : ""}`; + }) + .join(","); + + if ( + memberFunction.parameters.find((it) => it.default_value) || + memberFunction.parameters.length > 1 + ) { + parameterListBlock = `{${parameterListBlock}}`; + } + + return `${overridePrefix} ${returnType} ${functionName}(${parameterListBlock}) ${asyncKeywordSurffix}`; +} diff --git a/tool/terra/renderers/buffer_ext_renderer.ts b/tool/terra/renderers/buffer_ext_renderer.ts new file mode 100644 index 000000000..2ed100783 --- /dev/null +++ b/tool/terra/renderers/buffer_ext_renderer.ts @@ -0,0 +1,87 @@ +import { CXXFile, CXXTYPE, Clazz, MemberVariable, Struct } from "@agoraio-extensions/cxx-parser"; +import { + ParseResult, + RenderResult, + TerraContext, +} from "@agoraio-extensions/terra-core"; +import { defaultDartHeader, defaultIgnoreForFile, isCallbackClass, isNeedIgnoreJsonInJsonObject } from "./utils"; +import { dartFileName, dartName } from "../parsers/dart_syntax_parser"; + +/// Generate the files: +/// - lib/src/binding/call_api_event_handler_buffer_ext.dart +export default function BufferExtRenderer( + terraContext: TerraContext, + args: any, + parseResult: ParseResult +): RenderResult[] { + let cxxFiles = parseResult!.nodes as CXXFile[]; + + let extensionContents = cxxFiles.flatMap((cxxFile: CXXFile) => cxxFile.nodes) + .filter((node) => node.__TYPE == CXXTYPE.Struct) + .map((node) => renderBufferExtBlock(parseResult, dartName(node.asStruct()), node.asStruct()!.member_variables)) + .join("\n\n"); + + let content = ` +${defaultDartHeader} + +${defaultIgnoreForFile}, prefer_is_empty + +import 'package:agora_rtc_engine/src/binding_forward_export.dart'; + +${extensionContents} +`; + + return [ + { + file_name: "lib/src/binding/call_api_event_handler_buffer_ext.dart", + file_content: content, + }, + ]; +} + +export function renderBufferExtBlock(parseResult: ParseResult, structName: string, memberVariables: MemberVariable[]) { + // let structName = dartName(structt); + let extName = `${structName}BufferExt`; + + let bufferMemberNames = memberVariables.filter((member) => dartName(member.type) == 'Uint8List').map((member) => dartName(member)); + let constructorNamedParams = memberVariables.map((it) => `${dartName(it)}: ${dartName(it)}`); + + let output = ` +extension ${extName} on ${structName} { + ${structName} fillBuffers(List bufferList) { + if (bufferList.isEmpty) return this; + ${function () { + let tmpOutput = ""; + for (let i = 0; i < bufferMemberNames.length; i++) { + let n = bufferMemberNames[i]; + tmpOutput += ` + Uint8List? ${n}; + if (bufferList.length > ${i}) { + ${n} = bufferList[${i}]; + }`.trim(); + } + if (bufferMemberNames.length == 0) { + tmpOutput += "return this;"; + } else { + tmpOutput += `return ${structName}(${constructorNamedParams.join(", ")});`; + } + return tmpOutput; + }()} + } + + List collectBufferList() { + final bufferList = []; + ${function () { + if (bufferMemberNames.length == 0) return "return bufferList;"; + return ` + ${bufferMemberNames.map((it) => `if (${it} != null) { bufferList.add(${it}!); }`).join("\n")} + return bufferList; + `.trim(); + }() + } + } +} + `; + + return output; +} diff --git a/tool/terra/renderers/callapi_impl_renderer.ts b/tool/terra/renderers/callapi_impl_renderer.ts new file mode 100644 index 000000000..211179edd --- /dev/null +++ b/tool/terra/renderers/callapi_impl_renderer.ts @@ -0,0 +1,302 @@ +import { + CXXFile, + CXXTYPE, + CXXTerraNode, + Clazz, + MemberFunction, + SimpleTypeKind, + Variable, +} from "@agoraio-extensions/cxx-parser"; +import { + ParseResult, + RenderResult, + TerraContext, +} from "@agoraio-extensions/terra-core"; +import { + _trim, + defaultDartHeader, + defaultIgnoreForFile, + getBaseClassMethods, + getBaseClasses, + isCallbackClass, + isDartBufferType, + isNeedIgnoreJsonInJsonObject, + isNullableType, + isNullableVariable, + isRegisterCallbackFunction, + isUnregisterCallbackFunction, +} from "./utils"; +import { + dartFileName, + dartName, + toDartMemberName, + toDartStyleNaming, +} from "../parsers/dart_syntax_parser"; +import { renderBufferExtBlock } from "./buffer_ext_renderer"; +import { isNodeMatched } from "../parsers/cud_node_parser"; +import { + getIrisApiIdValue, + getOutVariable, + isOverridedReturnType, +} from "@agoraio-extensions/terra_shared_configs"; +import { + functionSignature, + isSynchronizedFunction, +} from "./api_interface_renderer"; + +/// Generate the implementation files. +export default function CallApiImplRenderer( + terraContext: TerraContext, + args: any, + parseResult: ParseResult +): RenderResult[] { + let cxxFiles = (parseResult!.nodes as CXXFile[]).filter((cxxFile) => { + return cxxFile.nodes.find((node) => { + return node.__TYPE == CXXTYPE.Clazz && !isCallbackClass(node as Clazz); + }); + }); + let renderResults = cxxFiles.map((cxxFile) => { + let subContents = cxxFile.nodes + .filter((it) => it.__TYPE == CXXTYPE.Clazz) + .filter((it) => !isCallbackClass(it.asClazz())) + .map((it) => { + let clazz = it.asClazz(); + let clazzName = dartName(clazz); + console.log(`renderResults clazzName: ${clazzName}`); + let methods = clazz.methods; + let methodImpls = methods + .map((method) => callApiImplBlock(parseResult, clazz, method)) + .join("\n\n"); + let baseClassImplNames = getBaseClasses(parseResult, clazz).map( + (baseClass) => `${dartName(baseClass)}Impl` + ); + let shouldOverrideBaseClass = baseClassImplNames.length > 0; + let classExtendsBlock = shouldOverrideBaseClass + ? `extends ${baseClassImplNames.join(", ")} ` + : ""; + let constructorBlock = `${clazzName}Impl(${ + shouldOverrideBaseClass + ? "IrisMethodChannel irisMethodChannel" + : "this.irisMethodChannel" + })${shouldOverrideBaseClass ? ": super(irisMethodChannel)" : ""};`; + + return ` + class ${clazzName}Impl ${classExtendsBlock} implements ${clazzName} { + ${constructorBlock} + + ${ + shouldOverrideBaseClass + ? "" + : ` + @protected + final IrisMethodChannel irisMethodChannel;`.trim() + } + + ${shouldOverrideBaseClass ? "@override" : ""} + @protected + Map createParams(Map param) { + return param; + } + + ${shouldOverrideBaseClass ? "@override" : ""} + @protected + bool get isOverrideClassName => false; + + ${shouldOverrideBaseClass ? "@override" : ""} + @protected + String get className => '${clazzName}'; + + ${methodImpls} + } + `.trim(); + }) + .join("\n\n"); + + let content = ` + ${defaultDartHeader} + + ${defaultIgnoreForFile}, annotate_overrides + + import 'package:agora_rtc_engine/src/binding_forward_export.dart'; + import 'package:agora_rtc_engine/src/binding/impl_forward_export.dart'; + import 'package:iris_method_channel/iris_method_channel.dart'; + + ${subContents} + `; + + return { + file_name: `lib/src/binding/${dartFileName(cxxFile)}_impl.dart`, + file_content: content, + }; + }); + + return renderResults; +} + +function variableToMemberVariable(it: Variable): any { + throw new Error("Function not implemented."); +} + +interface JsonMapInitBlock { + preInitBlock: string; + nullCheckBlock: string; + jsonKey: string; + jsonValue: string; + addBufferExtBlock: string; +} + +function callApiImplBlock( + parseResult: ParseResult, + clazz: Clazz, + method: MemberFunction +): string { + // let clazz = method.parent!.asClazz(); + let className = dartName(clazz); + console.log(`callApiImplBlock className: ${className}`); + let methodName = dartName(method); + + let paramJsonMapBlock = method.parameters.map((param) => { + let paramName = dartName(param); + let preInitBlock = ""; + let nullCheckBlock = ""; + let jsonKey = param.name; + let jsonValue = paramName; + let addBufferExtBlock = ""; + + if (isNullableVariable(param)) { + nullCheckBlock = `if (${paramName} != null)`; + } + + let actualNode = parseResult.resolveNodeByType(param.type); + if (actualNode.__TYPE == CXXTYPE.Enumz) { + jsonValue = `${paramName}.value()`; + } else if (actualNode.__TYPE == CXXTYPE.Struct) { + // Null check is not necessary for struct. + nullCheckBlock = ""; + if (param.type.kind == SimpleTypeKind.array_t) { + let tmpParamName = `${paramName}JsonList`; + preInitBlock = `final ${tmpParamName} = ${paramName}.map((e) => e.toJson()).toList();`; + jsonValue = tmpParamName; + addBufferExtBlock = ` + for (final e in ${paramName}) { + buffers.addAll(e.collectBufferList()); + }`; + if (isNullableVariable(param)) { + addBufferExtBlock = `if (${paramName} != null) { + ${addBufferExtBlock} + }`; + } + } else { + jsonValue = `${paramName}${ + isNullableVariable(param) ? "?" : "" + }.toJson()`; + addBufferExtBlock = `buffers.addAll(${paramName}.collectBufferList());`; + if (isNullableVariable(param)) { + addBufferExtBlock = `if (${paramName} != null) { + ${addBufferExtBlock} + }`; + } + } + } else if (isDartBufferType(param.type)) { + jsonKey = ""; + jsonValue = ""; + addBufferExtBlock = `buffers.add(${paramName});`; + } + + return { + preInitBlock: preInitBlock, + nullCheckBlock: nullCheckBlock, + jsonKey: jsonKey, + jsonValue: jsonValue, + addBufferExtBlock: addBufferExtBlock, + } as JsonMapInitBlock; + }); + + let isNoImplFunc = isSynchronizedFunction(parseResult, method); + let isNeedAddBufferExtBlock = + paramJsonMapBlock.find((it) => it.addBufferExtBlock) != undefined; + let buffersValueInJsonMap = isNeedAddBufferExtBlock ? "buffers" : "null"; + + let ttt = getIrisApiIdValue(method).split("_").slice(1).join("_"); + console.log(`callApiImplBlock tt: ${getIrisApiIdValue(method)} ttt: ${ttt}`); + + let apiType = `final apiType = \'\${isOverrideClassName ? className : '${className}'}_${getIrisApiIdValue( + method + ) + .split("_") + .slice(1) + .join("_")}\';`; + + let returnBlock = ""; + let returnTypeNode = parseResult.resolveNodeByType(method.return_type); + let outVariable = getOutVariable(method); + if (outVariable) { + returnBlock = _trim(` + if (result < 0) { + throw AgoraRtcException(code: result); + } + final ${methodName}Json = ${className}${toDartStyleNaming( + methodName, + true + )}Json.fromJson(rm); + return ${methodName}Json.${toDartStyleNaming(outVariable.name)}; + `); + } else if (returnTypeNode.__TYPE == CXXTYPE.Enumz) { + returnBlock = `return ${dartName(returnTypeNode)}Ext.fromValue(result);`; + } else if (method.return_type.name != "void") { + // let returnType = dartName(returnTypeNode); + // if (returnTypeNode.__TYPE == CXXTYPE.TypeAlias) { + // returnType = dartName(method.return_type); + // } + let returnType = dartName(method.return_type); + returnBlock = `return result as ${returnType};`; + } else { + returnBlock = `if (result < 0) { throw AgoraRtcException(code: result); }`; + } + + let funcSignature = functionSignature(parseResult, method, { + forceAddOverridePrefix: true, + }); + let funcBlock = _trim( + ` +${apiType} +${paramJsonMapBlock.map((it) => it.preInitBlock).join("\n")} +final param = createParams({ + ${paramJsonMapBlock + .filter((it) => it.jsonKey && it.jsonValue) + .map((it) => `${it.nullCheckBlock}'${it.jsonKey}': ${it.jsonValue}`) + .join(",")} +}); +${isNeedAddBufferExtBlock ? "final List buffers = [];" : ""} +${paramJsonMapBlock.map((it) => it.addBufferExtBlock).join("\n")} +final callApiResult = await irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:${buffersValueInJsonMap})); +if (callApiResult.irisReturnCode < 0) { + throw AgoraRtcException(code: callApiResult.irisReturnCode); +} +final rm = callApiResult.data; +final result = rm['result']; +${returnBlock} + `, + { eliminateEmptyLine: true } + ); + + if (isNoImplFunc) { + funcBlock = funcBlock + .split("\n") + .map((it) => `// ${it}`) + .join("\n"); + funcBlock = _trim(` +// Implementation template +${funcBlock} + throw UnimplementedError('Unimplement for ${dartName(method)}'); + `); + } + + return _trim( + ` +${funcSignature} { + ${funcBlock} +} +` + ); +} diff --git a/tool/terra/renderers/event_handler_impl_params_json_renderer.ts b/tool/terra/renderers/event_handler_impl_params_json_renderer.ts new file mode 100644 index 000000000..21afa8024 --- /dev/null +++ b/tool/terra/renderers/event_handler_impl_params_json_renderer.ts @@ -0,0 +1,89 @@ +import { + CXXFile, + CXXTYPE, + Clazz, + MemberFunction, + MemberVariable, + Struct, + Variable, +} from "@agoraio-extensions/cxx-parser"; +import { + ParseResult, + RenderResult, + TerraContext, +} from "@agoraio-extensions/terra-core"; +import { + defaultDartHeader, + defaultIgnoreForFile, + isCallbackClass, + isNeedIgnoreJsonInJsonObject, + renderJsonSerializable, +} from "./utils"; +import { dartFileName, dartName } from "../parsers/dart_syntax_parser"; +import { renderBufferExtBlock } from "./buffer_ext_renderer"; + +/// Generate the files: +/// - lib/src/binding/event_handler_param_json.dart +export default function EventHandlerImplParamsJsonRenderer( + terraContext: TerraContext, + args: any, + parseResult: ParseResult +): RenderResult[] { + let cxxFiles = parseResult!.nodes as CXXFile[]; + + let subContents = cxxFiles + .flatMap((cxxFile: CXXFile) => cxxFile.nodes) + .filter((it) => it.__TYPE == CXXTYPE.Clazz) + .filter((it) => isCallbackClass(it.asClazz())) + .flatMap((it) => it.asClazz()!.methods) + .map((node) => { + let memberFunc = node as MemberFunction; + let dartFuncName = dartName(memberFunc); + dartFuncName = dartFuncName[0].toUpperCase() + dartFuncName.slice(1); + let jsonClassName = + (memberFunc.parent ? dartName(memberFunc.parent!) : "") + + dartFuncName + + "Json"; + + return ` + ${renderJsonSerializable( + parseResult, + jsonClassName, + memberFunc.parameters.map((it) => variableToMemberVariable(it)) + )} + + ${renderBufferExtBlock( + parseResult, + jsonClassName, + memberFunc.parameters.map((it) => variableToMemberVariable(it)) + )} + `.trim(); + }) + .join("\n\n"); + + let content = ` +${defaultDartHeader} + +${defaultIgnoreForFile}, prefer_is_empty + +import 'package:agora_rtc_engine/src/binding_forward_export.dart'; +part 'event_handler_param_json.g.dart'; + +${subContents} +`; + + return [ + { + file_name: "lib/src/binding/event_handler_param_json.dart", + file_content: content, + }, + ]; +} + +function variableToMemberVariable(it: Variable): MemberVariable { + return { + name: it.name, + type: it.type, + user_data: it.user_data, + } as MemberVariable; +} diff --git a/tool/terra/renderers/event_handlers_renderer.ts b/tool/terra/renderers/event_handlers_impl_renderer.ts similarity index 63% rename from tool/terra/renderers/event_handlers_renderer.ts rename to tool/terra/renderers/event_handlers_impl_renderer.ts index 3eaa0ee82..ca7353fca 100644 --- a/tool/terra/renderers/event_handlers_renderer.ts +++ b/tool/terra/renderers/event_handlers_impl_renderer.ts @@ -19,8 +19,14 @@ function processCXXFiles( parseResult: ParseResult, args: any ): CXXFile[] { - return (parseResult.nodes as CXXFile[]).filter((it) => { - return it.fileName == "IAgoraRtcEngine.h"; + // return parseResult.nodes as CXXFile[]; + return (parseResult.nodes as CXXFile[]).filter((cxxFile) => { + + return cxxFile.nodes.find((node) => { + return node.__TYPE == CXXTYPE.Clazz && isCallbackClass(node as Clazz); + }); + + // return it.fileName == "IAgoraRtcEngine.h"; }); } @@ -57,7 +63,7 @@ function getBaseClasses(parseResult: ParseResult, clazz: Clazz): Clazz[] { function genCallbackExtendBlock(parseResult: ParseResult, clazz: Clazz) { let extendBlock = ""; let wrapperClassName = getBaseClasses(parseResult, clazz).map( - (it) => `${it.name}Wrapper` + (it) => `${dartName(it)}Wrapper` ); if (wrapperClassName.length === 0) { extendBlock = `implements EventLoopEventHandler`; @@ -78,11 +84,14 @@ function callbackSwithCaseBlock( .map((it) => { let className = clazz.name; let methodName = it.name; - let jsonClassName = `${className.replace("I", "")}${ - methodName[0].toUpperCase() + methodName.slice(1) - }Json`; + let jsonClassName = `${className.replace("I", "")}${methodName[0].toUpperCase() + methodName.slice(1) + }Json`; let dn = dartName(it); let eventName = getIrisApiIdValue(it).split("_").slice(1).join("_"); + // Fall back to method name if `getIrisApiIdValue` is empty. This is happen for that nodes from custom headers. + if (eventName === "") { + eventName = it.name; + } return ` case '${eventName}': @@ -93,56 +102,60 @@ final jsonMap = jsonDecode(eventData); ${jsonClassName} paramJson = ${jsonClassName}.fromJson(jsonMap); paramJson = paramJson.fillBuffers(buffers); ${(function () { - let paramIntList = it.parameters - .map((it) => { - let typeName = dartName(it.type); - let memberName = dartName(it); - return `${typeName}? ${memberName} = paramJson.${memberName};`; - }) - .join("\n"); - - let paramNullCheckList = it.parameters - .map((it) => { - let memberName = dartName(it); - return `${memberName} == null`; - }) - .join("||"); - if (paramNullCheckList.length) { - paramNullCheckList = `if (${paramNullCheckList}) { return true; }`; - } - - let paramFillBufferList = it.parameters - .map((it) => { - let memberName = dartName(it); - let actualNode = parseResult.resolveNodeByType(it.type); - if (actualNode.__TYPE == CXXTYPE.Struct) { - if (it.type.kind == SimpleTypeKind.array_t) { - return `${memberName} = ${memberName}.map((e) => e.fillBuffers(buffers)).toList();`; - } else { - return `${memberName} = ${memberName}.fillBuffers(buffers);`; - } - } - - return ""; - }) - .join("\n"); - - let paramList = it.parameters.map((it) => dartName(it)); - - return ` + let paramIntList = it.parameters + .map((it) => { + let typeName = dartName(it.type); + let memberName = dartName(it); + return `${typeName}? ${memberName} = paramJson.${memberName};`; + }) + .join("\n"); + + let paramNullCheckList = it.parameters + .map((it) => { + let memberName = dartName(it); + return `${memberName} == null`; + }) + .join("||"); + if (paramNullCheckList.length) { + paramNullCheckList = `if (${paramNullCheckList}) { return true; }`; + } + + let paramFillBufferList = it.parameters + .map((it) => { + let memberName = dartName(it); + let actualNode = parseResult.resolveNodeByType(it.type); + if (actualNode.__TYPE == CXXTYPE.TypeAlias) { + actualNode = parseResult.resolveNodeByType(actualNode.asTypeAlias()!.underlyingType); + } + if (actualNode.__TYPE == CXXTYPE.Struct) { + if (it.type.kind == SimpleTypeKind.array_t) { + return `${memberName} = ${memberName}.map((e) => e.fillBuffers(buffers)).toList();`; + } else { + return `${memberName} = ${memberName}.fillBuffers(buffers);`; + } + } + + return ""; + }) + .join("\n") + .trim(); + + let paramList = it.parameters.map((it) => dartName(it)); + + return ` ${paramIntList} ${paramNullCheckList} ${paramFillBufferList} ${firstParamNameForWrapperClass}.${methodName}!(${paramList}); return true; `.trim(); -})()} + })()} `; }) .join("\n"); } -export default function EventHandlersRenderer( +export default function EventHandlersImplRenderer( terraContext: TerraContext, args: any, parseResult: ParseResult @@ -164,15 +177,15 @@ export default function EventHandlersRenderer( return ` class ${wrapperClassName} ${extendBlock} { ${(function () { - // Constructor - let callSuperBlock = hasBaseClass - ? `: super(${firstParamNameForWrapperClass})` - : ""; + // Constructor + let callSuperBlock = hasBaseClass + ? `: super(${firstParamNameForWrapperClass})` + : ""; - return ` + return ` const ${wrapperClassName}(this.${firstParamNameForWrapperClass})${callSuperBlock}; `.trim(); -})()} + })()} final ${className} ${firstParamNameForWrapperClass}; @@ -191,10 +204,10 @@ int get hashCode => ${firstParamNameForWrapperClass}.hashCode; bool handleEventInternal(String eventName, String eventData, List buffers) { switch (eventName) { ${callbackSwithCaseBlock( - parseResult, - clazz, - firstParamNameForWrapperClass - )} + parseResult, + clazz, + firstParamNameForWrapperClass + )} } return false; } @@ -205,13 +218,13 @@ bool handleEvent(String eventName, String eventData, List buffers) { final newEvent = eventName.replaceFirst('${className}_', ''); if (handleEventInternal(newEvent, eventData, buffers)) { return true; } ${(function () { - // handle return block - if (hasBaseClass) { - return "return super.handleEventInternal(newEvent, eventData, buffers);"; - } + // handle return block + if (hasBaseClass) { + return "return super.handleEventInternal(newEvent, eventData, buffers);"; + } - return "return false;"; - })()} + return "return false;"; + })()} } } `.trim(); diff --git a/tool/terra/renderers/utils.ts b/tool/terra/renderers/utils.ts index 04be4df73..6bf6082e6 100644 --- a/tool/terra/renderers/utils.ts +++ b/tool/terra/renderers/utils.ts @@ -1,5 +1,21 @@ -import { Clazz } from "@agoraio-extensions/cxx-parser"; +import { + CXXTYPE, + Clazz, + Enumz, + MemberFunction, + MemberVariable, + SimpleType, + Variable, +} from "@agoraio-extensions/cxx-parser"; +import { ParseResult } from "@agoraio-extensions/terra-core"; import _ from "lodash"; +import { dartName } from "../parsers/dart_syntax_parser"; + +export const defaultDartHeader = + "/// GENERATED BY terra, DO NOT MODIFY BY HAND."; + +export const defaultIgnoreForFile = + "// ignore_for_file: public_member_api_docs, unused_local_variable, unused_import"; export function isCallbackClass(clazz: Clazz): boolean { return new RegExp( @@ -7,6 +23,67 @@ export function isCallbackClass(clazz: Clazz): boolean { ).test(clazz.name); } +export function isRegisterCallbackFunction( + memberFunc: MemberFunction +): boolean { + return new RegExp( + "^(register)[A-Za-z0-9]*(EventHandler|Observer|Provider)$" + ).test(memberFunc.name); +} + +export function isUnregisterCallbackFunction( + memberFunc: MemberFunction +): boolean { + return new RegExp( + "^(unregister)[A-Za-z0-9]*(EventHandler|Observer|Provider)$" + ).test(memberFunc.name); +} + +export function getBaseClasses( + parseResult: ParseResult, + clazz: Clazz +): Clazz[] { + let output: Clazz[] = []; + clazz.base_clazzs.forEach((it) => { + let found = parseResult.resolveNodeByName(it); + if (found) { + output.push(found! as Clazz); + } + }); + + return output; +} + +export function getBaseClassMethods( + parseResult: ParseResult, + clazz: Clazz +): MemberFunction[] { + return clazz.base_clazzs + .map((it) => { + return parseResult.resolveNodeByName(it); + }) + .filter((it) => it?.__TYPE == CXXTYPE.Clazz) + .map((it) => { + return it?.asClazz().methods ?? []; + }) + .flat(); +} + +export function isNullableType(type: SimpleType): boolean { + const cppTypeToNullableTypes = ["agora_refptr", "Optional"]; + + let isNullableType = + cppTypeToNullableTypes.find((it) => type.source.includes(it)) != undefined; + + return isNullableType; +} + +export function isNullableVariable(variable: Variable): boolean { + return ( + variable.default_value == "__null" || variable.default_value == "nullptr" + ); +} + export function setUserdata(node: any, key: string, value: any) { node.user_data ??= {}; let old = node.user_data![key]; @@ -16,3 +93,143 @@ export function setUserdata(node: any, key: string, value: any) { node.user_data![key] = value; } } + +const ignoreJsonTypes = ["Uint8List"]; +export function isNeedIgnoreJsonInJsonObject( + parseResult: ParseResult, + type: SimpleType +): boolean { + let isIgnoreJson = ignoreJsonTypes.includes(dartName(type)); + // isIgnoreJson = + // isIgnoreJson || parseResult.resolveNodeByType(type).__TYPE == CXXTYPE.Clazz; + return isIgnoreJson; +} + +export function isDartBufferType(type: SimpleType): boolean { + return dartName(type) == "Uint8List"; +} + +export function _trim( + str: string, + options?: { eliminateEmptyLine?: boolean } +): string { + let eliminateEmptyLine = options?.eliminateEmptyLine ?? false; + if (eliminateEmptyLine) { + return str + .split("\n") + .filter((it) => it.trim().length != 0) + .join("\n") + .trim(); + } + + return str.trim(); +} + +export function renderJsonSerializable( + parseResult: ParseResult, + jsonClassName: string, + memberVariables: MemberVariable[] +) { + // let structName = dartName(structt); + // let extName = `${structName}BufferExt`; + + // let bufferMemberNames = memberVariables.filter((member) => dartName(member.type) == 'Uint8List').map((member) => dartName(member)); + // let constructorNamedParams = memberVariables.map((it) => `${dartName(it)}: ${dartName(it)}`); + + let output = ` + @JsonSerializable(explicitToJson: true, includeIfNull: false) + class ${jsonClassName} { + const ${jsonClassName}( + ${ + memberVariables.length > 0 + ? `{${memberVariables.map((it) => `this.${dartName(it)}`).join(",")}}` + : "" + } + ); + + ${memberVariables + .map((it) => { + let isIgnoreJson = isNeedIgnoreJsonInJsonObject(parseResult, it.type); + let actualNode = parseResult.resolveNodeByType(it.type); + // Campatible with the old code. + isIgnoreJson = + isIgnoreJson || dartName(actualNode) == "MusicCollection"; + // TODO(littlegnal): Add converter annotation for class type. + // We should add converter annotation for class type, but we only add it for VideoFrameMetaInfo + // due to the historical reason. + let isClazz = + actualNode.__TYPE == CXXTYPE.Clazz && + dartName(actualNode) == "VideoFrameMetaInfo"; + return ` + ${isClazz ? `@${dartName(actualNode)}Converter()` : ""} + @JsonKey(name: '${it.name}'${isIgnoreJson ? ", ignore: true" : ""}) + final ${dartName(it.type)}? ${dartName(it)}; + `.trim(); + }) + .join("\n\n")} + + factory ${jsonClassName}.fromJson(Map json) => _$${jsonClassName}FromJson(json); + + Map toJson() => _$${jsonClassName}ToJson(this); + } + `; + + return output; +} + +// /// Setting mode of the view. +// @JsonEnum(alwaysCreate: true) +// enum VideoViewSetupMode { +// /// 0: (Default) Replaces a view. +// @JsonValue(0) +// videoViewSetupReplace, + +// /// 1: Adds a view. +// @JsonValue(1) +// videoViewSetupAdd, + +// /// 2: Deletes a view. +// @JsonValue(2) +// videoViewSetupRemove, +// } + +// /// @nodoc +// extension VideoViewSetupModeExt on VideoViewSetupMode { +// /// @nodoc +// static VideoViewSetupMode fromValue(int value) { +// return $enumDecode(_$VideoViewSetupModeEnumMap, value); +// } + +// /// @nodoc +// int value() { +// return _$VideoViewSetupModeEnumMap[this]!; +// } +// } +export function renderEnumJsonSerializable(enumz: Enumz) { + let enumName = dartName(enumz); + return ` +@JsonEnum(alwaysCreate: true) +enum ${enumName} { + ${enumz.enum_constants + .map((it) => { + return ` + @JsonValue(${it.value}) + ${dartName(it)}, + `; + }) + .join("\n\n")} +} + +extension ${enumName}Ext on ${enumName} { + /// @nodoc + static ${enumName} fromValue(int value) { + return $enumDecode(_$${enumName}EnumMap, value); + } + + /// @nodoc + int value() { + return _$${enumName}EnumMap[this]!; + } +} +`; +} diff --git a/tool/terra/terra_config_main.yaml b/tool/terra/terra_config_main.yaml index f51f13e91..2d704ebe0 100644 --- a/tool/terra/terra_config_main.yaml +++ b/tool/terra/terra_config_main.yaml @@ -17,6 +17,21 @@ parsers: - name: IrisApiIdParser package: '@agoraio-extensions/terra_shared_configs' + + - name: AddNodeParser + package: '@agoraio-extensions/terra_shared_configs' + args: + customHeaderFileNamePrefix: 'Custom' + includeHeaderDirs: + - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include' + parseFiles: + include: + - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/*.h' + - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/custom_headers/*.h' + exclude: + - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/time_utils.h' + - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/IAgoraMediaComponentFactory.h' + - path: parsers/cud_node_parser.ts args: configPath: configs/cud_node_parser.config.ts @@ -24,6 +39,19 @@ parsers: - name: PointerToArrayParser package: '@agoraio-extensions/terra_shared_configs' + - name: RemoveNodeParser + package: '@agoraio-extensions/terra_shared_configs' + + - name: ReturnTypeParser + package: '@agoraio-extensions/terra_shared_configs' + args: + convertReturnToVoid: true + + - name: FixEnumConstantParser + package: '@agoraio-extensions/terra_shared_configs' + args: + skipCalEnumValue: true + # Need put it below `PointerToArrayParser`, since the `PointerToArrayParser` will change the pointer type to array type - path: parsers/dart_syntax_parser.ts @@ -35,5 +63,18 @@ parsers: ignoreDefaultConfig: true renderers: - - path: renderers/event_handlers_renderer.ts - - path: renderers/event_ids_mapping_renderer.ts \ No newline at end of file + - path: renderers/event_handlers_impl_renderer.ts + - path: renderers/event_ids_mapping_renderer.ts + - path: renderers/forward_export_renderer.ts + - path: renderers/buffer_ext_renderer.ts + - path: renderers/event_handler_impl_params_json_renderer.ts + - path: renderers/callapi_impl_renderer.ts + - path: renderers/api_interface_renderer.ts + # Put it to last step + - name: IrisDocRenderer + package: '@agoraio-extensions/terra_shared_configs' + args: + language: dart + fmtConfig: fmt_dart.yaml + exportFilePath: ../../lib/agora_rtc_engine.dart + templateUrl: https://github.com/AgoraIO/agora_doc_source/releases/download/master-build/flutter_ng_json_template_en.json \ No newline at end of file diff --git a/tool/terra/yarn.lock b/tool/terra/yarn.lock deleted file mode 100644 index 72df7aa1e..000000000 --- a/tool/terra/yarn.lock +++ /dev/null @@ -1,3805 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@agoraio-extensions/cxx-parser@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser": - version: 0.1.9 - resolution: "@agoraio-extensions/cxx-parser@git@github.com:AgoraIO-Extensions/terra.git#workspace=cxx-parser&commit=336018fce1ce3749567520e932e5c9397c854cf0" - dependencies: - glob: "npm:^10.3.4" - yaml: "npm:^2.1.3" - peerDependencies: - "@agoraio-extensions/terra-core": "*" - checksum: 10c0/c922cdb60293fd647a3a2ff7cd4da09c47045fab80bfacf587379778eb8a68bda8d0e8734bfdfeb3568702483c1569d7dac16d4eaa7d62cf9575f39a7ffb2d45 - languageName: node - linkType: hard - -"@agoraio-extensions/terra-core@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core": - version: 0.1.5 - resolution: "@agoraio-extensions/terra-core@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra-core&commit=336018fce1ce3749567520e932e5c9397c854cf0" - checksum: 10c0/d7113225ab004b2ff09de3c3718262925dc335f5ffb8ac2800bb96bfb2ad67a307063a425bd14654356d804586a785efe3856462e1087472463eb233a6793e44 - languageName: node - linkType: hard - -"@agoraio-extensions/terra-legacy-cxx-parser@git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#head=main": - version: 0.1.5 - resolution: "@agoraio-extensions/terra-legacy-cxx-parser@git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#commit=8c5a57bc52e6334baeecf32f812ed86924cecbd6" - dependencies: - "@agoraio-extensions/cxx-parser": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser" - "@agoraio-extensions/terra-core": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core" - "@types/jest": "npm:^29.5.1" - "@types/node": "npm:^20.5.9" - glob: "npm:^10.3.4" - jest: "npm:^29.5.0" - ts-jest: "npm:^29.1.0" - ts-node: "npm:^10.9.1" - typescript: "npm:^5.1.6" - yaml: "npm:^2.1.3" - checksum: 10c0/18fc1a248b82a9dee911a4a83b38a8a708bb9e520646f7c3d02ee8f41f56c34dde87206715e56a9cd31abb0e89e04b850f3de143dbbd0288719901d0bc1b1cda - languageName: node - linkType: hard - -"@agoraio-extensions/terra@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra": - version: 0.1.5 - resolution: "@agoraio-extensions/terra@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra&commit=336018fce1ce3749567520e932e5c9397c854cf0" - dependencies: - commander: "npm:^9.4.1" - mustache: "npm:^4.2.0" - yaml: "npm:^2.1.3" - peerDependencies: - "@agoraio-extensions/terra-core": "*" - bin: - terra: ./bin/terra - checksum: 10c0/d63492c162aea0e42a39b56287fd502be9bbb92e49fb3ee6b070a4deaff6bd2568d5f96afc12af85a0f337665af385198da80133bb59283fe5bc8d5b6ef733b7 - languageName: node - linkType: hard - -"@agoraio-extensions/terra_shared_configs@git@github.com:AgoraIO-Extensions/terra_shared_configs.git#head=main": - version: 1.0.2 - resolution: "@agoraio-extensions/terra_shared_configs@git@github.com:AgoraIO-Extensions/terra_shared_configs.git#commit=52a74ccadb5a0949127d1e136ca641f7b26cd601" - dependencies: - "@agoraio-extensions/cxx-parser": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser" - "@agoraio-extensions/terra-core": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core" - mustache: "npm:^4.2.0" - checksum: 10c0/ddca741322311fb922369fc955e24bb9fab9869b920fb7e3d2db8fbc9f701a231f3a0e551706ae47f903f8b4ac33a1de06daaaa0c8d650a1225113e43b630c17 - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.0": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" - dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/compat-data@npm:7.23.5" - checksum: 10c0/081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c - languageName: node - linkType: hard - -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": - version: 7.23.9 - resolution: "@babel/core@npm:7.23.9" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@babel/template": "npm:^7.23.9" - "@babel/traverse": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10c0/03883300bf1252ab4c9ba5b52f161232dd52873dbe5cde9289bb2bb26e935c42682493acbac9194a59a3b6cbd17f4c4c84030db8d6d482588afe64531532ff9b - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2": - version: 7.23.6 - resolution: "@babel/generator@npm:7.23.6" - dependencies: - "@babel/types": "npm:^7.23.6" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10c0/53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" - dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" - browserslist: "npm:^4.22.2" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" - dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 10c0/4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" - dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: 10c0/d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/helpers@npm:7.23.9" - dependencies: - "@babel/template": "npm:^7.23.9" - "@babel/traverse": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - checksum: 10c0/f69fd0aca96a6fb8bd6dd044cd8a5c0f1851072d4ce23355345b9493c4032e76d1217f86b70df795e127553cf7f3fcd1587ede9d1b03b95e8b62681ca2165b87 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/parser@npm:7.23.9" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.23.3 - resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/563bb7599b868773f1c7c1d441ecc9bc53aeb7832775da36752c926fc402a1fa5421505b39e724f71eb217c13e4b93117e081cac39723b0e11dac4c897f33c3e - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.23.3 - resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4d6e9cdb9d0bfb9bd9b220fc951d937fce2ca69135ec121153572cebe81d86abc9a489208d6b69ee5f10cadcaeffa10d0425340a5029e40e14a6025021b90948 - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": - version: 7.23.9 - resolution: "@babel/template@npm:7.23.9" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - checksum: 10c0/0e8b60119433787742bc08ae762bbd8d6755611c4cabbcb7627b292ec901a55af65d93d1c88572326069efb64136ef151ec91ffb74b2df7689bbab237030833a - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/traverse@npm:7.23.9" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/d1615d1d02f04d47111a7ea4446a1a6275668ca39082f31d51f08380de9502e19862be434eaa34b022ce9a17dbb8f9e2b73a746c654d9575f3a680a7ffdf5630 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 - languageName: node - linkType: hard - -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" - dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c - languageName: node - linkType: hard - -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea - languageName: node - linkType: hard - -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b - languageName: node - linkType: hard - -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.22 - resolution: "@jridgewell/trace-mapping@npm:0.3.22" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^2.0.0": - version: 2.2.1 - resolution: "@npmcli/agent@npm:2.2.1" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.1" - checksum: 10c0/38ee5cbe8f3cde13be916e717bfc54fd1a7605c07af056369ff894e244c221e0b56b08ca5213457477f9bc15bca9e729d51a4788829b5c3cf296b3c996147f76 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" - dependencies: - type-detect: "npm:4.0.8" - checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: 10c0/c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 - languageName: node - linkType: hard - -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" - dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b - languageName: node - linkType: hard - -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.5 - resolution: "@types/babel__traverse@npm:7.20.5" - dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/033abcb2f4c084ad33e30c3efaad82161240f351e3c71b6154ed289946b33b363696c0fbd42502b68e4582a87413c418321f40eb1ea863e34fe525641345e05b - languageName: node - linkType: hard - -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jest@npm:^29.5.1": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f - languageName: node - linkType: hard - -"@types/lodash@npm:^4": - version: 4.14.202 - resolution: "@types/lodash@npm:4.14.202" - checksum: 10c0/6064d43c8f454170841bd67c8266cc9069d9e570a72ca63f06bceb484cb4a3ee60c9c1f305c1b9e3a87826049fd41124b8ef265c4dd08b00f6766609c7fe9973 - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:^20.5.9, @types/node@npm:^20.6.0": - version: 20.11.16 - resolution: "@types/node@npm:20.11.16" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/4886b90278e9c877a84efd3edd4667cd990e032d77268d2a798b99ebc1901ea336fa7dfbe9eaf4ad6ad1da9ce2ec31baf300038a3905838692362eb19904ebde - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf - languageName: node - linkType: hard - -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 - languageName: node - linkType: hard - -"acorn@npm:^8.4.1": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.0 - resolution: "agent-base@npm:7.1.0" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:^3.0.3": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 - languageName: node - linkType: hard - -"browserslist@npm:^4.22.2": - version: 4.22.3 - resolution: "browserslist@npm:4.22.3" - dependencies: - caniuse-lite: "npm:^1.0.30001580" - electron-to-chromium: "npm:^1.4.648" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" - bin: - browserslist: cli.js - checksum: 10c0/5a1f673ce0d6e61a68369835a6b66e199669bde02c3bed5ec51e77598d8daafd91719dba55b15af2021b9ad0bbaa94951fd702eb71087449eb28be8002815ece - languageName: node - linkType: hard - -"bs-logger@npm:0.x": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: "npm:2.x" - checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: "npm:^0.4.0" - checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" - dependencies: - "@npmcli/fs": "npm:^3.1.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001580": - version: 1.0.30001584 - resolution: "caniuse-lite@npm:1.0.30001584" - checksum: 10c0/9f353d7b14ea218bf90f9aa908947be1119f3744bb4080aeef59dd2fbca2ca663a6eecad29deba41f7d02ef9f516240353809f31208396a1ec9824b515467d87 - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"commander@npm:^9.4.1": - version: 9.5.0 - resolution: "commander@npm:9.5.0" - checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: 10c0/f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.648": - version: 1.4.659 - resolution: "electron-to-chromium@npm:1.4.659" - checksum: 10c0/84658e98fed674812fc3819a4690bc38ffb5b3f9503752f068b5980a8b80de01acd4b713f0bb408f43c8c080ec80e626a58c62bca9d51bf2dcc67d3f5923930f - languageName: node - linkType: hard - -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: "npm:^0.2.1" - checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 - languageName: node - linkType: hard - -"expect@npm:^29.0.0, expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 - languageName: node - linkType: hard - -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:^2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.4": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"hasown@npm:^2.0.0": - version: 2.0.0 - resolution: "hasown@npm:2.0.0" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/5d415b114f410661208c95e7ab4879f1cc2765b8daceff4dc8718317d1cb7b9ffa7c5d1eafd9a4389c9aab7445d6ea88e05f3096cb1e529618b55304956b87fc - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "http-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.2 - resolution: "https-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/7735eb90073db087e7e79312e3d97c8c04baf7ea7ca7b013382b6a45abbaa61b281041a98f4e13c8c80d88f843785bcc84ba189165b4b4087b1e3496ba656d77 - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ip@npm:^2.0.0": - version: 2.0.0 - resolution: "ip@npm:2.0.0" - checksum: 10c0/8d186cc5585f57372847ae29b6eba258c68862055e18a75cc4933327232cb5c107f89800ce29715d542eef2c254fbb68b382e780a7414f9ee7caf60b7a473958 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 - languageName: node - linkType: hard - -"is-core-module@npm:^2.13.0": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.1 - resolution: "istanbul-lib-instrument@npm:6.0.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 10c0/313d61aca3f82a04ad9377841d05061d603ea3d4a4dd281fdda2479ec4ddbc86dc1792c73651f21c93480570d1ecadc5f63011e2df86f30ee662b62c0c00e3d8 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/ec3f1bdbc51b3e0b325a5b9f4ad31a247697f31001df4e81075f7980413f14da1b5adfec574fd156efd3b0464023f61320f6718efc66ee72b32d89611cef99dd - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d - languageName: node - linkType: hard - -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 - languageName: node - linkType: hard - -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 - languageName: node - linkType: hard - -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 - languageName: node - linkType: hard - -"jest@npm:^29.5.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b - languageName: node - linkType: hard - -"js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 - languageName: node - linkType: hard - -"json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d - languageName: node - linkType: hard - -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - -"lodash.memoize@npm:4.x": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 - languageName: node - linkType: hard - -"lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: "npm:^3.0.2" - checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 - languageName: node - linkType: hard - -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"make-error@npm:1.x, make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" - dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" - http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 - languageName: node - linkType: hard - -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"mustache@npm:^4.2.0": - version: 4.2.0 - resolution: "mustache@npm:4.2.0" - bin: - mustache: bin/mustache - checksum: 10c0/1f8197e8a19e63645a786581d58c41df7853da26702dbc005193e2437c98ca49b255345c173d50c08fe4b4dbb363e53cb655ecc570791f8deb09887248dd34a2 - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa - languageName: node - linkType: hard - -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a - languageName: node - linkType: hard - -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 - languageName: node - linkType: hard - -"nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" - dependencies: - abbrev: "npm:^2.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: 10c0/0fe7b12f25b10ea5b804598a6f37e4bcf645d2be6d44fe963741f014bf0095bdb6ff525106d6da6e76addc8142358fd380f1a9b8c62ea4d5516bf26a96a37c95 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:^1.20.0": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.6.0 - resolution: "semver@npm:7.6.0" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.1": - version: 8.0.2 - resolution: "socks-proxy-agent@npm:8.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 - languageName: node - linkType: hard - -"socks@npm:^2.7.1": - version: 2.7.1 - resolution: "socks@npm:2.7.1" - dependencies: - ip: "npm:^2.0.0" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.0 - resolution: "tar@npm:6.2.0" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 - languageName: node - linkType: hard - -"terra-test@workspace:.": - version: 0.0.0-use.local - resolution: "terra-test@workspace:." - dependencies: - "@agoraio-extensions/cxx-parser": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser" - "@agoraio-extensions/terra": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra" - "@agoraio-extensions/terra-core": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core" - "@agoraio-extensions/terra-legacy-cxx-parser": "git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#head=main" - "@agoraio-extensions/terra_shared_configs": "git@github.com:AgoraIO-Extensions/terra_shared_configs.git#head=main" - "@types/lodash": "npm:^4" - "@types/node": "npm:^20.6.0" - lodash: "npm:^4.17.21" - ts-node: "npm:^10.9.1" - typescript: "npm:^5.1.6" - languageName: unknown - linkType: soft - -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"ts-jest@npm:^29.1.0": - version: 29.1.2 - resolution: "ts-jest@npm:29.1.2" - dependencies: - bs-logger: "npm:0.x" - fast-json-stable-stringify: "npm:2.x" - jest-util: "npm:^29.0.0" - json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: 10c0/c2f51f0241f89d127d41392decbcb83b5dfd5e57ab9d50220aa7b7e2f9b3f3b07ccdbba33311284df1c41941879e4ddfad44b15a9d0da4b74bd1b98702b729df - languageName: node - linkType: hard - -"ts-node@npm:^10.9.1": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"typescript@npm:^5.1.6": - version: 5.3.3 - resolution: "typescript@npm:5.3.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.1.6#optional!builtin": - version: 5.3.3 - resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f - languageName: node - linkType: hard - -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" - dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.0.1": - version: 9.2.0 - resolution: "v8-to-istanbul@npm:9.2.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 - languageName: node - linkType: hard - -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yaml@npm:^2.1.3": - version: 2.3.4 - resolution: "yaml@npm:2.3.4" - checksum: 10c0/cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - -"yargs@npm:^17.3.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard From 3b065520930a40bcf4b41e664cb21897ebfc2d6f Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Wed, 6 Mar 2024 20:27:29 +0800 Subject: [PATCH 2/6] [tool/terra] Full migrate to new terra --- .../fake/fake_iris_method_channel.dart | 19 ++- tool/terra/build.sh | 5 - tool/terra/legacy_terra_config.yaml | 31 ----- tool/terra/parsers/iris_api_id_parser.ts | 53 ------- .../merge_rtc_engine_event_handler_parser.ts | 71 ---------- .../terra/renderers/api_interface_renderer.ts | 12 -- tool/terra/renderers/buffer_ext_renderer.ts | 1 - tool/terra/renderers/callapi_impl_renderer.ts | 9 -- .../renderers/event_handlers_impl_renderer.ts | 129 +++++++++--------- .../renderers/event_ids_mapping_renderer.ts | 6 - 10 files changed, 73 insertions(+), 263 deletions(-) delete mode 100644 tool/terra/legacy_terra_config.yaml delete mode 100644 tool/terra/parsers/iris_api_id_parser.ts delete mode 100644 tool/terra/parsers/merge_rtc_engine_event_handler_parser.ts diff --git a/test_shard/integration_test_app/integration_test/fake/fake_iris_method_channel.dart b/test_shard/integration_test_app/integration_test/fake/fake_iris_method_channel.dart index 3d25b8031..00b0b2e12 100644 --- a/test_shard/integration_test_app/integration_test/fake/fake_iris_method_channel.dart +++ b/test_shard/integration_test_app/integration_test/fake/fake_iris_method_channel.dart @@ -22,16 +22,15 @@ class FakeIrisMethodChannelConfig { final Map delayInvokeMethod; final Map fakeInvokeMethods; - FakeIrisMethodChannelConfig copyWith({ - bool? isFakeInitilize, - bool? isFakeInvokeMethod, - bool? isFakeGetNativeHandle, - bool? isFakeAddHotRestartListener, - bool? isFakeRemoveHotRestartListener, - bool? isFakeDispose, - Map? delayInvokeMethod, - Map? fakeInvokeMethods - }) { + FakeIrisMethodChannelConfig copyWith( + {bool? isFakeInitilize, + bool? isFakeInvokeMethod, + bool? isFakeGetNativeHandle, + bool? isFakeAddHotRestartListener, + bool? isFakeRemoveHotRestartListener, + bool? isFakeDispose, + Map? delayInvokeMethod, + Map? fakeInvokeMethods}) { return FakeIrisMethodChannelConfig( isFakeInitilize: isFakeInitilize ?? this.isFakeInitilize, isFakeInvokeMethod: isFakeInvokeMethod ?? this.isFakeInvokeMethod, diff --git a/tool/terra/build.sh b/tool/terra/build.sh index 896354355..d31c565c5 100644 --- a/tool/terra/build.sh +++ b/tool/terra/build.sh @@ -9,11 +9,6 @@ bash ${MY_PATH}/prepare.sh pushd ${MY_PATH} -# npm exec terra -- run \ -# --config ${PROJECT_ROOT}/tool/terra/legacy_terra_config.yaml \ -# --output-dir=${PROJECT_ROOT}/lib/src - -# Incremental migrate to the new terra, this will override the existing files npm exec terra -- run \ --config ${PROJECT_ROOT}/tool/terra/terra_config_main.yaml \ --output-dir=${PROJECT_ROOT}/ diff --git a/tool/terra/legacy_terra_config.yaml b/tool/terra/legacy_terra_config.yaml deleted file mode 100644 index f58257fda..000000000 --- a/tool/terra/legacy_terra_config.yaml +++ /dev/null @@ -1,31 +0,0 @@ -parsers: - - name: LegacyCXXParser - package: '@agoraio-extensions/terra-legacy-cxx-parser' - args: - includeHeaderDirs: - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include' - parseFiles: - include: - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/*.h' - exclude: - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/AgoraRefPtr.h' - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/time_utils.h' - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/AgoraOptional.h' - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/AgoraRefPtr.h' - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/IAgoraMediaComponentFactory.h' - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/include/IAgoraParameter.h' - customHeaders: - - '@agoraio-extensions/terra_shared_configs:headers/rtc_4.3.0/custom_headers/*.h' - language: dart - nativeSdkVersion: 4.3.0 - legacyRenders: - - DartSyntaxRender - -renderers: - - name: IrisDocRenderer - package: '@agoraio-extensions/terra_shared_configs' - args: - language: dart - fmtConfig: fmt_dart.yaml - exportFilePath: ../../lib/agora_rtc_engine.dart - templateUrl: https://github.com/AgoraIO/agora_doc_source/releases/download/master-build/flutter_ng_json_template_en.json \ No newline at end of file diff --git a/tool/terra/parsers/iris_api_id_parser.ts b/tool/terra/parsers/iris_api_id_parser.ts deleted file mode 100644 index a354df87d..000000000 --- a/tool/terra/parsers/iris_api_id_parser.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - CXXFile, - CXXTYPE, - CXXTerraNode, - Clazz, -} from "@agoraio-extensions/cxx-parser"; -import { ParseResult, TerraContext } from "@agoraio-extensions/terra-core"; -import { irisApiId } from "@agoraio-extensions/terra_shared_configs"; - -const funcNeedCheckWithBaseClasses = [ - "agora::media::IAudioFrameObserver", - "agora::rtc::IRtcEngineEventHandlerEx", -]; -function isNeedCheckWithBaseClasses(clazz: Clazz): boolean { - return funcNeedCheckWithBaseClasses.includes(clazz.fullName); -} - -export default function IrisApiIdParser( - terraContext: TerraContext, - args: any, - preParseResult?: ParseResult -): ParseResult | undefined { - let cxxFiles = preParseResult!.nodes as CXXFile[]; - cxxFiles.forEach((cxxFile: CXXFile) => { - cxxFile.nodes.forEach((node) => { - if (node.__TYPE == CXXTYPE.Clazz) { - let clazz = node as Clazz; - let needCheckWithBaseClasses = isNeedCheckWithBaseClasses(clazz); - clazz.methods.forEach((method) => { - method.user_data ??= {}; - method.user_data!["IrisApiIdParser"] = { - key: irisApiId(clazz, method, { - toUpperCase: true, - }), - value: irisApiId(clazz, method, { - toUpperCase: false, - }), - }; - }); - } - }); - }); - - return preParseResult; -} - -export function getIrisApiIdKey(node: CXXTerraNode): string { - return node.user_data?.["IrisApiIdParser"]?.key ?? ""; -} - -export function getIrisApiIdValue(node: CXXTerraNode): string { - return node.user_data?.["IrisApiIdParser"]?.value ?? ""; -} diff --git a/tool/terra/parsers/merge_rtc_engine_event_handler_parser.ts b/tool/terra/parsers/merge_rtc_engine_event_handler_parser.ts deleted file mode 100644 index b1e9299a0..000000000 --- a/tool/terra/parsers/merge_rtc_engine_event_handler_parser.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { - CXXFile, - CXXTYPE, - CXXTerraNode, - Clazz, - MemberFunction, -} from "@agoraio-extensions/cxx-parser"; -import { ParseResult, TerraContext } from "@agoraio-extensions/terra-core"; -import { irisApiId } from "@agoraio-extensions/terra_shared_configs"; - -const funcNeedCheckWithBaseClasses = [ - "agora::media::IAudioFrameObserver", - "agora::rtc::IRtcEngineEventHandlerEx", -]; -function isNeedCheckWithBaseClasses(clazz: Clazz): boolean { - return funcNeedCheckWithBaseClasses.includes(clazz.fullName); -} - -export default function MergeRtcEngineEventHandlerParser( - terraContext: TerraContext, - args: any, - preParseResult?: ParseResult -): ParseResult | undefined { - let rtcEngineEventHandlerClazz = preParseResult!.resolveNodeByName( - "agora::rtc::IRtcEngineEventHandler" - ); - let rtcEngineEventHandlerExClazz = preParseResult!.resolveNodeByName( - "agora::rtc::IRtcEngineEventHandlerEx" - ); - - if (rtcEngineEventHandlerClazz && rtcEngineEventHandlerClazz) { - let adjustMethods: MemberFunction[] = []; - rtcEngineEventHandlerClazz.asClazz().methods.forEach((method) => { - // Force filter the `eventHandlerType` method. - if (method.name != "eventHandlerType") { - let sameNameMethod = rtcEngineEventHandlerExClazz! - .asClazz() - .methods.find((it) => it.name == method.name); - if (sameNameMethod) { - // If there is a method with the same name in `IRtcEngineEventHandlerEx`, use it. - adjustMethods.push(sameNameMethod); - } else { - adjustMethods.push(method); - } - } - }); - - rtcEngineEventHandlerClazz.asClazz().methods = adjustMethods; - - // After merge the `IRtcEngineEventHandler` and `IRtcEngineEventHandlerEx`, - // remove the `IRtcEngineEventHandlerEx` from the parse result. - preParseResult!.nodes.forEach((it) => { - let cxxFile = it as CXXFile; - cxxFile.nodes = cxxFile.nodes.filter( - (it) => - it.__TYPE == CXXTYPE.Clazz && - it.fullName != "agora::rtc::IRtcEngineEventHandlerEx" - ); - }); - } - - return preParseResult; -} - -export function getIrisApiIdKey(node: CXXTerraNode): string { - return node.user_data?.["IrisApiIdParser"]?.key ?? ""; -} - -export function getIrisApiIdValue(node: CXXTerraNode): string { - return node.user_data?.["IrisApiIdParser"]?.value ?? ""; -} diff --git a/tool/terra/renderers/api_interface_renderer.ts b/tool/terra/renderers/api_interface_renderer.ts index 39d5b9767..5e82fda7e 100644 --- a/tool/terra/renderers/api_interface_renderer.ts +++ b/tool/terra/renderers/api_interface_renderer.ts @@ -37,11 +37,6 @@ export default function ApiInterfaceRenderer( args: any, parseResult: ParseResult ): RenderResult[] { - // let cxxFiles = (parseResult!.nodes as CXXFile[]).filter((cxxFile) => { - // return cxxFile.nodes.find((node) => { - // return node.__TYPE == CXXTYPE.Clazz && !isCallbackClass(node as Clazz); - // }); - // }); let renderResults = (parseResult!.nodes as CXXFile[]).map((cxxFile) => { let subContents = cxxFile.nodes .filter((it) => it.name.length > 0) @@ -75,7 +70,6 @@ export default function ApiInterfaceRenderer( }) .join("\n\n"); - // cxx_parser.isStruct(node); let isNeedImportGDartFile = cxxFile.nodes.find((node) => { @@ -124,7 +118,6 @@ abstract class ${dartName(clazz)} ${implementsBlock} { export function renderCallbackClass(parseResult: ParseResult, clazz: Clazz) { let clazzName = dartName(clazz); - let baseClasses = getBaseClasses(parseResult, clazz); let baseClassMethods = getBaseClassMethods(parseResult, clazz); let baseClassNames = getBaseClasses(parseResult, clazz).map((it) => dartName(it) @@ -153,7 +146,6 @@ ${baseClassMethods.map((it) => `${dartName(it)} : ${dartName(it)},`).join("")} clazz.methods.forEach((method) => { constructorParameters.push(`this.${dartName(method)},`); }); - // constructorParameters.push(","); let constructorBlock = _trim(` /// Construct the [${clazzName}]. @@ -359,10 +351,6 @@ export function functionSignature( let parameterListBlock = memberFunction.parameters .map((param) => { let typeNode = parseResult.resolveNodeByType(param.type); - // let typeName = dartName(typeNode); - // if (typeNode.__TYPE == CXXTYPE.TypeAlias) { - // typeName = dartName(param.type); - // } let typeName = dartName(param.type); let variableName = dartName(param); diff --git a/tool/terra/renderers/buffer_ext_renderer.ts b/tool/terra/renderers/buffer_ext_renderer.ts index 2ed100783..ec6f95afa 100644 --- a/tool/terra/renderers/buffer_ext_renderer.ts +++ b/tool/terra/renderers/buffer_ext_renderer.ts @@ -40,7 +40,6 @@ ${extensionContents} } export function renderBufferExtBlock(parseResult: ParseResult, structName: string, memberVariables: MemberVariable[]) { - // let structName = dartName(structt); let extName = `${structName}BufferExt`; let bufferMemberNames = memberVariables.filter((member) => dartName(member.type) == 'Uint8List').map((member) => dartName(member)); diff --git a/tool/terra/renderers/callapi_impl_renderer.ts b/tool/terra/renderers/callapi_impl_renderer.ts index 211179edd..630199578 100644 --- a/tool/terra/renderers/callapi_impl_renderer.ts +++ b/tool/terra/renderers/callapi_impl_renderer.ts @@ -133,10 +133,6 @@ export default function CallApiImplRenderer( return renderResults; } -function variableToMemberVariable(it: Variable): any { - throw new Error("Function not implemented."); -} - interface JsonMapInitBlock { preInitBlock: string; nullCheckBlock: string; @@ -150,7 +146,6 @@ function callApiImplBlock( clazz: Clazz, method: MemberFunction ): string { - // let clazz = method.parent!.asClazz(); let className = dartName(clazz); console.log(`callApiImplBlock className: ${className}`); let methodName = dartName(method); @@ -244,10 +239,6 @@ function callApiImplBlock( } else if (returnTypeNode.__TYPE == CXXTYPE.Enumz) { returnBlock = `return ${dartName(returnTypeNode)}Ext.fromValue(result);`; } else if (method.return_type.name != "void") { - // let returnType = dartName(returnTypeNode); - // if (returnTypeNode.__TYPE == CXXTYPE.TypeAlias) { - // returnType = dartName(method.return_type); - // } let returnType = dartName(method.return_type); returnBlock = `return result as ${returnType};`; } else { diff --git a/tool/terra/renderers/event_handlers_impl_renderer.ts b/tool/terra/renderers/event_handlers_impl_renderer.ts index ca7353fca..5bf2f7f52 100644 --- a/tool/terra/renderers/event_handlers_impl_renderer.ts +++ b/tool/terra/renderers/event_handlers_impl_renderer.ts @@ -10,23 +10,19 @@ import { RenderResult, TerraContext, } from "@agoraio-extensions/terra-core"; -import { getIrisApiIdValue } from "../parsers/iris_api_id_parser"; import { isCallbackClass } from "./utils"; import { dartFileName, dartName } from "../parsers/dart_syntax_parser"; +import { getIrisApiIdValue } from "@agoraio-extensions/terra_shared_configs"; function processCXXFiles( terraContext: TerraContext, parseResult: ParseResult, args: any ): CXXFile[] { - // return parseResult.nodes as CXXFile[]; return (parseResult.nodes as CXXFile[]).filter((cxxFile) => { - return cxxFile.nodes.find((node) => { return node.__TYPE == CXXTYPE.Clazz && isCallbackClass(node as Clazz); }); - - // return it.fileName == "IAgoraRtcEngine.h"; }); } @@ -84,8 +80,9 @@ function callbackSwithCaseBlock( .map((it) => { let className = clazz.name; let methodName = it.name; - let jsonClassName = `${className.replace("I", "")}${methodName[0].toUpperCase() + methodName.slice(1) - }Json`; + let jsonClassName = `${className.replace("I", "")}${ + methodName[0].toUpperCase() + methodName.slice(1) + }Json`; let dn = dartName(it); let eventName = getIrisApiIdValue(it).split("_").slice(1).join("_"); // Fall back to method name if `getIrisApiIdValue` is empty. This is happen for that nodes from custom headers. @@ -102,54 +99,56 @@ final jsonMap = jsonDecode(eventData); ${jsonClassName} paramJson = ${jsonClassName}.fromJson(jsonMap); paramJson = paramJson.fillBuffers(buffers); ${(function () { - let paramIntList = it.parameters - .map((it) => { - let typeName = dartName(it.type); - let memberName = dartName(it); - return `${typeName}? ${memberName} = paramJson.${memberName};`; - }) - .join("\n"); - - let paramNullCheckList = it.parameters - .map((it) => { - let memberName = dartName(it); - return `${memberName} == null`; - }) - .join("||"); - if (paramNullCheckList.length) { - paramNullCheckList = `if (${paramNullCheckList}) { return true; }`; - } - - let paramFillBufferList = it.parameters - .map((it) => { - let memberName = dartName(it); - let actualNode = parseResult.resolveNodeByType(it.type); - if (actualNode.__TYPE == CXXTYPE.TypeAlias) { - actualNode = parseResult.resolveNodeByType(actualNode.asTypeAlias()!.underlyingType); - } - if (actualNode.__TYPE == CXXTYPE.Struct) { - if (it.type.kind == SimpleTypeKind.array_t) { - return `${memberName} = ${memberName}.map((e) => e.fillBuffers(buffers)).toList();`; - } else { - return `${memberName} = ${memberName}.fillBuffers(buffers);`; - } - } - - return ""; - }) - .join("\n") - .trim(); - - let paramList = it.parameters.map((it) => dartName(it)); - - return ` + let paramIntList = it.parameters + .map((it) => { + let typeName = dartName(it.type); + let memberName = dartName(it); + return `${typeName}? ${memberName} = paramJson.${memberName};`; + }) + .join("\n"); + + let paramNullCheckList = it.parameters + .map((it) => { + let memberName = dartName(it); + return `${memberName} == null`; + }) + .join("||"); + if (paramNullCheckList.length) { + paramNullCheckList = `if (${paramNullCheckList}) { return true; }`; + } + + let paramFillBufferList = it.parameters + .map((it) => { + let memberName = dartName(it); + let actualNode = parseResult.resolveNodeByType(it.type); + if (actualNode.__TYPE == CXXTYPE.TypeAlias) { + actualNode = parseResult.resolveNodeByType( + actualNode.asTypeAlias()!.underlyingType + ); + } + if (actualNode.__TYPE == CXXTYPE.Struct) { + if (it.type.kind == SimpleTypeKind.array_t) { + return `${memberName} = ${memberName}.map((e) => e.fillBuffers(buffers)).toList();`; + } else { + return `${memberName} = ${memberName}.fillBuffers(buffers);`; + } + } + + return ""; + }) + .join("\n") + .trim(); + + let paramList = it.parameters.map((it) => dartName(it)); + + return ` ${paramIntList} ${paramNullCheckList} ${paramFillBufferList} ${firstParamNameForWrapperClass}.${methodName}!(${paramList}); return true; `.trim(); - })()} +})()} `; }) .join("\n"); @@ -177,15 +176,15 @@ export default function EventHandlersImplRenderer( return ` class ${wrapperClassName} ${extendBlock} { ${(function () { - // Constructor - let callSuperBlock = hasBaseClass - ? `: super(${firstParamNameForWrapperClass})` - : ""; + // Constructor + let callSuperBlock = hasBaseClass + ? `: super(${firstParamNameForWrapperClass})` + : ""; - return ` + return ` const ${wrapperClassName}(this.${firstParamNameForWrapperClass})${callSuperBlock}; `.trim(); - })()} +})()} final ${className} ${firstParamNameForWrapperClass}; @@ -204,10 +203,10 @@ int get hashCode => ${firstParamNameForWrapperClass}.hashCode; bool handleEventInternal(String eventName, String eventData, List buffers) { switch (eventName) { ${callbackSwithCaseBlock( - parseResult, - clazz, - firstParamNameForWrapperClass - )} + parseResult, + clazz, + firstParamNameForWrapperClass + )} } return false; } @@ -218,13 +217,13 @@ bool handleEvent(String eventName, String eventData, List buffers) { final newEvent = eventName.replaceFirst('${className}_', ''); if (handleEventInternal(newEvent, eventData, buffers)) { return true; } ${(function () { - // handle return block - if (hasBaseClass) { - return "return super.handleEventInternal(newEvent, eventData, buffers);"; - } + // handle return block + if (hasBaseClass) { + return "return super.handleEventInternal(newEvent, eventData, buffers);"; + } - return "return false;"; - })()} + return "return false;"; + })()} } } `.trim(); diff --git a/tool/terra/renderers/event_ids_mapping_renderer.ts b/tool/terra/renderers/event_ids_mapping_renderer.ts index 6fcae68f0..64a3c16d5 100644 --- a/tool/terra/renderers/event_ids_mapping_renderer.ts +++ b/tool/terra/renderers/event_ids_mapping_renderer.ts @@ -20,12 +20,6 @@ function isNeedCheckWithBaseClasses(clazz: Clazz): boolean { return funcNeedCheckWithBaseClasses.includes(clazz.fullName); } -/// Event Ids mapping of iris api id. -// const eventIdsMapping = { -// "H265TranscoderObserver_onQueryChannel", -// ["H265TranscoderObserver_onQueryChannel_ppp"], -// }; - export default function EventIdsMappingRenderer( terraContext: TerraContext, args: any, From 91f4ece99c38b52c61c693ad8fe952d444b1350a Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Wed, 6 Mar 2024 20:31:49 +0800 Subject: [PATCH 3/6] [tool/terra] Full migrate to new terra --- tool/terra/package.json | 6 +----- tool/terra/parsers/dart_syntax_parser.ts | 12 +----------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/tool/terra/package.json b/tool/terra/package.json index 1435cf53e..9bea7dec7 100644 --- a/tool/terra/package.json +++ b/tool/terra/package.json @@ -22,9 +22,5 @@ "ts-node": "^10.9.1", "typescript": "^5.1.6" }, - "packageManager": "yarn@4.1.1", - "resolutions": { - "@agoraio-extensions/terra_shared_configs": "portal:/Users/fenglang/codes/aw/terra_shared_configs", - "@agoraio-extensions/cxx-parser": "portal:/Users/fenglang/codes/aw/terra/cxx-parser" - } + "packageManager": "yarn@4.1.1" } diff --git a/tool/terra/parsers/dart_syntax_parser.ts b/tool/terra/parsers/dart_syntax_parser.ts index 4b8893ed1..deb02c763 100644 --- a/tool/terra/parsers/dart_syntax_parser.ts +++ b/tool/terra/parsers/dart_syntax_parser.ts @@ -105,7 +105,6 @@ function upperCamelCaseToLowercaseWithUnderscores( let baseRegex = new RegExp("((I[A-Z]|[A-Z])?[a-z0-9]*)"); - // const baseRegex = /((I[A-Z]|[A-Z])?[a-z0-9]*)/g; let baseMatch; while ((baseMatch = baseRegex.exec(toSearch)) !== null) { @@ -153,11 +152,6 @@ const _cppStdTypeToDartTypeMappping: Map = new Map([ ]); function _dartTypeName(parseResult: ParseResult, type: SimpleType): string { - // let dartType = type.name.trimNamespace(); - // if (type.kind == SimpleTypeKind.template_t) { - // dartType = type.template_arguments[0]?.trimNamespace() ?? dartType; - // } - let typeNode = parseResult.resolveNodeByType(type); let dartType = typeNode.name.trimNamespace(); if (typeNode.__TYPE == CXXTYPE.Clazz || typeNode.__TYPE == CXXTYPE.Struct) { @@ -168,11 +162,7 @@ function _dartTypeName(parseResult: ParseResult, type: SimpleType): string { } else { dartType = _dartClassName(dartType); } - } - // else if (typeNode.__TYPE == CXXTYPE.TypeAlias) { - // dartType = type.name.trimNamespace(); - // } - else if ( + } else if ( typeNode.isSimpleType() && typeNode.asSimpleType().kind == SimpleTypeKind.template_t && typeNode.asSimpleType().template_arguments.length > 0 From c1354a6c9211b170fcb6c0c7f937fcde9ed83e2a Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Wed, 6 Mar 2024 20:32:52 +0800 Subject: [PATCH 4/6] [tool/terra] Full migrate to new terra --- tool/terra/renderers/utils.ts | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/tool/terra/renderers/utils.ts b/tool/terra/renderers/utils.ts index 6bf6082e6..ccb0b9c50 100644 --- a/tool/terra/renderers/utils.ts +++ b/tool/terra/renderers/utils.ts @@ -177,34 +177,6 @@ export function renderJsonSerializable( return output; } -// /// Setting mode of the view. -// @JsonEnum(alwaysCreate: true) -// enum VideoViewSetupMode { -// /// 0: (Default) Replaces a view. -// @JsonValue(0) -// videoViewSetupReplace, - -// /// 1: Adds a view. -// @JsonValue(1) -// videoViewSetupAdd, - -// /// 2: Deletes a view. -// @JsonValue(2) -// videoViewSetupRemove, -// } - -// /// @nodoc -// extension VideoViewSetupModeExt on VideoViewSetupMode { -// /// @nodoc -// static VideoViewSetupMode fromValue(int value) { -// return $enumDecode(_$VideoViewSetupModeEnumMap, value); -// } - -// /// @nodoc -// int value() { -// return _$VideoViewSetupModeEnumMap[this]!; -// } -// } export function renderEnumJsonSerializable(enumz: Enumz) { let enumName = dartName(enumz); return ` From 2ca7ee5f9593424395ebc376a646afca1000329e Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Thu, 7 Mar 2024 11:42:50 +0800 Subject: [PATCH 5/6] ++ --- .../generated/event_ids_mapping_gen.dart | 1 - tool/terra/renderers/event_ids_mapping_renderer.ts | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart b/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart index 2aab81f69..c077291de 100644 --- a/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart +++ b/test_shard/fake_test_app/integration_test/generated/event_ids_mapping_gen.dart @@ -64,7 +64,6 @@ const eventIdsMapping = { "H265TranscoderObserver_onTriggerTranscode": [ "H265TranscoderObserver_onTriggerTranscode_6ba6646" ], - "MediaPlayerVideoFrameObserver_onFrame": [""], "MediaPlayerSourceObserver_onPlayerSourceStateChanged": [ "MediaPlayerSourceObserver_onPlayerSourceStateChanged_7fb38f1" ], diff --git a/tool/terra/renderers/event_ids_mapping_renderer.ts b/tool/terra/renderers/event_ids_mapping_renderer.ts index 64a3c16d5..585378822 100644 --- a/tool/terra/renderers/event_ids_mapping_renderer.ts +++ b/tool/terra/renderers/event_ids_mapping_renderer.ts @@ -32,14 +32,16 @@ export default function EventIdsMappingRenderer( cxxFile.nodes.forEach((node) => { if (node.__TYPE == CXXTYPE.Clazz) { let clazz = node as Clazz; - let needCheckWithBaseClasses = isNeedCheckWithBaseClasses(clazz); clazz.methods.forEach((method) => { if (isCallbackClass(clazz)) { let key = `${clazz.name.replace("I", "")}_${method.name}`; - if (!eventIdsMapping.has(key)) { - eventIdsMapping.set(key, []); + let value = getIrisApiIdValue(method); + if (value.length > 0) { + if (!eventIdsMapping.has(key)) { + eventIdsMapping.set(key, []); + } + eventIdsMapping.get(key)?.push(value); } - eventIdsMapping.get(key)?.push(getIrisApiIdValue(method)); } }); } From 73d8804c6fdff4d99eb62310999518fc99df0c09 Mon Sep 17 00:00:00 2001 From: littleGnAl Date: Thu, 7 Mar 2024 11:58:01 +0800 Subject: [PATCH 6/6] ++ --- tool/terra/renderers/utils.ts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/tool/terra/renderers/utils.ts b/tool/terra/renderers/utils.ts index ccb0b9c50..e5dfda631 100644 --- a/tool/terra/renderers/utils.ts +++ b/tool/terra/renderers/utils.ts @@ -100,8 +100,7 @@ export function isNeedIgnoreJsonInJsonObject( type: SimpleType ): boolean { let isIgnoreJson = ignoreJsonTypes.includes(dartName(type)); - // isIgnoreJson = - // isIgnoreJson || parseResult.resolveNodeByType(type).__TYPE == CXXTYPE.Clazz; + return isIgnoreJson; } @@ -130,12 +129,6 @@ export function renderJsonSerializable( jsonClassName: string, memberVariables: MemberVariable[] ) { - // let structName = dartName(structt); - // let extName = `${structName}BufferExt`; - - // let bufferMemberNames = memberVariables.filter((member) => dartName(member.type) == 'Uint8List').map((member) => dartName(member)); - // let constructorNamedParams = memberVariables.map((it) => `${dartName(it)}: ${dartName(it)}`); - let output = ` @JsonSerializable(explicitToJson: true, includeIfNull: false) class ${jsonClassName} {