From 2229f703f48cf2d9ee22d7a369aa7ed733d0616f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petrus=20Nguy=E1=BB=85n=20Th=C3=A1i=20H=E1=BB=8Dc?= Date: Sat, 11 May 2024 18:51:57 +0700 Subject: [PATCH] build: use melos (#755) * move rxdart source to packages/rxdart dir * setup melos * setup melos * setup melos * done example * example => xamples * ignore * update melos.yaml * update melos.yaml * update melos.yaml * update melos.yaml * fix CI * fix CI * fix CI * fix sample * fix ci * readme * readme * dart 3 sealed class to github_search example * fix tests * fix tests --- .github/workflows/flutter-example.yml | 8 +- .github/workflows/rxdart-test.yml | 39 +- .gitignore | 24 +- README.md | 260 +------- build.yaml | 5 - example/analysis_options.yaml | 4 - .../github_search/test/widget_test.dart | 30 - .../fibonacci}/.gitignore | 0 examples/fibonacci/analysis_options.yaml | 13 + .../fibonacci/lib}/example.dart | 0 examples/fibonacci/pubspec.lock | 20 + examples/fibonacci/pubspec.yaml | 12 + examples/flutter/github_search/.gitignore | 42 ++ .../flutter/github_search/.metadata | 0 .../flutter/github_search/README.md | 0 .../github_search/analysis_options.yaml | 0 .../flutter/github_search/android/.gitignore | 0 .../github_search/android/app/build.gradle | 0 .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../com/example/github_search/MainActivity.kt | 0 .../res/drawable-v21/launch_background.xml | 0 .../main/res/drawable/launch_background.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../app/src/main/res/values-night/styles.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../app/src/profile/AndroidManifest.xml | 0 .../github_search/android/build.gradle | 0 .../github_search/android/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.properties | 0 .../github_search/android/settings.gradle | 0 .../fonts/hind/DESCRIPTION.en_us.html | 0 .../github_search/fonts/hind/Hind-Bold.ttf | Bin .../github_search/fonts/hind/Hind-Light.ttf | Bin .../github_search/fonts/hind/Hind-Medium.ttf | Bin .../github_search/fonts/hind/Hind-Regular.ttf | Bin .../fonts/hind/Hind-Semibold.ttf | Bin .../github_search/fonts/hind/METADATA.json | 0 .../flutter/github_search/fonts/hind/OFL.txt | 0 .../fonts/montserrat/DESCRIPTION.en_us.html | 0 .../fonts/montserrat/METADATA.json | 0 .../fonts/montserrat/Montserrat-Black.ttf | Bin .../fonts/montserrat/Montserrat-Bold.ttf | Bin .../fonts/montserrat/Montserrat-Light.ttf | Bin .../fonts/montserrat/Montserrat-Regular.ttf | Bin .../fonts/montserrat/Montserrat-Thin.ttf | Bin .../github_search/fonts/montserrat/OFL.txt | 0 .../flutter/github_search/ios/.gitignore | 0 .../ios/Flutter/AppFrameworkInfo.plist | 0 .../github_search/ios/Flutter/Debug.xcconfig | 0 .../ios/Flutter/Release.xcconfig | 0 .../ios/Runner.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../github_search/ios/Runner/AppDelegate.h | 0 .../github_search/ios/Runner/AppDelegate.m | 0 .../ios/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Icon-App-1024x1024@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../LaunchImage.imageset/Contents.json | 0 .../LaunchImage.imageset/LaunchImage.png | Bin .../LaunchImage.imageset/LaunchImage@2x.png | Bin .../LaunchImage.imageset/LaunchImage@3x.png | Bin .../LaunchImage.imageset/README.md | 0 .../Runner/Base.lproj/LaunchScreen.storyboard | 0 .../ios/Runner/Base.lproj/Main.storyboard | 0 .../github_search/ios/Runner/Info.plist | 0 .../ios/Runner/Runner-Bridging-Header.h | 0 .../flutter/github_search/ios/Runner/main.m | 0 .../lib/empty_result_widget.dart | 2 +- .../flutter/github_search/lib/github_api.dart | 0 .../flutter/github_search/lib/main.dart | 2 +- .../github_search/lib/search_bloc.dart | 0 .../lib/search_error_widget.dart | 2 +- .../lib/search_intro_widget.dart | 2 +- .../lib/search_loading_widget.dart | 2 +- .../lib/search_result_widget.dart | 3 +- .../github_search/lib/search_state.dart | 5 +- .../github_search/lib/search_widget.dart | 33 +- .../flutter/github_search/linux/.gitignore | 0 .../github_search/linux/CMakeLists.txt | 0 .../linux/flutter/CMakeLists.txt | 0 .../flutter/generated_plugin_registrant.cc | 0 .../flutter/generated_plugin_registrant.h | 0 .../linux/flutter/generated_plugins.cmake | 0 .../flutter/github_search/linux/main.cc | 0 .../github_search/linux/my_application.cc | 0 .../github_search/linux/my_application.h | 0 .../flutter/github_search/macos/.gitignore | 0 .../macos/Flutter/Flutter-Debug.xcconfig | 0 .../macos/Flutter/Flutter-Release.xcconfig | 0 .../Flutter/GeneratedPluginRegistrant.swift | 0 .../macos/Runner.xcodeproj/project.pbxproj | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../macos/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/app_icon_1024.png | Bin .../AppIcon.appiconset/app_icon_128.png | Bin .../AppIcon.appiconset/app_icon_16.png | Bin .../AppIcon.appiconset/app_icon_256.png | Bin .../AppIcon.appiconset/app_icon_32.png | Bin .../AppIcon.appiconset/app_icon_512.png | Bin .../AppIcon.appiconset/app_icon_64.png | Bin .../macos/Runner/Base.lproj/MainMenu.xib | 0 .../macos/Runner/Configs/AppInfo.xcconfig | 0 .../macos/Runner/Configs/Debug.xcconfig | 0 .../macos/Runner/Configs/Release.xcconfig | 0 .../macos/Runner/Configs/Warnings.xcconfig | 0 .../macos/Runner/DebugProfile.entitlements | 0 .../github_search/macos/Runner/Info.plist | 0 .../macos/Runner/MainFlutterWindow.swift | 0 .../macos/Runner/Release.entitlements | 0 examples/flutter/github_search/pubspec.lock | 620 ++++++++++++++++++ .../flutter/github_search/pubspec.yaml | 12 +- .../github_search/test/search_bloc_test.dart | 0 .../flutter/github_search/web/favicon.png | Bin .../github_search/web/icons/Icon-192.png | Bin .../github_search/web/icons/Icon-512.png | Bin .../web/icons/Icon-maskable-192.png | Bin .../web/icons/Icon-maskable-512.png | Bin .../flutter/github_search/web/index.html | 0 .../flutter/github_search/web/manifest.json | 0 .../flutter/github_search/windows/.gitignore | 0 .../github_search/windows/CMakeLists.txt | 0 .../windows/flutter/CMakeLists.txt | 0 .../flutter/generated_plugin_registrant.cc | 0 .../flutter/generated_plugin_registrant.h | 0 .../windows/flutter/generated_plugins.cmake | 0 .../windows/runner/CMakeLists.txt | 0 .../github_search/windows/runner/Runner.rc | 0 .../windows/runner/flutter_window.cpp | 0 .../windows/runner/flutter_window.h | 0 .../github_search/windows/runner/main.cpp | 0 .../github_search/windows/runner/resource.h | 0 .../windows/runner/resources/app_icon.ico | Bin .../windows/runner/runner.exe.manifest | 0 .../github_search/windows/runner/utils.cpp | 0 .../github_search/windows/runner/utils.h | 0 .../windows/runner/win32_window.cpp | 0 .../windows/runner/win32_window.h | 0 examples/web/.gitignore | 42 ++ examples/web/analysis_options.yaml | 13 + examples/web/build.yaml | 8 + examples/web/pubspec.lock | 492 ++++++++++++++ examples/web/pubspec.yaml | 14 + .../web}/web/dragdrop/dragdrop.dart | 0 .../web}/web/dragdrop/dragdrop.html | 0 {example => examples/web}/web/index.html | 0 .../web}/web/konami/konamicode.dart | 0 .../web}/web/konami/konamicode.html | 0 .../web}/web/search_github/search_github.dart | 0 .../web}/web/search_github/search_github.html | 0 melos.yaml | 27 + packages/rxdart/.gitignore | 30 + CHANGELOG.md => packages/rxdart/CHANGELOG.md | 0 LICENSE => packages/rxdart/LICENSE | 0 packages/rxdart/README.md | 272 ++++++++ .../rxdart/analysis_options.yaml | 2 - {lib => packages/rxdart/lib}/rxdart.dart | 0 {lib => packages/rxdart/lib}/src/rx.dart | 0 .../lib}/src/streams/combine_latest.dart | 0 .../rxdart/lib}/src/streams/concat.dart | 0 .../rxdart/lib}/src/streams/concat_eager.dart | 0 .../lib}/src/streams/connectable_stream.dart | 0 .../rxdart/lib}/src/streams/defer.dart | 0 .../rxdart/lib}/src/streams/fork_join.dart | 0 .../lib}/src/streams/from_callable.dart | 0 .../rxdart/lib}/src/streams/merge.dart | 0 .../rxdart/lib}/src/streams/never.dart | 0 .../rxdart/lib}/src/streams/race.dart | 0 .../rxdart/lib}/src/streams/range.dart | 0 .../rxdart/lib}/src/streams/repeat.dart | 0 .../lib}/src/streams/replay_stream.dart | 0 .../rxdart/lib}/src/streams/retry.dart | 0 .../rxdart/lib}/src/streams/retry_when.dart | 0 .../lib}/src/streams/sequence_equal.dart | 0 .../lib}/src/streams/switch_latest.dart | 0 .../rxdart/lib}/src/streams/timer.dart | 0 .../rxdart/lib}/src/streams/using.dart | 0 .../rxdart/lib}/src/streams/value_stream.dart | 0 .../rxdart/lib}/src/streams/zip.dart | 0 .../lib}/src/subjects/behavior_subject.dart | 0 .../lib}/src/subjects/publish_subject.dart | 0 .../lib}/src/subjects/replay_subject.dart | 0 .../rxdart/lib}/src/subjects/subject.dart | 0 .../backpressure/backpressure.dart | 0 .../src/transformers/backpressure/buffer.dart | 0 .../transformers/backpressure/debounce.dart | 0 .../transformers/backpressure/pairwise.dart | 0 .../src/transformers/backpressure/sample.dart | 0 .../transformers/backpressure/throttle.dart | 0 .../src/transformers/backpressure/window.dart | 0 .../src/transformers/default_if_empty.dart | 0 .../rxdart/lib}/src/transformers/delay.dart | 0 .../lib}/src/transformers/delay_when.dart | 0 .../lib}/src/transformers/dematerialize.dart | 0 .../src/transformers/distinct_unique.dart | 0 .../rxdart/lib}/src/transformers/do.dart | 0 .../lib}/src/transformers/end_with.dart | 0 .../lib}/src/transformers/end_with_many.dart | 0 .../lib}/src/transformers/exhaust_map.dart | 0 .../lib}/src/transformers/flat_map.dart | 0 .../lib}/src/transformers/group_by.dart | 0 .../src/transformers/ignore_elements.dart | 0 .../lib}/src/transformers/interval.dart | 0 .../lib}/src/transformers/map_not_null.dart | 0 .../rxdart/lib}/src/transformers/map_to.dart | 0 .../lib}/src/transformers/materialize.dart | 0 .../rxdart/lib}/src/transformers/max.dart | 0 .../rxdart/lib}/src/transformers/min.dart | 0 .../src/transformers/on_error_resume.dart | 0 .../rxdart/lib}/src/transformers/scan.dart | 0 .../lib}/src/transformers/skip_last.dart | 0 .../lib}/src/transformers/skip_until.dart | 0 .../lib}/src/transformers/start_with.dart | 0 .../src/transformers/start_with_error.dart | 0 .../src/transformers/start_with_many.dart | 0 .../src/transformers/switch_if_empty.dart | 0 .../lib}/src/transformers/switch_map.dart | 0 .../lib}/src/transformers/take_last.dart | 0 .../lib}/src/transformers/take_until.dart | 0 .../transformers/take_while_inclusive.dart | 0 .../lib}/src/transformers/time_interval.dart | 0 .../lib}/src/transformers/timestamp.dart | 0 .../lib}/src/transformers/where_not_null.dart | 0 .../lib}/src/transformers/where_type.dart | 0 .../src/transformers/with_latest_from.dart | 0 .../lib}/src/utils/collection_extensions.dart | 0 .../src/utils/composite_subscription.dart | 0 .../rxdart/lib}/src/utils/empty.dart | 0 .../lib}/src/utils/error_and_stacktrace.dart | 0 .../lib}/src/utils/forwarding_sink.dart | 0 .../lib}/src/utils/forwarding_stream.dart | 0 .../rxdart/lib}/src/utils/future.dart | 0 .../rxdart/lib}/src/utils/min_max.dart | 0 .../rxdart/lib}/src/utils/notification.dart | 0 .../rxdart/lib}/src/utils/subscription.dart | 0 {lib => packages/rxdart/lib}/streams.dart | 0 {lib => packages/rxdart/lib}/subjects.dart | 0 .../rxdart/lib}/transformers.dart | 0 {lib => packages/rxdart/lib}/utils.dart | 0 packages/rxdart/pubspec.yaml | 23 + .../rxdart/test}/rxdart_test.dart | 0 .../test}/streams/combine_latest_test.dart | 0 .../test}/streams/concat_eager_test.dart | 0 .../rxdart/test}/streams/concat_test.dart | 0 .../rxdart/test}/streams/defer_test.dart | 0 .../rxdart/test}/streams/fork_join_test.dart | 0 .../test}/streams/from_callable_test.dart | 0 .../rxdart/test}/streams/merge_test.dart | 0 .../rxdart/test}/streams/never_test.dart | 0 .../publish_connectable_stream_test.dart | 0 .../rxdart/test}/streams/race_test.dart | 0 .../rxdart/test}/streams/range_test.dart | 0 .../rxdart/test}/streams/repeat_test.dart | 0 .../replay_connectable_stream_test.dart | 0 .../rxdart/test}/streams/retry_test.dart | 0 .../rxdart/test}/streams/retry_when_test.dart | 0 .../test}/streams/sequence_equals_test.dart | 0 .../test}/streams/switch_latest_test.dart | 0 .../rxdart/test}/streams/timer_test.dart | 0 .../rxdart/test}/streams/using_test.dart | 0 .../value_connectable_stream_test.dart | 0 .../rxdart/test}/streams/zip_test.dart | 0 .../test}/subject/behavior_subject_test.dart | 0 .../test}/subject/publish_subject_test.dart | 0 .../test}/subject/replay_subject_test.dart | 0 .../backpressure/buffer_count_test.dart | 0 .../backpressure/buffer_test.dart | 0 .../backpressure/buffer_test_test.dart | 0 .../backpressure/buffer_time_test.dart | 0 .../backpressure/debounce_test.dart | 0 .../backpressure/debounce_time_test.dart | 0 .../backpressure/pairwise_test.dart | 0 .../backpressure/sample_test.dart | 0 .../backpressure/sample_time_test.dart | 0 .../backpressure/throttle_test.dart | 0 .../backpressure/throttle_time_test.dart | 0 .../backpressure/window_count_test.dart | 0 .../backpressure/window_test.dart | 0 .../backpressure/window_test_test.dart | 0 .../backpressure/window_time_test.dart | 0 .../test}/transformers/concat_with_test.dart | 0 .../transformers/default_if_empty_test.dart | 0 .../rxdart/test}/transformers/delay_test.dart | 0 .../test}/transformers/delay_when_test.dart | 0 .../transformers/dematerialize_test.dart | 0 .../test}/transformers/distinct_test.dart | 0 .../transformers/distinct_unique_test.dart | 0 .../rxdart/test}/transformers/do_test.dart | 0 .../transformers/end_with_many_test.dart | 0 .../test}/transformers/end_with_test.dart | 0 .../test}/transformers/exhaust_map_test.dart | 0 .../transformers/flat_map_iterable_test.dart | 0 .../test}/transformers/flat_map_test.dart | 0 .../test}/transformers/group_by_test.dart | 0 .../transformers/ignore_elements_test.dart | 0 .../test}/transformers/interval_test.dart | 0 .../rxdart/test}/transformers/join_test.dart | 0 .../test}/transformers/map_not_null_test.dart | 0 .../test}/transformers/map_to_test.dart | 0 .../test}/transformers/materialize_test.dart | 0 .../rxdart/test}/transformers/max_test.dart | 0 .../test}/transformers/merge_with_test.dart | 0 .../rxdart/test}/transformers/min_test.dart | 0 .../transformers/on_error_resume_test.dart | 0 .../transformers/on_error_return_test.dart | 0 .../on_error_return_with_test.dart | 0 .../rxdart/test}/transformers/scan_test.dart | 0 .../test}/transformers/skip_last_test.dart | 0 .../test}/transformers/skip_until_test.dart | 0 .../transformers/start_with_error_test.dart | 0 .../transformers/start_with_many_test.dart | 0 .../test}/transformers/start_with_test.dart | 0 .../transformers/switch_if_empty_test.dart | 0 .../test}/transformers/switch_map_test.dart | 0 .../test}/transformers/take_last_test.dart | 0 .../test}/transformers/take_until_test.dart | 0 .../take_while_inclusive_test.dart | 0 .../transformers/time_interval_test.dart | 0 .../test}/transformers/timeout_test.dart | 0 .../test}/transformers/timestamp_test.dart | 0 .../transformers/where_not_null_test.dart | 0 .../test}/transformers/where_type_test.dart | 0 .../transformers/with_latest_from_test.dart | 0 .../test}/transformers/zip_with_test.dart | 0 {test => packages/rxdart/test}/utils.dart | 0 .../utils/composite_subscription_test.dart | 0 .../rxdart/test}/utils/notification_test.dart | 0 pubspec.lock | 325 +++++++++ pubspec.yaml | 20 +- 357 files changed, 2034 insertions(+), 374 deletions(-) delete mode 100644 build.yaml delete mode 100644 example/analysis_options.yaml delete mode 100644 example/flutter/github_search/test/widget_test.dart rename {example/flutter/github_search => examples/fibonacci}/.gitignore (100%) create mode 100644 examples/fibonacci/analysis_options.yaml rename {example => examples/fibonacci/lib}/example.dart (100%) create mode 100644 examples/fibonacci/pubspec.lock create mode 100644 examples/fibonacci/pubspec.yaml create mode 100644 examples/flutter/github_search/.gitignore rename {example => examples}/flutter/github_search/.metadata (100%) rename {example => examples}/flutter/github_search/README.md (100%) rename {example => examples}/flutter/github_search/analysis_options.yaml (100%) rename {example => examples}/flutter/github_search/android/.gitignore (100%) rename {example => examples}/flutter/github_search/android/app/build.gradle (100%) rename {example => examples}/flutter/github_search/android/app/src/debug/AndroidManifest.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/main/AndroidManifest.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/main/kotlin/com/example/github_search/MainActivity.kt (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/drawable-v21/launch_background.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/drawable/launch_background.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/values-night/styles.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/main/res/values/styles.xml (100%) rename {example => examples}/flutter/github_search/android/app/src/profile/AndroidManifest.xml (100%) rename {example => examples}/flutter/github_search/android/build.gradle (100%) rename {example => examples}/flutter/github_search/android/gradle.properties (100%) rename {example => examples}/flutter/github_search/android/gradle/wrapper/gradle-wrapper.properties (100%) rename {example => examples}/flutter/github_search/android/settings.gradle (100%) rename {example => examples}/flutter/github_search/fonts/hind/DESCRIPTION.en_us.html (100%) rename {example => examples}/flutter/github_search/fonts/hind/Hind-Bold.ttf (100%) rename {example => examples}/flutter/github_search/fonts/hind/Hind-Light.ttf (100%) rename {example => examples}/flutter/github_search/fonts/hind/Hind-Medium.ttf (100%) rename {example => examples}/flutter/github_search/fonts/hind/Hind-Regular.ttf (100%) rename {example => examples}/flutter/github_search/fonts/hind/Hind-Semibold.ttf (100%) rename {example => examples}/flutter/github_search/fonts/hind/METADATA.json (100%) rename {example => examples}/flutter/github_search/fonts/hind/OFL.txt (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/DESCRIPTION.en_us.html (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/METADATA.json (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/Montserrat-Black.ttf (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/Montserrat-Bold.ttf (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/Montserrat-Light.ttf (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/Montserrat-Regular.ttf (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/Montserrat-Thin.ttf (100%) rename {example => examples}/flutter/github_search/fonts/montserrat/OFL.txt (100%) rename {example => examples}/flutter/github_search/ios/.gitignore (100%) rename {example => examples}/flutter/github_search/ios/Flutter/AppFrameworkInfo.plist (100%) rename {example => examples}/flutter/github_search/ios/Flutter/Debug.xcconfig (100%) rename {example => examples}/flutter/github_search/ios/Flutter/Release.xcconfig (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcodeproj/project.pbxproj (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples}/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename {example => examples}/flutter/github_search/ios/Runner/AppDelegate.h (100%) rename {example => examples}/flutter/github_search/ios/Runner/AppDelegate.m (100%) rename {example => examples}/flutter/github_search/ios/Runner/AppDelegate.swift (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png (100%) rename {example => examples}/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (100%) rename {example => examples}/flutter/github_search/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename {example => examples}/flutter/github_search/ios/Runner/Base.lproj/Main.storyboard (100%) rename {example => examples}/flutter/github_search/ios/Runner/Info.plist (100%) rename {example => examples}/flutter/github_search/ios/Runner/Runner-Bridging-Header.h (100%) rename {example => examples}/flutter/github_search/ios/Runner/main.m (100%) rename {example => examples}/flutter/github_search/lib/empty_result_widget.dart (92%) rename {example => examples}/flutter/github_search/lib/github_api.dart (100%) rename {example => examples}/flutter/github_search/lib/main.dart (87%) rename {example => examples}/flutter/github_search/lib/search_bloc.dart (100%) rename {example => examples}/flutter/github_search/lib/search_error_widget.dart (92%) rename {example => examples}/flutter/github_search/lib/search_intro_widget.dart (92%) rename {example => examples}/flutter/github_search/lib/search_loading_widget.dart (87%) rename {example => examples}/flutter/github_search/lib/search_result_widget.dart (97%) rename {example => examples}/flutter/github_search/lib/search_state.dart (90%) rename {example => examples}/flutter/github_search/lib/search_widget.dart (85%) rename {example => examples}/flutter/github_search/linux/.gitignore (100%) rename {example => examples}/flutter/github_search/linux/CMakeLists.txt (100%) rename {example => examples}/flutter/github_search/linux/flutter/CMakeLists.txt (100%) rename {example => examples}/flutter/github_search/linux/flutter/generated_plugin_registrant.cc (100%) rename {example => examples}/flutter/github_search/linux/flutter/generated_plugin_registrant.h (100%) rename {example => examples}/flutter/github_search/linux/flutter/generated_plugins.cmake (100%) rename {example => examples}/flutter/github_search/linux/main.cc (100%) rename {example => examples}/flutter/github_search/linux/my_application.cc (100%) rename {example => examples}/flutter/github_search/linux/my_application.h (100%) rename {example => examples}/flutter/github_search/macos/.gitignore (100%) rename {example => examples}/flutter/github_search/macos/Flutter/Flutter-Debug.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Flutter/Flutter-Release.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Flutter/GeneratedPluginRegistrant.swift (100%) rename {example => examples}/flutter/github_search/macos/Runner.xcodeproj/project.pbxproj (100%) rename {example => examples}/flutter/github_search/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples}/flutter/github_search/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename {example => examples}/flutter/github_search/macos/Runner.xcworkspace/contents.xcworkspacedata (100%) rename {example => examples}/flutter/github_search/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples}/flutter/github_search/macos/Runner/AppDelegate.swift (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png (100%) rename {example => examples}/flutter/github_search/macos/Runner/Base.lproj/MainMenu.xib (100%) rename {example => examples}/flutter/github_search/macos/Runner/Configs/AppInfo.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Runner/Configs/Debug.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Runner/Configs/Release.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Runner/Configs/Warnings.xcconfig (100%) rename {example => examples}/flutter/github_search/macos/Runner/DebugProfile.entitlements (100%) rename {example => examples}/flutter/github_search/macos/Runner/Info.plist (100%) rename {example => examples}/flutter/github_search/macos/Runner/MainFlutterWindow.swift (100%) rename {example => examples}/flutter/github_search/macos/Runner/Release.entitlements (100%) create mode 100644 examples/flutter/github_search/pubspec.lock rename {example => examples}/flutter/github_search/pubspec.yaml (89%) rename {example => examples}/flutter/github_search/test/search_bloc_test.dart (100%) rename {example => examples}/flutter/github_search/web/favicon.png (100%) rename {example => examples}/flutter/github_search/web/icons/Icon-192.png (100%) rename {example => examples}/flutter/github_search/web/icons/Icon-512.png (100%) rename {example => examples}/flutter/github_search/web/icons/Icon-maskable-192.png (100%) rename {example => examples}/flutter/github_search/web/icons/Icon-maskable-512.png (100%) rename {example => examples}/flutter/github_search/web/index.html (100%) rename {example => examples}/flutter/github_search/web/manifest.json (100%) rename {example => examples}/flutter/github_search/windows/.gitignore (100%) rename {example => examples}/flutter/github_search/windows/CMakeLists.txt (100%) rename {example => examples}/flutter/github_search/windows/flutter/CMakeLists.txt (100%) rename {example => examples}/flutter/github_search/windows/flutter/generated_plugin_registrant.cc (100%) rename {example => examples}/flutter/github_search/windows/flutter/generated_plugin_registrant.h (100%) rename {example => examples}/flutter/github_search/windows/flutter/generated_plugins.cmake (100%) rename {example => examples}/flutter/github_search/windows/runner/CMakeLists.txt (100%) rename {example => examples}/flutter/github_search/windows/runner/Runner.rc (100%) rename {example => examples}/flutter/github_search/windows/runner/flutter_window.cpp (100%) rename {example => examples}/flutter/github_search/windows/runner/flutter_window.h (100%) rename {example => examples}/flutter/github_search/windows/runner/main.cpp (100%) rename {example => examples}/flutter/github_search/windows/runner/resource.h (100%) rename {example => examples}/flutter/github_search/windows/runner/resources/app_icon.ico (100%) rename {example => examples}/flutter/github_search/windows/runner/runner.exe.manifest (100%) rename {example => examples}/flutter/github_search/windows/runner/utils.cpp (100%) rename {example => examples}/flutter/github_search/windows/runner/utils.h (100%) rename {example => examples}/flutter/github_search/windows/runner/win32_window.cpp (100%) rename {example => examples}/flutter/github_search/windows/runner/win32_window.h (100%) create mode 100644 examples/web/.gitignore create mode 100644 examples/web/analysis_options.yaml create mode 100644 examples/web/build.yaml create mode 100644 examples/web/pubspec.lock create mode 100644 examples/web/pubspec.yaml rename {example => examples/web}/web/dragdrop/dragdrop.dart (100%) rename {example => examples/web}/web/dragdrop/dragdrop.html (100%) rename {example => examples/web}/web/index.html (100%) rename {example => examples/web}/web/konami/konamicode.dart (100%) rename {example => examples/web}/web/konami/konamicode.html (100%) rename {example => examples/web}/web/search_github/search_github.dart (100%) rename {example => examples/web}/web/search_github/search_github.html (100%) create mode 100644 melos.yaml create mode 100644 packages/rxdart/.gitignore rename CHANGELOG.md => packages/rxdart/CHANGELOG.md (100%) rename LICENSE => packages/rxdart/LICENSE (100%) create mode 100644 packages/rxdart/README.md rename analysis_options.yaml => packages/rxdart/analysis_options.yaml (94%) rename {lib => packages/rxdart/lib}/rxdart.dart (100%) rename {lib => packages/rxdart/lib}/src/rx.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/combine_latest.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/concat.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/concat_eager.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/connectable_stream.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/defer.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/fork_join.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/from_callable.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/merge.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/never.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/race.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/range.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/repeat.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/replay_stream.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/retry.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/retry_when.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/sequence_equal.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/switch_latest.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/timer.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/using.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/value_stream.dart (100%) rename {lib => packages/rxdart/lib}/src/streams/zip.dart (100%) rename {lib => packages/rxdart/lib}/src/subjects/behavior_subject.dart (100%) rename {lib => packages/rxdart/lib}/src/subjects/publish_subject.dart (100%) rename {lib => packages/rxdart/lib}/src/subjects/replay_subject.dart (100%) rename {lib => packages/rxdart/lib}/src/subjects/subject.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/backpressure.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/buffer.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/debounce.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/pairwise.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/sample.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/throttle.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/backpressure/window.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/default_if_empty.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/delay.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/delay_when.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/dematerialize.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/distinct_unique.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/do.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/end_with.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/end_with_many.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/exhaust_map.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/flat_map.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/group_by.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/ignore_elements.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/interval.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/map_not_null.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/map_to.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/materialize.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/max.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/min.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/on_error_resume.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/scan.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/skip_last.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/skip_until.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/start_with.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/start_with_error.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/start_with_many.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/switch_if_empty.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/switch_map.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/take_last.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/take_until.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/take_while_inclusive.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/time_interval.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/timestamp.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/where_not_null.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/where_type.dart (100%) rename {lib => packages/rxdart/lib}/src/transformers/with_latest_from.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/collection_extensions.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/composite_subscription.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/empty.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/error_and_stacktrace.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/forwarding_sink.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/forwarding_stream.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/future.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/min_max.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/notification.dart (100%) rename {lib => packages/rxdart/lib}/src/utils/subscription.dart (100%) rename {lib => packages/rxdart/lib}/streams.dart (100%) rename {lib => packages/rxdart/lib}/subjects.dart (100%) rename {lib => packages/rxdart/lib}/transformers.dart (100%) rename {lib => packages/rxdart/lib}/utils.dart (100%) create mode 100644 packages/rxdart/pubspec.yaml rename {test => packages/rxdart/test}/rxdart_test.dart (100%) rename {test => packages/rxdart/test}/streams/combine_latest_test.dart (100%) rename {test => packages/rxdart/test}/streams/concat_eager_test.dart (100%) rename {test => packages/rxdart/test}/streams/concat_test.dart (100%) rename {test => packages/rxdart/test}/streams/defer_test.dart (100%) rename {test => packages/rxdart/test}/streams/fork_join_test.dart (100%) rename {test => packages/rxdart/test}/streams/from_callable_test.dart (100%) rename {test => packages/rxdart/test}/streams/merge_test.dart (100%) rename {test => packages/rxdart/test}/streams/never_test.dart (100%) rename {test => packages/rxdart/test}/streams/publish_connectable_stream_test.dart (100%) rename {test => packages/rxdart/test}/streams/race_test.dart (100%) rename {test => packages/rxdart/test}/streams/range_test.dart (100%) rename {test => packages/rxdart/test}/streams/repeat_test.dart (100%) rename {test => packages/rxdart/test}/streams/replay_connectable_stream_test.dart (100%) rename {test => packages/rxdart/test}/streams/retry_test.dart (100%) rename {test => packages/rxdart/test}/streams/retry_when_test.dart (100%) rename {test => packages/rxdart/test}/streams/sequence_equals_test.dart (100%) rename {test => packages/rxdart/test}/streams/switch_latest_test.dart (100%) rename {test => packages/rxdart/test}/streams/timer_test.dart (100%) rename {test => packages/rxdart/test}/streams/using_test.dart (100%) rename {test => packages/rxdart/test}/streams/value_connectable_stream_test.dart (100%) rename {test => packages/rxdart/test}/streams/zip_test.dart (100%) rename {test => packages/rxdart/test}/subject/behavior_subject_test.dart (100%) rename {test => packages/rxdart/test}/subject/publish_subject_test.dart (100%) rename {test => packages/rxdart/test}/subject/replay_subject_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/buffer_count_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/buffer_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/buffer_test_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/buffer_time_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/debounce_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/debounce_time_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/pairwise_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/sample_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/sample_time_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/throttle_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/throttle_time_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/window_count_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/window_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/window_test_test.dart (100%) rename {test => packages/rxdart/test}/transformers/backpressure/window_time_test.dart (100%) rename {test => packages/rxdart/test}/transformers/concat_with_test.dart (100%) rename {test => packages/rxdart/test}/transformers/default_if_empty_test.dart (100%) rename {test => packages/rxdart/test}/transformers/delay_test.dart (100%) rename {test => packages/rxdart/test}/transformers/delay_when_test.dart (100%) rename {test => packages/rxdart/test}/transformers/dematerialize_test.dart (100%) rename {test => packages/rxdart/test}/transformers/distinct_test.dart (100%) rename {test => packages/rxdart/test}/transformers/distinct_unique_test.dart (100%) rename {test => packages/rxdart/test}/transformers/do_test.dart (100%) rename {test => packages/rxdart/test}/transformers/end_with_many_test.dart (100%) rename {test => packages/rxdart/test}/transformers/end_with_test.dart (100%) rename {test => packages/rxdart/test}/transformers/exhaust_map_test.dart (100%) rename {test => packages/rxdart/test}/transformers/flat_map_iterable_test.dart (100%) rename {test => packages/rxdart/test}/transformers/flat_map_test.dart (100%) rename {test => packages/rxdart/test}/transformers/group_by_test.dart (100%) rename {test => packages/rxdart/test}/transformers/ignore_elements_test.dart (100%) rename {test => packages/rxdart/test}/transformers/interval_test.dart (100%) rename {test => packages/rxdart/test}/transformers/join_test.dart (100%) rename {test => packages/rxdart/test}/transformers/map_not_null_test.dart (100%) rename {test => packages/rxdart/test}/transformers/map_to_test.dart (100%) rename {test => packages/rxdart/test}/transformers/materialize_test.dart (100%) rename {test => packages/rxdart/test}/transformers/max_test.dart (100%) rename {test => packages/rxdart/test}/transformers/merge_with_test.dart (100%) rename {test => packages/rxdart/test}/transformers/min_test.dart (100%) rename {test => packages/rxdart/test}/transformers/on_error_resume_test.dart (100%) rename {test => packages/rxdart/test}/transformers/on_error_return_test.dart (100%) rename {test => packages/rxdart/test}/transformers/on_error_return_with_test.dart (100%) rename {test => packages/rxdart/test}/transformers/scan_test.dart (100%) rename {test => packages/rxdart/test}/transformers/skip_last_test.dart (100%) rename {test => packages/rxdart/test}/transformers/skip_until_test.dart (100%) rename {test => packages/rxdart/test}/transformers/start_with_error_test.dart (100%) rename {test => packages/rxdart/test}/transformers/start_with_many_test.dart (100%) rename {test => packages/rxdart/test}/transformers/start_with_test.dart (100%) rename {test => packages/rxdart/test}/transformers/switch_if_empty_test.dart (100%) rename {test => packages/rxdart/test}/transformers/switch_map_test.dart (100%) rename {test => packages/rxdart/test}/transformers/take_last_test.dart (100%) rename {test => packages/rxdart/test}/transformers/take_until_test.dart (100%) rename {test => packages/rxdart/test}/transformers/take_while_inclusive_test.dart (100%) rename {test => packages/rxdart/test}/transformers/time_interval_test.dart (100%) rename {test => packages/rxdart/test}/transformers/timeout_test.dart (100%) rename {test => packages/rxdart/test}/transformers/timestamp_test.dart (100%) rename {test => packages/rxdart/test}/transformers/where_not_null_test.dart (100%) rename {test => packages/rxdart/test}/transformers/where_type_test.dart (100%) rename {test => packages/rxdart/test}/transformers/with_latest_from_test.dart (100%) rename {test => packages/rxdart/test}/transformers/zip_with_test.dart (100%) rename {test => packages/rxdart/test}/utils.dart (100%) rename {test => packages/rxdart/test}/utils/composite_subscription_test.dart (100%) rename {test => packages/rxdart/test}/utils/notification_test.dart (100%) create mode 100644 pubspec.lock diff --git a/.github/workflows/flutter-example.yml b/.github/workflows/flutter-example.yml index f5f821dce..63d655f82 100644 --- a/.github/workflows/flutter-example.yml +++ b/.github/workflows/flutter-example.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./example/flutter/github_search + working-directory: ./examples/flutter/github_search steps: - uses: actions/checkout@v4 @@ -26,6 +26,12 @@ jobs: with: channel: 'stable' + - name: Install melos + run: dart pub global activate melos + + - name: Melos Boostrap + run: melos bootstrap + - name: Print Dart SDK version run: dart --version diff --git a/.github/workflows/rxdart-test.yml b/.github/workflows/rxdart-test.yml index d00f3f114..5b44e0123 100644 --- a/.github/workflows/rxdart-test.yml +++ b/.github/workflows/rxdart-test.yml @@ -3,15 +3,15 @@ name: Dart CI on: push: branches: [ master ] - paths-ignore: [ '**.md', 'example/**' ] + paths-ignore: [ '**.md', 'examples/**' ] pull_request: branches: [ master ] - paths-ignore: [ '**.md', 'example/**' ] + paths-ignore: [ '**.md', 'examples/**' ] schedule: # Runs at 00:00 UTC on the 1, 8, 15, 22 and 29th of every month. - cron: '0 0 */7 * *' workflow_dispatch: - + jobs: analyze-and-test: runs-on: ubuntu-latest @@ -28,46 +28,27 @@ jobs: with: sdk: ${{ matrix.sdk }} + - name: Install melos + run: dart pub global activate melos + - name: Print Dart version run: dart --version - name: Install dependencies - run: dart pub get + run: melos run pub-get-no-private - name: Analyze if: ${{ matrix.sdk == 'stable' }} - run: dart analyze --fatal-infos --fatal-warnings + run: melos run analyze-no-private - name: Format code if: ${{ matrix.sdk == 'stable' }} - run: dart format . --set-exit-if-changed + run: melos run format-no-private - name: Active coverage run: dart pub global activate coverage - name: Run tests - run: dart pub run test test/rxdart_test.dart --chain-stack-traces - - - name: Start Observatory - run: dart - --disable-service-auth-codes - --enable-vm-service=8111 - --pause-isolates-on-exit - --enable-asserts - test/rxdart_test.dart & - - - name: Collect coverage - run: nohup dart pub global run coverage:collect_coverage - --port=8111 - --out=coverage.json - --wait-paused - --resume-isolates - - - name: Format coverage - run: dart pub global run coverage:format_coverage - --lcov - --in=coverage.json - --out=lcov.info - --report-on=lib + run: melos run test-rxdart - uses: codecov/codecov-action@v3.1.6 diff --git a/.gitignore b/.gitignore index e86309cdf..021cb3aaf 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ .dart_tool/ .pub/ build/ -packages *.packages .idea/ web/experimental @@ -17,5 +16,26 @@ doc *.js.map # Include when developing application packages. -pubspec.lock coverage* +lcov.info + +# https://melos.invertase.dev/~melos-latest/getting-started#configure-the-workspace +pubspec_overrides.yaml + +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ \ No newline at end of file diff --git a/README.md b/README.md index 42fcc8c90..8962a5e73 100644 --- a/README.md +++ b/README.md @@ -14,259 +14,11 @@ [![License](https://img.shields.io/github/license/ReactiveX/rxdart)](https://www.apache.org/licenses/LICENSE-2.0) [![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FReactiveX%2Frxdart&count_bg=%23D71092&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) -## About - -RxDart extends the capabilities of Dart -[Streams](https://api.dart.dev/stable/dart-async/Stream-class.html) and -[StreamControllers](https://api.dart.dev/stable/dart-async/StreamController-class.html). - -Dart comes with a very decent -[Streams](https://api.dart.dev/stable/dart-async/Stream-class.html) API -out-of-the-box; rather than attempting to provide an alternative to this API, -RxDart adds functionality from the reactive extensions specification on top of -it. - -RxDart does not provide its Observable class as a replacement for Dart -Streams. Instead, it offers several additional Stream classes, operators -(extension methods on the Stream class), and Subjects. - -If you are familiar with Observables from other languages, please see [the Rx -Observables vs. Dart Streams comparison chart](#rx-observables-vs-dart-streams) -for notable distinctions between the two. - -## Upgrading from RxDart 0.22.x to 0.23.x - -RxDart 0.23.x moves away from the Observable class, utilizing Dart 2.6's new -extension methods instead. This requires several small refactors that can be -easily automated -- which is just what we've done! - -Please follow the instructions on the -[rxdart_codemod](https://pub.dev/packages/rxdart_codemod) package to -automatically upgrade your code to support RxDart 0.23.x. - -## How To Use RxDart - -### For Example: Reading the Konami Code - -```dart -import 'package:rxdart/rxdart.dart'; - -void main() { - const konamiKeyCodes = [ - KeyCode.UP, - KeyCode.UP, - KeyCode.DOWN, - KeyCode.DOWN, - KeyCode.LEFT, - KeyCode.RIGHT, - KeyCode.LEFT, - KeyCode.RIGHT, - KeyCode.B, - KeyCode.A, - ]; - - final result = querySelector('#result')!; - - document.onKeyUp - .map((event) => event.keyCode) - .bufferCount(10, 1) // An extension method provided by rxdart - .where((lastTenKeyCodes) => const IterableEquality().equals(lastTenKeyCodes, konamiKeyCodes)) - .listen((_) => result.innerHtml = 'KONAMI!'); -} -``` - -## API Overview - -RxDart adds functionality to Dart Streams in three ways: - - * [Stream Classes](#stream-classes) - create Streams with specific capabilities, such as combining or merging many Streams. - * [Extension Methods](#extension-methods) - transform a source Stream into a new Stream with different capabilities, such as throttling or buffering events. - * [Subjects](#subjects) - StreamControllers with additional powers - -### Stream Classes - -The Stream class provides different ways to create a Stream: `Stream.fromIterable` or `Stream.periodic`. RxDart provides additional Stream classes for a variety of tasks, such as combining or merging Streams! - -You can construct the Streams provided by RxDart in two ways. The following examples are equivalent in terms of functionality: - - - Instantiating the Stream class directly. - - Example: `final mergedStream = MergeStream([myFirstStream, mySecondStream]);` - - Using static factories from the Rx class, which are useful for discovering which types of Streams are provided by RxDart. Under the hood, these factories call the corresponding Stream constructor. - - Example: `final mergedStream = Rx.merge([myFirstStream, mySecondStream]);` - -#### List of Classes / Static Factories - -- [CombineLatestStream](https://pub.dev/documentation/rxdart/latest/rx/CombineLatestStream-class.html) (combine2, combine3... combine9) / [Rx.combineLatest2](https://pub.dev/documentation/rxdart/latest/rx/Rx/combineLatest2.html)...[Rx.combineLatest9](https://pub.dev/documentation/rxdart/latest/rx/Rx/combineLatest9.html) -- [ConcatStream](https://pub.dev/documentation/rxdart/latest/rx/ConcatStream-class.html) / [Rx.concat](https://pub.dev/documentation/rxdart/latest/rx/Rx/concat.html) -- [ConcatEagerStream](https://pub.dev/documentation/rxdart/latest/rx/ConcatEagerStream-class.html) / [Rx.concatEager](https://pub.dev/documentation/rxdart/latest/rx/Rx/concatEager.html) -- [DeferStream](https://pub.dev/documentation/rxdart/latest/rx/DeferStream-class.html) / [Rx.defer](https://pub.dev/documentation/rxdart/latest/rx/Rx/defer.html) -- [ForkJoinStream](https://pub.dev/documentation/rxdart/latest/rx/ForkJoinStream-class.html) (join2, join3... join9) / [Rx.forkJoin2](https://pub.dev/documentation/rxdart/latest/rx/Rx/forkJoin2.html)...[Rx.forkJoin9](https://pub.dev/documentation/rxdart/latest/rx/Rx/forkJoin9.html) -- [FromCallableStream](https://pub.dev/documentation/rxdart/latest/rx/FromCallableStream-class.html) / [Rx.fromCallable](https://pub.dev/documentation/rxdart/latest/rx/Rx/fromCallable.html) -- [MergeStream](https://pub.dev/documentation/rxdart/latest/rx/MergeStream-class.html) / [Rx.merge](https://pub.dev/documentation/rxdart/latest/rx/Rx/merge.html) -- [NeverStream](https://pub.dev/documentation/rxdart/latest/rx/NeverStream-class.html) / [Rx.never](https://pub.dev/documentation/rxdart/latest/rx/Rx/never.html) -- [RaceStream](https://pub.dev/documentation/rxdart/latest/rx/RaceStream-class.html) / [Rx.race](https://pub.dev/documentation/rxdart/latest/rx/Rx/race.html) -- [RangeStream](https://pub.dev/documentation/rxdart/latest/rx/RangeStream-class.html) / [Rx.range](https://pub.dev/documentation/rxdart/latest/rx/Rx/range.html) -- [RepeatStream](https://pub.dev/documentation/rxdart/latest/rx/RepeatStream-class.html) / [Rx.repeat](https://pub.dev/documentation/rxdart/latest/rx/Rx/repeat.html) -- [RetryStream](https://pub.dev/documentation/rxdart/latest/rx/RetryStream-class.html) / [Rx.retry](https://pub.dev/documentation/rxdart/latest/rx/Rx/retry.html) -- [RetryWhenStream](https://pub.dev/documentation/rxdart/latest/rx/RetryWhenStream-class.html) / [Rx.retryWhen](https://pub.dev/documentation/rxdart/latest/rx/Rx/retryWhen.html) -- [SequenceEqualStream](https://pub.dev/documentation/rxdart/latest/rx/SequenceEqualStream-class.html) / [Rx.sequenceEqual](https://pub.dev/documentation/rxdart/latest/rx/Rx/sequenceEqual.html) -- [SwitchLatestStream](https://pub.dev/documentation/rxdart/latest/rx/SwitchLatestStream-class.html) / [Rx.switchLatest](https://pub.dev/documentation/rxdart/latest/rx/Rx/switchLatest.html) -- [TimerStream](https://pub.dev/documentation/rxdart/latest/rx/TimerStream-class.html) / [Rx.timer](https://pub.dev/documentation/rxdart/latest/rx/Rx/timer.html) -- [UsingStream](https://pub.dev/documentation/rxdart/latest/rx/UsingStream-class.html) / [Rx.using](https://pub.dev/documentation/rxdart/latest/rx/Rx/using.html) -- [ZipStream](https://pub.dev/documentation/rxdart/latest/rx/ZipStream-class.html) (zip2, zip3, zip4, ..., zip9) / [Rx.zip](https://pub.dev/documentation/rxdart/latest/rx/Rx/zip2.html)...[Rx.zip9](https://pub.dev/documentation/rxdart/latest/rx/Rx/zip9.html) -- If you're looking for an [Interval](https://reactivex.io/documentation/operators/interval.html) equivalent, check out Dart's [Stream.periodic](https://api.dart.dev/stable/2.7.2/dart-async/Stream/Stream.periodic.html) for similar behavior. - -### Extension Methods - -The extension methods provided by RxDart can be used on any `Stream`. They convert a source Stream into a new Stream with additional capabilities, such as buffering or throttling events. - -#### Example - -```dart -Stream.fromIterable([1, 2, 3]) - .throttleTime(Duration(seconds: 1)) - .listen(print); // prints 1 -``` - -#### List of Extension Methods - -- [buffer](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/buffer.html) -- [bufferCount](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferCount.html) -- [bufferTest](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferTest.html) -- [bufferTime](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferTime.html) -- [concatWith](https://pub.dev/documentation/rxdart/latest/rx/ConcatExtensions/concatWith.html) -- [debounce](https://pub.dev/documentation/rxdart/latest/rx/DebounceExtensions/debounce.html) -- [debounceTime](https://pub.dev/documentation/rxdart/latest/rx/DebounceExtensions/debounceTime.html) -- [defaultIfEmpty](https://pub.dev/documentation/rxdart/latest/rx/DefaultIfEmptyExtension/defaultIfEmpty.html) -- [delay](https://pub.dev/documentation/rxdart/latest/rx/DelayExtension/delay.html) -- [delayWhen](https://pub.dev/documentation/rxdart/latest/rx/DelayWhenExtension/delayWhen.html) -- [dematerialize](https://pub.dev/documentation/rxdart/latest/rx/DematerializeExtension/dematerialize.html) -- [distinctUnique](https://pub.dev/documentation/rxdart/latest/rx/DistinctUniqueExtension/distinctUnique.html) -- [doOnCancel](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnCancel.html) -- [doOnData](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnData.html) -- [doOnDone](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnDone.html) -- [doOnEach](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnEach.html) -- [doOnError](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnError.html) -- [doOnListen](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnListen.html) -- [doOnPause](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnPause.html) -- [doOnResume](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnResume.html) -- [endWith](https://pub.dev/documentation/rxdart/latest/rx/EndWithExtension/endWith.html) -- [endWithMany](https://pub.dev/documentation/rxdart/latest/rx/EndWithManyExtension/endWithMany.html) -- [exhaustMap](https://pub.dev/documentation/rxdart/latest/rx/ExhaustMapExtension/exhaustMap.html) -- [flatMap](https://pub.dev/documentation/rxdart/latest/rx/FlatMapExtension/flatMap.html) -- [flatMapIterable](https://pub.dev/documentation/rxdart/latest/rx/FlatMapExtension/flatMapIterable.html) -- [groupBy](https://pub.dev/documentation/rxdart/latest/rx/GroupByExtension/groupBy.html) -- [interval](https://pub.dev/documentation/rxdart/latest/rx/IntervalExtension/interval.html) -- [mapNotNull](https://pub.dev/documentation/rxdart/latest/rx/MapNotNullExtension/mapNotNull.html) -- [mapTo](https://pub.dev/documentation/rxdart/latest/rx/MapToExtension/mapTo.html) -- [materialize](https://pub.dev/documentation/rxdart/latest/rx/MaterializeExtension/materialize.html) -- [max](https://pub.dev/documentation/rxdart/latest/rx/MaxExtension/max.html) -- [mergeWith](https://pub.dev/documentation/rxdart/latest/rx/MergeExtension/mergeWith.html) -- [min](https://pub.dev/documentation/rxdart/latest/rx/MinExtension/min.html) -- [onErrorResume](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorResume.html) -- [onErrorResumeNext](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorResumeNext.html) -- [onErrorReturn](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorReturn.html) -- [onErrorReturnWith](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorReturnWith.html) -- [pairwise](https://pub.dev/documentation/rxdart/latest/rx/PairwiseExtension/pairwise.html) -- [sample](https://pub.dev/documentation/rxdart/latest/rx/SampleExtensions/sample.html) -- [sampleTime](https://pub.dev/documentation/rxdart/latest/rx/SampleExtensions/sampleTime.html) -- [scan](https://pub.dev/documentation/rxdart/latest/rx/ScanExtension/scan.html) -- [skipLast](https://pub.dev/documentation/rxdart/latest/rx/SkipLastExtension/skipLast.html) -- [skipUntil](https://pub.dev/documentation/rxdart/latest/rx/SkipUntilExtension/skipUntil.html) -- [startWith](https://pub.dev/documentation/rxdart/latest/rx/StartWithExtension/startWith.html) -- [startWithMany](https://pub.dev/documentation/rxdart/latest/rx/StartWithManyExtension/startWithMany.html) -- [switchIfEmpty](https://pub.dev/documentation/rxdart/latest/rx/SwitchIfEmptyExtension/switchIfEmpty.html) -- [switchMap](https://pub.dev/documentation/rxdart/latest/rx/SwitchMapExtension/switchMap.html) -- [takeLast](https://pub.dev/documentation/rxdart/latest/rx/TakeLastExtension/takeLast.html) -- [takeUntil](https://pub.dev/documentation/rxdart/latest/rx/TakeUntilExtension/takeUntil.html) -- [takeWhileInclusive](https://pub.dev/documentation/rxdart/latest/rx/TakeWhileInclusiveExtension/takeWhileInclusive.html) -- [throttle](https://pub.dev/documentation/rxdart/latest/rx/ThrottleExtensions/throttle.html) -- [throttleTime](https://pub.dev/documentation/rxdart/latest/rx/ThrottleExtensions/throttleTime.html) -- [timeInterval](https://pub.dev/documentation/rxdart/latest/rx/TimeIntervalExtension/timeInterval.html) -- [timestamp](https://pub.dev/documentation/rxdart/latest/rx/TimeStampExtension/timestamp.html) -- [whereNotNull](https://pub.dev/documentation/rxdart/latest/rx/WhereNotNullExtension/whereNotNull.html) -- [whereType](https://pub.dev/documentation/rxdart/latest/rx/WhereTypeExtension/whereType.html) -- [window](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/window.html) -- [windowCount](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowCount.html) -- [windowTest](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowTest.html) -- [windowTime](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowTime.html) -- [withLatestFrom](https://pub.dev/documentation/rxdart/latest/rx/WithLatestFromExtensions.html) -- [zipWith](https://pub.dev/documentation/rxdart/latest/rx/ZipWithExtension/zipWith.html) - -### Subjects - -Dart provides the [StreamController](https://api.dart.dev/stable/dart-async/StreamController-class.html) class to create and manage a Stream. RxDart offers two additional StreamControllers with additional capabilities, known as Subjects: - -- [BehaviorSubject](https://pub.dev/documentation/rxdart/latest/rx/BehaviorSubject-class.html) - A broadcast StreamController that caches the latest added value or error. When a new listener subscribes to the Stream, the latest value or error will be emitted to the listener. Furthermore, you can synchronously read the last emitted value. -- [ReplaySubject](https://pub.dev/documentation/rxdart/latest/rx/ReplaySubject-class.html) - A broadcast StreamController that caches the added values. When a new listener subscribes to the Stream, the cached values will be emitted to the listener. - -## Rx Observables vs Dart Streams - -In many situations, Streams and Observables work the same way. However, if you're used to standard Rx Observables, some features of the Stream API may surprise you. We've included a table below to help folks understand the differences. - -Additional information about the following situations can be found by reading the [Rx class documentation](https://pub.dev/documentation/rxdart/latest/rx/Rx-class.html). - -| Situation | Rx Observables | Dart Streams | -| ------------- |------------- | ------------- | -| An error is raised | Observable Terminates with Error | Error is emitted and Stream continues | -| Cold Observables | Multiple subscribers can listen to the same cold Observable, and each subscription will receive a unique Stream of data | Single subscriber only | -| Hot Observables | Yes | Yes, known as Broadcast Streams | -| Is {Publish, Behavior, Replay}Subject hot? | Yes | Yes | -| Single/Maybe/Completable ? | Yes | Yes, uses [rxdart_ext Single](https://pub.dev/documentation/rxdart_ext/latest/single/Single-class.html) (`Completable = Single, Maybe = Single`) | -| Support back pressure| Yes | Yes | -| Can emit null? | Yes, except RxJava | Yes | -| Sync by default | Yes | No | -| Can pause/resume a subscription*? | No | Yes | - -## Examples - -Web and command-line examples can be found in the `example` folder. - -### Web Examples - -In order to run the web examples, please follow these steps: - - 1. Clone this repo and enter the directory - 2. Run `dart pub get` - 3. Run `dart run build_runner serve example` - 4. Navigate to [http://localhost:8080/web/index.html](http://localhost:8080/web/index.html) in your browser - -### Command Line Examples - -In order to run the command line example, please follow these steps: - - 1. Clone this repo and enter the directory - 2. Run `pub get` - 3. Run `dart example/example.dart 10` - -### Flutter Example - -#### Install Flutter - -To run the flutter example, you must have Flutter installed. For installation instructions, view the online -[documentation](https://flutter.io/). - -#### Run the app - - 1. Open up an Android Emulator, the iOS Simulator, or connect an appropriate mobile device for debugging. - 2. Open up a terminal - 3. `cd` into the `example/flutter/github_search` directory - 4. Run `flutter doctor` to ensure you have all Flutter dependencies working. - 5. Run `flutter packages get` - 6. Run `flutter run` - -## Notable References - -- [Documentation on the Dart Stream class](https://api.dart.dev/stable/dart-async/Stream-class.html) -- [Tutorial on working with Streams in Dart](https://www.dartlang.org/tutorials/language/streams) -- [ReactiveX (Rx)](https://reactivex.io/) - -## Changelog - -Refer to the [Changelog](https://github.com/ReactiveX/rxdart/blob/master/CHANGELOG.md) to get all release notes. - -## Extensions - -Check out [rxdart_ext](https://pub.dev/packages/rxdart_ext), which provides many extension methods and classes built on top of RxDart. +RxDart is an implementation of the popular ReactiveX api for asynchronous +programming, leveraging the native Dart Streams api. +## Packages +| Package | Pub | +|-----------------------------|---------------------------------------------------------------------------------------------| +| [`rxdart`](packages/rxdart) | [![Pub](https://img.shields.io/pub/v/rxdart.svg)](https://pub.dartlang.org/packages/rxdart) | diff --git a/build.yaml b/build.yaml deleted file mode 100644 index 8fd6aeeff..000000000 --- a/build.yaml +++ /dev/null @@ -1,5 +0,0 @@ -targets: - $default: - builders: - build_web_compilers|entrypoint: - generate_for: ['example/web/**'] diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml deleted file mode 100644 index 43fcc43fa..000000000 --- a/example/analysis_options.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: package:lints/recommended.yaml -analyzer: - exclude: - - 'flutter/**' \ No newline at end of file diff --git a/example/flutter/github_search/test/widget_test.dart b/example/flutter/github_search/test/widget_test.dart deleted file mode 100644 index 0ac04f753..000000000 --- a/example/flutter/github_search/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:github_search/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/example/flutter/github_search/.gitignore b/examples/fibonacci/.gitignore similarity index 100% rename from example/flutter/github_search/.gitignore rename to examples/fibonacci/.gitignore diff --git a/examples/fibonacci/analysis_options.yaml b/examples/fibonacci/analysis_options.yaml new file mode 100644 index 000000000..4d5f6fb0e --- /dev/null +++ b/examples/fibonacci/analysis_options.yaml @@ -0,0 +1,13 @@ +include: package:lints/recommended.yaml + +analyzer: + language: + strict-casts: true + strict-raw-types: true + +linter: + rules: + - always_declare_return_types # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - prefer_single_quotes # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - unawaited_futures # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - unsafe_html # https://github.com/dart-lang/lints#migrating-from-packagepedantic diff --git a/example/example.dart b/examples/fibonacci/lib/example.dart similarity index 100% rename from example/example.dart rename to examples/fibonacci/lib/example.dart diff --git a/examples/fibonacci/pubspec.lock b/examples/fibonacci/pubspec.lock new file mode 100644 index 000000000..a74be3228 --- /dev/null +++ b/examples/fibonacci/pubspec.lock @@ -0,0 +1,20 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + lints: + dependency: "direct dev" + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + rxdart: + dependency: "direct main" + description: + path: "../../packages/rxdart" + relative: true + source: path + version: "0.28.0-dev.2" +sdks: + dart: ">=3.1.0 <4.0.0" diff --git a/examples/fibonacci/pubspec.yaml b/examples/fibonacci/pubspec.yaml new file mode 100644 index 000000000..93a2f90ff --- /dev/null +++ b/examples/fibonacci/pubspec.yaml @@ -0,0 +1,12 @@ +name: rxdart_fibonacci_example +publish_to: none + +environment: + sdk: '>=3.0.0 <4.0.0' + +dependencies: + rxdart: + path: ../../packages/rxdart + +dev_dependencies: + lints: ^4.0.0 diff --git a/examples/flutter/github_search/.gitignore b/examples/flutter/github_search/.gitignore new file mode 100644 index 000000000..d33d2a64c --- /dev/null +++ b/examples/flutter/github_search/.gitignore @@ -0,0 +1,42 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ +*.mocks.dart + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json diff --git a/example/flutter/github_search/.metadata b/examples/flutter/github_search/.metadata similarity index 100% rename from example/flutter/github_search/.metadata rename to examples/flutter/github_search/.metadata diff --git a/example/flutter/github_search/README.md b/examples/flutter/github_search/README.md similarity index 100% rename from example/flutter/github_search/README.md rename to examples/flutter/github_search/README.md diff --git a/example/flutter/github_search/analysis_options.yaml b/examples/flutter/github_search/analysis_options.yaml similarity index 100% rename from example/flutter/github_search/analysis_options.yaml rename to examples/flutter/github_search/analysis_options.yaml diff --git a/example/flutter/github_search/android/.gitignore b/examples/flutter/github_search/android/.gitignore similarity index 100% rename from example/flutter/github_search/android/.gitignore rename to examples/flutter/github_search/android/.gitignore diff --git a/example/flutter/github_search/android/app/build.gradle b/examples/flutter/github_search/android/app/build.gradle similarity index 100% rename from example/flutter/github_search/android/app/build.gradle rename to examples/flutter/github_search/android/app/build.gradle diff --git a/example/flutter/github_search/android/app/src/debug/AndroidManifest.xml b/examples/flutter/github_search/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from example/flutter/github_search/android/app/src/debug/AndroidManifest.xml rename to examples/flutter/github_search/android/app/src/debug/AndroidManifest.xml diff --git a/example/flutter/github_search/android/app/src/main/AndroidManifest.xml b/examples/flutter/github_search/android/app/src/main/AndroidManifest.xml similarity index 100% rename from example/flutter/github_search/android/app/src/main/AndroidManifest.xml rename to examples/flutter/github_search/android/app/src/main/AndroidManifest.xml diff --git a/example/flutter/github_search/android/app/src/main/kotlin/com/example/github_search/MainActivity.kt b/examples/flutter/github_search/android/app/src/main/kotlin/com/example/github_search/MainActivity.kt similarity index 100% rename from example/flutter/github_search/android/app/src/main/kotlin/com/example/github_search/MainActivity.kt rename to examples/flutter/github_search/android/app/src/main/kotlin/com/example/github_search/MainActivity.kt diff --git a/example/flutter/github_search/android/app/src/main/res/drawable-v21/launch_background.xml b/examples/flutter/github_search/android/app/src/main/res/drawable-v21/launch_background.xml similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/drawable-v21/launch_background.xml rename to examples/flutter/github_search/android/app/src/main/res/drawable-v21/launch_background.xml diff --git a/example/flutter/github_search/android/app/src/main/res/drawable/launch_background.xml b/examples/flutter/github_search/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/drawable/launch_background.xml rename to examples/flutter/github_search/android/app/src/main/res/drawable/launch_background.xml diff --git a/example/flutter/github_search/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/examples/flutter/github_search/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to examples/flutter/github_search/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/example/flutter/github_search/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/examples/flutter/github_search/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to examples/flutter/github_search/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/example/flutter/github_search/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/examples/flutter/github_search/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to examples/flutter/github_search/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/example/flutter/github_search/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/examples/flutter/github_search/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to examples/flutter/github_search/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/example/flutter/github_search/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/examples/flutter/github_search/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to examples/flutter/github_search/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/example/flutter/github_search/android/app/src/main/res/values-night/styles.xml b/examples/flutter/github_search/android/app/src/main/res/values-night/styles.xml similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/values-night/styles.xml rename to examples/flutter/github_search/android/app/src/main/res/values-night/styles.xml diff --git a/example/flutter/github_search/android/app/src/main/res/values/styles.xml b/examples/flutter/github_search/android/app/src/main/res/values/styles.xml similarity index 100% rename from example/flutter/github_search/android/app/src/main/res/values/styles.xml rename to examples/flutter/github_search/android/app/src/main/res/values/styles.xml diff --git a/example/flutter/github_search/android/app/src/profile/AndroidManifest.xml b/examples/flutter/github_search/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from example/flutter/github_search/android/app/src/profile/AndroidManifest.xml rename to examples/flutter/github_search/android/app/src/profile/AndroidManifest.xml diff --git a/example/flutter/github_search/android/build.gradle b/examples/flutter/github_search/android/build.gradle similarity index 100% rename from example/flutter/github_search/android/build.gradle rename to examples/flutter/github_search/android/build.gradle diff --git a/example/flutter/github_search/android/gradle.properties b/examples/flutter/github_search/android/gradle.properties similarity index 100% rename from example/flutter/github_search/android/gradle.properties rename to examples/flutter/github_search/android/gradle.properties diff --git a/example/flutter/github_search/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter/github_search/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from example/flutter/github_search/android/gradle/wrapper/gradle-wrapper.properties rename to examples/flutter/github_search/android/gradle/wrapper/gradle-wrapper.properties diff --git a/example/flutter/github_search/android/settings.gradle b/examples/flutter/github_search/android/settings.gradle similarity index 100% rename from example/flutter/github_search/android/settings.gradle rename to examples/flutter/github_search/android/settings.gradle diff --git a/example/flutter/github_search/fonts/hind/DESCRIPTION.en_us.html b/examples/flutter/github_search/fonts/hind/DESCRIPTION.en_us.html similarity index 100% rename from example/flutter/github_search/fonts/hind/DESCRIPTION.en_us.html rename to examples/flutter/github_search/fonts/hind/DESCRIPTION.en_us.html diff --git a/example/flutter/github_search/fonts/hind/Hind-Bold.ttf b/examples/flutter/github_search/fonts/hind/Hind-Bold.ttf similarity index 100% rename from example/flutter/github_search/fonts/hind/Hind-Bold.ttf rename to examples/flutter/github_search/fonts/hind/Hind-Bold.ttf diff --git a/example/flutter/github_search/fonts/hind/Hind-Light.ttf b/examples/flutter/github_search/fonts/hind/Hind-Light.ttf similarity index 100% rename from example/flutter/github_search/fonts/hind/Hind-Light.ttf rename to examples/flutter/github_search/fonts/hind/Hind-Light.ttf diff --git a/example/flutter/github_search/fonts/hind/Hind-Medium.ttf b/examples/flutter/github_search/fonts/hind/Hind-Medium.ttf similarity index 100% rename from example/flutter/github_search/fonts/hind/Hind-Medium.ttf rename to examples/flutter/github_search/fonts/hind/Hind-Medium.ttf diff --git a/example/flutter/github_search/fonts/hind/Hind-Regular.ttf b/examples/flutter/github_search/fonts/hind/Hind-Regular.ttf similarity index 100% rename from example/flutter/github_search/fonts/hind/Hind-Regular.ttf rename to examples/flutter/github_search/fonts/hind/Hind-Regular.ttf diff --git a/example/flutter/github_search/fonts/hind/Hind-Semibold.ttf b/examples/flutter/github_search/fonts/hind/Hind-Semibold.ttf similarity index 100% rename from example/flutter/github_search/fonts/hind/Hind-Semibold.ttf rename to examples/flutter/github_search/fonts/hind/Hind-Semibold.ttf diff --git a/example/flutter/github_search/fonts/hind/METADATA.json b/examples/flutter/github_search/fonts/hind/METADATA.json similarity index 100% rename from example/flutter/github_search/fonts/hind/METADATA.json rename to examples/flutter/github_search/fonts/hind/METADATA.json diff --git a/example/flutter/github_search/fonts/hind/OFL.txt b/examples/flutter/github_search/fonts/hind/OFL.txt similarity index 100% rename from example/flutter/github_search/fonts/hind/OFL.txt rename to examples/flutter/github_search/fonts/hind/OFL.txt diff --git a/example/flutter/github_search/fonts/montserrat/DESCRIPTION.en_us.html b/examples/flutter/github_search/fonts/montserrat/DESCRIPTION.en_us.html similarity index 100% rename from example/flutter/github_search/fonts/montserrat/DESCRIPTION.en_us.html rename to examples/flutter/github_search/fonts/montserrat/DESCRIPTION.en_us.html diff --git a/example/flutter/github_search/fonts/montserrat/METADATA.json b/examples/flutter/github_search/fonts/montserrat/METADATA.json similarity index 100% rename from example/flutter/github_search/fonts/montserrat/METADATA.json rename to examples/flutter/github_search/fonts/montserrat/METADATA.json diff --git a/example/flutter/github_search/fonts/montserrat/Montserrat-Black.ttf b/examples/flutter/github_search/fonts/montserrat/Montserrat-Black.ttf similarity index 100% rename from example/flutter/github_search/fonts/montserrat/Montserrat-Black.ttf rename to examples/flutter/github_search/fonts/montserrat/Montserrat-Black.ttf diff --git a/example/flutter/github_search/fonts/montserrat/Montserrat-Bold.ttf b/examples/flutter/github_search/fonts/montserrat/Montserrat-Bold.ttf similarity index 100% rename from example/flutter/github_search/fonts/montserrat/Montserrat-Bold.ttf rename to examples/flutter/github_search/fonts/montserrat/Montserrat-Bold.ttf diff --git a/example/flutter/github_search/fonts/montserrat/Montserrat-Light.ttf b/examples/flutter/github_search/fonts/montserrat/Montserrat-Light.ttf similarity index 100% rename from example/flutter/github_search/fonts/montserrat/Montserrat-Light.ttf rename to examples/flutter/github_search/fonts/montserrat/Montserrat-Light.ttf diff --git a/example/flutter/github_search/fonts/montserrat/Montserrat-Regular.ttf b/examples/flutter/github_search/fonts/montserrat/Montserrat-Regular.ttf similarity index 100% rename from example/flutter/github_search/fonts/montserrat/Montserrat-Regular.ttf rename to examples/flutter/github_search/fonts/montserrat/Montserrat-Regular.ttf diff --git a/example/flutter/github_search/fonts/montserrat/Montserrat-Thin.ttf b/examples/flutter/github_search/fonts/montserrat/Montserrat-Thin.ttf similarity index 100% rename from example/flutter/github_search/fonts/montserrat/Montserrat-Thin.ttf rename to examples/flutter/github_search/fonts/montserrat/Montserrat-Thin.ttf diff --git a/example/flutter/github_search/fonts/montserrat/OFL.txt b/examples/flutter/github_search/fonts/montserrat/OFL.txt similarity index 100% rename from example/flutter/github_search/fonts/montserrat/OFL.txt rename to examples/flutter/github_search/fonts/montserrat/OFL.txt diff --git a/example/flutter/github_search/ios/.gitignore b/examples/flutter/github_search/ios/.gitignore similarity index 100% rename from example/flutter/github_search/ios/.gitignore rename to examples/flutter/github_search/ios/.gitignore diff --git a/example/flutter/github_search/ios/Flutter/AppFrameworkInfo.plist b/examples/flutter/github_search/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from example/flutter/github_search/ios/Flutter/AppFrameworkInfo.plist rename to examples/flutter/github_search/ios/Flutter/AppFrameworkInfo.plist diff --git a/example/flutter/github_search/ios/Flutter/Debug.xcconfig b/examples/flutter/github_search/ios/Flutter/Debug.xcconfig similarity index 100% rename from example/flutter/github_search/ios/Flutter/Debug.xcconfig rename to examples/flutter/github_search/ios/Flutter/Debug.xcconfig diff --git a/example/flutter/github_search/ios/Flutter/Release.xcconfig b/examples/flutter/github_search/ios/Flutter/Release.xcconfig similarity index 100% rename from example/flutter/github_search/ios/Flutter/Release.xcconfig rename to examples/flutter/github_search/ios/Flutter/Release.xcconfig diff --git a/example/flutter/github_search/ios/Runner.xcodeproj/project.pbxproj b/examples/flutter/github_search/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from example/flutter/github_search/ios/Runner.xcodeproj/project.pbxproj rename to examples/flutter/github_search/ios/Runner.xcodeproj/project.pbxproj diff --git a/example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from example/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to examples/flutter/github_search/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/example/flutter/github_search/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/github_search/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from example/flutter/github_search/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to examples/flutter/github_search/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/example/flutter/github_search/ios/Runner.xcworkspace/contents.xcworkspacedata b/examples/flutter/github_search/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from example/flutter/github_search/ios/Runner.xcworkspace/contents.xcworkspacedata rename to examples/flutter/github_search/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/example/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from example/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to examples/flutter/github_search/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/example/flutter/github_search/ios/Runner/AppDelegate.h b/examples/flutter/github_search/ios/Runner/AppDelegate.h similarity index 100% rename from example/flutter/github_search/ios/Runner/AppDelegate.h rename to examples/flutter/github_search/ios/Runner/AppDelegate.h diff --git a/example/flutter/github_search/ios/Runner/AppDelegate.m b/examples/flutter/github_search/ios/Runner/AppDelegate.m similarity index 100% rename from example/flutter/github_search/ios/Runner/AppDelegate.m rename to examples/flutter/github_search/ios/Runner/AppDelegate.m diff --git a/example/flutter/github_search/ios/Runner/AppDelegate.swift b/examples/flutter/github_search/ios/Runner/AppDelegate.swift similarity index 100% rename from example/flutter/github_search/ios/Runner/AppDelegate.swift rename to examples/flutter/github_search/ios/Runner/AppDelegate.swift diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from example/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to examples/flutter/github_search/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/example/flutter/github_search/ios/Runner/Base.lproj/LaunchScreen.storyboard b/examples/flutter/github_search/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from example/flutter/github_search/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to examples/flutter/github_search/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/example/flutter/github_search/ios/Runner/Base.lproj/Main.storyboard b/examples/flutter/github_search/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from example/flutter/github_search/ios/Runner/Base.lproj/Main.storyboard rename to examples/flutter/github_search/ios/Runner/Base.lproj/Main.storyboard diff --git a/example/flutter/github_search/ios/Runner/Info.plist b/examples/flutter/github_search/ios/Runner/Info.plist similarity index 100% rename from example/flutter/github_search/ios/Runner/Info.plist rename to examples/flutter/github_search/ios/Runner/Info.plist diff --git a/example/flutter/github_search/ios/Runner/Runner-Bridging-Header.h b/examples/flutter/github_search/ios/Runner/Runner-Bridging-Header.h similarity index 100% rename from example/flutter/github_search/ios/Runner/Runner-Bridging-Header.h rename to examples/flutter/github_search/ios/Runner/Runner-Bridging-Header.h diff --git a/example/flutter/github_search/ios/Runner/main.m b/examples/flutter/github_search/ios/Runner/main.m similarity index 100% rename from example/flutter/github_search/ios/Runner/main.m rename to examples/flutter/github_search/ios/Runner/main.m diff --git a/example/flutter/github_search/lib/empty_result_widget.dart b/examples/flutter/github_search/lib/empty_result_widget.dart similarity index 92% rename from example/flutter/github_search/lib/empty_result_widget.dart rename to examples/flutter/github_search/lib/empty_result_widget.dart index 72b804590..5b3389ca9 100644 --- a/example/flutter/github_search/lib/empty_result_widget.dart +++ b/examples/flutter/github_search/lib/empty_result_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; class EmptyWidget extends StatelessWidget { - const EmptyWidget({Key? key}) : super(key: key); + const EmptyWidget({super.key}); @override Widget build(BuildContext context) { diff --git a/example/flutter/github_search/lib/github_api.dart b/examples/flutter/github_search/lib/github_api.dart similarity index 100% rename from example/flutter/github_search/lib/github_api.dart rename to examples/flutter/github_search/lib/github_api.dart diff --git a/example/flutter/github_search/lib/main.dart b/examples/flutter/github_search/lib/main.dart similarity index 87% rename from example/flutter/github_search/lib/main.dart rename to examples/flutter/github_search/lib/main.dart index 25078be65..a51bbad94 100644 --- a/example/flutter/github_search/lib/main.dart +++ b/examples/flutter/github_search/lib/main.dart @@ -8,7 +8,7 @@ void main() => runApp(SearchApp(api: GithubApi())); class SearchApp extends StatelessWidget { final GithubApi api; - const SearchApp({Key? key, required this.api}) : super(key: key); + const SearchApp({super.key, required this.api}); @override Widget build(BuildContext context) { diff --git a/example/flutter/github_search/lib/search_bloc.dart b/examples/flutter/github_search/lib/search_bloc.dart similarity index 100% rename from example/flutter/github_search/lib/search_bloc.dart rename to examples/flutter/github_search/lib/search_bloc.dart diff --git a/example/flutter/github_search/lib/search_error_widget.dart b/examples/flutter/github_search/lib/search_error_widget.dart similarity index 92% rename from example/flutter/github_search/lib/search_error_widget.dart rename to examples/flutter/github_search/lib/search_error_widget.dart index dffc3d3bb..96771ccee 100644 --- a/example/flutter/github_search/lib/search_error_widget.dart +++ b/examples/flutter/github_search/lib/search_error_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; class SearchErrorWidget extends StatelessWidget { - const SearchErrorWidget({Key? key}) : super(key: key); + const SearchErrorWidget({super.key}); @override Widget build(BuildContext context) { diff --git a/example/flutter/github_search/lib/search_intro_widget.dart b/examples/flutter/github_search/lib/search_intro_widget.dart similarity index 92% rename from example/flutter/github_search/lib/search_intro_widget.dart rename to examples/flutter/github_search/lib/search_intro_widget.dart index 5ac5fe98b..a99e11a98 100644 --- a/example/flutter/github_search/lib/search_intro_widget.dart +++ b/examples/flutter/github_search/lib/search_intro_widget.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; class SearchIntro extends StatelessWidget { - const SearchIntro({Key? key}) : super(key: key); + const SearchIntro({super.key}); @override Widget build(BuildContext context) { diff --git a/example/flutter/github_search/lib/search_loading_widget.dart b/examples/flutter/github_search/lib/search_loading_widget.dart similarity index 87% rename from example/flutter/github_search/lib/search_loading_widget.dart rename to examples/flutter/github_search/lib/search_loading_widget.dart index e6876e724..5e521951b 100644 --- a/example/flutter/github_search/lib/search_loading_widget.dart +++ b/examples/flutter/github_search/lib/search_loading_widget.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; class LoadingWidget extends StatelessWidget { - const LoadingWidget({Key? key}) : super(key: key); + const LoadingWidget({super.key}); @override Widget build(BuildContext context) { diff --git a/example/flutter/github_search/lib/search_result_widget.dart b/examples/flutter/github_search/lib/search_result_widget.dart similarity index 97% rename from example/flutter/github_search/lib/search_result_widget.dart rename to examples/flutter/github_search/lib/search_result_widget.dart index 61915bdf6..512f786ce 100644 --- a/example/flutter/github_search/lib/search_result_widget.dart +++ b/examples/flutter/github_search/lib/search_result_widget.dart @@ -5,7 +5,7 @@ import 'github_api.dart'; class SearchResultWidget extends StatelessWidget { final List items; - const SearchResultWidget({Key? key, required this.items}) : super(key: key); + const SearchResultWidget({super.key, required this.items}); @override Widget build(BuildContext context) { @@ -15,6 +15,7 @@ class SearchResultWidget extends StatelessWidget { final item = items[index]; return InkWell( + key: ValueKey(item.url), onTap: () => showItem(context, item), child: Container( alignment: FractionalOffset.center, diff --git a/example/flutter/github_search/lib/search_state.dart b/examples/flutter/github_search/lib/search_state.dart similarity index 90% rename from example/flutter/github_search/lib/search_state.dart rename to examples/flutter/github_search/lib/search_state.dart index b688ef824..fec020f4d 100644 --- a/example/flutter/github_search/lib/search_state.dart +++ b/examples/flutter/github_search/lib/search_state.dart @@ -1,3 +1,5 @@ +import 'package:flutter/foundation.dart'; + import 'github_api.dart'; // The State represents the data the View requires. The View consumes a Stream @@ -9,7 +11,8 @@ import 'github_api.dart'; // // The State Stream responds to input from the View by accepting a // Stream. We call this Stream the onTextChanged "intent". -class SearchState {} +@immutable +sealed class SearchState {} class SearchLoading extends SearchState {} diff --git a/example/flutter/github_search/lib/search_widget.dart b/examples/flutter/github_search/lib/search_widget.dart similarity index 85% rename from example/flutter/github_search/lib/search_widget.dart rename to examples/flutter/github_search/lib/search_widget.dart index 49d66b68d..771b9d162 100644 --- a/example/flutter/github_search/lib/search_widget.dart +++ b/examples/flutter/github_search/lib/search_widget.dart @@ -18,7 +18,7 @@ import 'search_state.dart'; class SearchScreen extends StatefulWidget { final GithubApi api; - const SearchScreen({Key? key, required this.api}) : super(key: key); + const SearchScreen({super.key, required this.api}); @override SearchScreenState createState() { @@ -76,6 +76,10 @@ class SearchScreenState extends State { Widget _buildSearchBar() { return Container( padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Theme.of(context).cardColor, + ), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -107,26 +111,21 @@ class SearchScreenState extends State { ), ], ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(20), - color: Theme.of(context).cardColor, - ), ); } Widget _buildChild(SearchState state) { - if (state is SearchNoTerm) { - return const SearchIntro(); - } else if (state is SearchEmpty) { - return const EmptyWidget(); - } else if (state is SearchLoading) { - return const LoadingWidget(); - } else if (state is SearchError) { - return const SearchErrorWidget(); - } else if (state is SearchPopulated) { - return SearchResultWidget(items: state.result.items); + switch (state) { + case SearchNoTerm(): + return const SearchIntro(); + case SearchEmpty(): + return const EmptyWidget(); + case SearchLoading(): + return const LoadingWidget(); + case SearchError(): + return const SearchErrorWidget(); + case SearchPopulated(): + return SearchResultWidget(items: state.result.items); } - - throw Exception('${state.runtimeType} is not supported'); } } diff --git a/example/flutter/github_search/linux/.gitignore b/examples/flutter/github_search/linux/.gitignore similarity index 100% rename from example/flutter/github_search/linux/.gitignore rename to examples/flutter/github_search/linux/.gitignore diff --git a/example/flutter/github_search/linux/CMakeLists.txt b/examples/flutter/github_search/linux/CMakeLists.txt similarity index 100% rename from example/flutter/github_search/linux/CMakeLists.txt rename to examples/flutter/github_search/linux/CMakeLists.txt diff --git a/example/flutter/github_search/linux/flutter/CMakeLists.txt b/examples/flutter/github_search/linux/flutter/CMakeLists.txt similarity index 100% rename from example/flutter/github_search/linux/flutter/CMakeLists.txt rename to examples/flutter/github_search/linux/flutter/CMakeLists.txt diff --git a/example/flutter/github_search/linux/flutter/generated_plugin_registrant.cc b/examples/flutter/github_search/linux/flutter/generated_plugin_registrant.cc similarity index 100% rename from example/flutter/github_search/linux/flutter/generated_plugin_registrant.cc rename to examples/flutter/github_search/linux/flutter/generated_plugin_registrant.cc diff --git a/example/flutter/github_search/linux/flutter/generated_plugin_registrant.h b/examples/flutter/github_search/linux/flutter/generated_plugin_registrant.h similarity index 100% rename from example/flutter/github_search/linux/flutter/generated_plugin_registrant.h rename to examples/flutter/github_search/linux/flutter/generated_plugin_registrant.h diff --git a/example/flutter/github_search/linux/flutter/generated_plugins.cmake b/examples/flutter/github_search/linux/flutter/generated_plugins.cmake similarity index 100% rename from example/flutter/github_search/linux/flutter/generated_plugins.cmake rename to examples/flutter/github_search/linux/flutter/generated_plugins.cmake diff --git a/example/flutter/github_search/linux/main.cc b/examples/flutter/github_search/linux/main.cc similarity index 100% rename from example/flutter/github_search/linux/main.cc rename to examples/flutter/github_search/linux/main.cc diff --git a/example/flutter/github_search/linux/my_application.cc b/examples/flutter/github_search/linux/my_application.cc similarity index 100% rename from example/flutter/github_search/linux/my_application.cc rename to examples/flutter/github_search/linux/my_application.cc diff --git a/example/flutter/github_search/linux/my_application.h b/examples/flutter/github_search/linux/my_application.h similarity index 100% rename from example/flutter/github_search/linux/my_application.h rename to examples/flutter/github_search/linux/my_application.h diff --git a/example/flutter/github_search/macos/.gitignore b/examples/flutter/github_search/macos/.gitignore similarity index 100% rename from example/flutter/github_search/macos/.gitignore rename to examples/flutter/github_search/macos/.gitignore diff --git a/example/flutter/github_search/macos/Flutter/Flutter-Debug.xcconfig b/examples/flutter/github_search/macos/Flutter/Flutter-Debug.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Flutter/Flutter-Debug.xcconfig rename to examples/flutter/github_search/macos/Flutter/Flutter-Debug.xcconfig diff --git a/example/flutter/github_search/macos/Flutter/Flutter-Release.xcconfig b/examples/flutter/github_search/macos/Flutter/Flutter-Release.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Flutter/Flutter-Release.xcconfig rename to examples/flutter/github_search/macos/Flutter/Flutter-Release.xcconfig diff --git a/example/flutter/github_search/macos/Flutter/GeneratedPluginRegistrant.swift b/examples/flutter/github_search/macos/Flutter/GeneratedPluginRegistrant.swift similarity index 100% rename from example/flutter/github_search/macos/Flutter/GeneratedPluginRegistrant.swift rename to examples/flutter/github_search/macos/Flutter/GeneratedPluginRegistrant.swift diff --git a/example/flutter/github_search/macos/Runner.xcodeproj/project.pbxproj b/examples/flutter/github_search/macos/Runner.xcodeproj/project.pbxproj similarity index 100% rename from example/flutter/github_search/macos/Runner.xcodeproj/project.pbxproj rename to examples/flutter/github_search/macos/Runner.xcodeproj/project.pbxproj diff --git a/example/flutter/github_search/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/github_search/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/flutter/github_search/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/github_search/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/flutter/github_search/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/github_search/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from example/flutter/github_search/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to examples/flutter/github_search/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/example/flutter/github_search/macos/Runner.xcworkspace/contents.xcworkspacedata b/examples/flutter/github_search/macos/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from example/flutter/github_search/macos/Runner.xcworkspace/contents.xcworkspacedata rename to examples/flutter/github_search/macos/Runner.xcworkspace/contents.xcworkspacedata diff --git a/example/flutter/github_search/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/github_search/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/flutter/github_search/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/github_search/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/flutter/github_search/macos/Runner/AppDelegate.swift b/examples/flutter/github_search/macos/Runner/AppDelegate.swift similarity index 100% rename from example/flutter/github_search/macos/Runner/AppDelegate.swift rename to examples/flutter/github_search/macos/Runner/AppDelegate.swift diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png diff --git a/example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png similarity index 100% rename from example/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png rename to examples/flutter/github_search/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png diff --git a/example/flutter/github_search/macos/Runner/Base.lproj/MainMenu.xib b/examples/flutter/github_search/macos/Runner/Base.lproj/MainMenu.xib similarity index 100% rename from example/flutter/github_search/macos/Runner/Base.lproj/MainMenu.xib rename to examples/flutter/github_search/macos/Runner/Base.lproj/MainMenu.xib diff --git a/example/flutter/github_search/macos/Runner/Configs/AppInfo.xcconfig b/examples/flutter/github_search/macos/Runner/Configs/AppInfo.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Runner/Configs/AppInfo.xcconfig rename to examples/flutter/github_search/macos/Runner/Configs/AppInfo.xcconfig diff --git a/example/flutter/github_search/macos/Runner/Configs/Debug.xcconfig b/examples/flutter/github_search/macos/Runner/Configs/Debug.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Runner/Configs/Debug.xcconfig rename to examples/flutter/github_search/macos/Runner/Configs/Debug.xcconfig diff --git a/example/flutter/github_search/macos/Runner/Configs/Release.xcconfig b/examples/flutter/github_search/macos/Runner/Configs/Release.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Runner/Configs/Release.xcconfig rename to examples/flutter/github_search/macos/Runner/Configs/Release.xcconfig diff --git a/example/flutter/github_search/macos/Runner/Configs/Warnings.xcconfig b/examples/flutter/github_search/macos/Runner/Configs/Warnings.xcconfig similarity index 100% rename from example/flutter/github_search/macos/Runner/Configs/Warnings.xcconfig rename to examples/flutter/github_search/macos/Runner/Configs/Warnings.xcconfig diff --git a/example/flutter/github_search/macos/Runner/DebugProfile.entitlements b/examples/flutter/github_search/macos/Runner/DebugProfile.entitlements similarity index 100% rename from example/flutter/github_search/macos/Runner/DebugProfile.entitlements rename to examples/flutter/github_search/macos/Runner/DebugProfile.entitlements diff --git a/example/flutter/github_search/macos/Runner/Info.plist b/examples/flutter/github_search/macos/Runner/Info.plist similarity index 100% rename from example/flutter/github_search/macos/Runner/Info.plist rename to examples/flutter/github_search/macos/Runner/Info.plist diff --git a/example/flutter/github_search/macos/Runner/MainFlutterWindow.swift b/examples/flutter/github_search/macos/Runner/MainFlutterWindow.swift similarity index 100% rename from example/flutter/github_search/macos/Runner/MainFlutterWindow.swift rename to examples/flutter/github_search/macos/Runner/MainFlutterWindow.swift diff --git a/example/flutter/github_search/macos/Runner/Release.entitlements b/examples/flutter/github_search/macos/Runner/Release.entitlements similarity index 100% rename from example/flutter/github_search/macos/Runner/Release.entitlements rename to examples/flutter/github_search/macos/Runner/Release.entitlements diff --git a/examples/flutter/github_search/pubspec.lock b/examples/flutter/github_search/pubspec.lock new file mode 100644 index 000000000..da633d69d --- /dev/null +++ b/examples/flutter/github_search/pubspec.lock @@ -0,0 +1,620 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" + source: hosted + version: "61.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" + source: hosted + version: "5.13.0" + args: + dependency: transitive + description: + name: args + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + url: "https://pub.dev" + source: hosted + version: "4.0.1" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" + url: "https://pub.dev" + source: hosted + version: "2.4.9" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + url: "https://pub.dev" + source: hosted + version: "7.3.0" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + url: "https://pub.dev" + source: hosted + version: "8.9.2" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" + source: hosted + version: "4.10.0" + collection: + dependency: transitive + description: + name: collection + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + sha256: "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb" + url: "https://pub.dev" + source: hosted + version: "1.6.4" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + flutter_spinkit: + dependency: "direct main" + description: + name: flutter_spinkit + sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472 + url: "https://pub.dev" + source: hosted + version: "5.2.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: "direct main" + description: + name: http + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + url: "https://pub.dev" + source: hosted + version: "0.13.6" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + lints: + dependency: transitive + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + mockito: + dependency: "direct dev" + description: + name: mockito + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + rxdart: + dependency: "direct main" + description: + path: "../../../packages/rxdart" + relative: true + source: path + version: "0.28.0-dev.2" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test: + dependency: "direct dev" + description: + name: test + sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46" + url: "https://pub.dev" + source: hosted + version: "1.24.3" + test_api: + dependency: transitive + description: + name: test_api + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + test_core: + dependency: transitive + description: + name: test_core + sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e" + url: "https://pub.dev" + source: hosted + version: "0.5.3" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583 + url: "https://pub.dev" + source: hosted + version: "11.10.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" + source: hosted + version: "2.4.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.1.0 <4.0.0" + flutter: ">=3.10.0" diff --git a/example/flutter/github_search/pubspec.yaml b/examples/flutter/github_search/pubspec.yaml similarity index 89% rename from example/flutter/github_search/pubspec.yaml rename to examples/flutter/github_search/pubspec.yaml index 94147e691..57343b7a0 100644 --- a/example/flutter/github_search/pubspec.yaml +++ b/examples/flutter/github_search/pubspec.yaml @@ -3,22 +3,22 @@ publish_to: 'none' description: Flutter Github Search RxDart Example. environment: - sdk: ">=2.14.0 <3.0.0" - flutter: ">=2.5.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" + flutter: ">=3.10.0 <4.0.0" dependencies: flutter: sdk: flutter rxdart: - path: ../../../ + path: ../../../packages/rxdart http: ^0.13.3 flutter_spinkit: ^5.1.0 dev_dependencies: - flutter_lints: ^1.0.4 + flutter_lints: ^4.0.0 test: ^1.17.10 - mockito: ^5.0.15 - build_runner: ^2.1.2 + mockito: ^5.4.4 + build_runner: ^2.4.9 flutter_test: sdk: flutter diff --git a/example/flutter/github_search/test/search_bloc_test.dart b/examples/flutter/github_search/test/search_bloc_test.dart similarity index 100% rename from example/flutter/github_search/test/search_bloc_test.dart rename to examples/flutter/github_search/test/search_bloc_test.dart diff --git a/example/flutter/github_search/web/favicon.png b/examples/flutter/github_search/web/favicon.png similarity index 100% rename from example/flutter/github_search/web/favicon.png rename to examples/flutter/github_search/web/favicon.png diff --git a/example/flutter/github_search/web/icons/Icon-192.png b/examples/flutter/github_search/web/icons/Icon-192.png similarity index 100% rename from example/flutter/github_search/web/icons/Icon-192.png rename to examples/flutter/github_search/web/icons/Icon-192.png diff --git a/example/flutter/github_search/web/icons/Icon-512.png b/examples/flutter/github_search/web/icons/Icon-512.png similarity index 100% rename from example/flutter/github_search/web/icons/Icon-512.png rename to examples/flutter/github_search/web/icons/Icon-512.png diff --git a/example/flutter/github_search/web/icons/Icon-maskable-192.png b/examples/flutter/github_search/web/icons/Icon-maskable-192.png similarity index 100% rename from example/flutter/github_search/web/icons/Icon-maskable-192.png rename to examples/flutter/github_search/web/icons/Icon-maskable-192.png diff --git a/example/flutter/github_search/web/icons/Icon-maskable-512.png b/examples/flutter/github_search/web/icons/Icon-maskable-512.png similarity index 100% rename from example/flutter/github_search/web/icons/Icon-maskable-512.png rename to examples/flutter/github_search/web/icons/Icon-maskable-512.png diff --git a/example/flutter/github_search/web/index.html b/examples/flutter/github_search/web/index.html similarity index 100% rename from example/flutter/github_search/web/index.html rename to examples/flutter/github_search/web/index.html diff --git a/example/flutter/github_search/web/manifest.json b/examples/flutter/github_search/web/manifest.json similarity index 100% rename from example/flutter/github_search/web/manifest.json rename to examples/flutter/github_search/web/manifest.json diff --git a/example/flutter/github_search/windows/.gitignore b/examples/flutter/github_search/windows/.gitignore similarity index 100% rename from example/flutter/github_search/windows/.gitignore rename to examples/flutter/github_search/windows/.gitignore diff --git a/example/flutter/github_search/windows/CMakeLists.txt b/examples/flutter/github_search/windows/CMakeLists.txt similarity index 100% rename from example/flutter/github_search/windows/CMakeLists.txt rename to examples/flutter/github_search/windows/CMakeLists.txt diff --git a/example/flutter/github_search/windows/flutter/CMakeLists.txt b/examples/flutter/github_search/windows/flutter/CMakeLists.txt similarity index 100% rename from example/flutter/github_search/windows/flutter/CMakeLists.txt rename to examples/flutter/github_search/windows/flutter/CMakeLists.txt diff --git a/example/flutter/github_search/windows/flutter/generated_plugin_registrant.cc b/examples/flutter/github_search/windows/flutter/generated_plugin_registrant.cc similarity index 100% rename from example/flutter/github_search/windows/flutter/generated_plugin_registrant.cc rename to examples/flutter/github_search/windows/flutter/generated_plugin_registrant.cc diff --git a/example/flutter/github_search/windows/flutter/generated_plugin_registrant.h b/examples/flutter/github_search/windows/flutter/generated_plugin_registrant.h similarity index 100% rename from example/flutter/github_search/windows/flutter/generated_plugin_registrant.h rename to examples/flutter/github_search/windows/flutter/generated_plugin_registrant.h diff --git a/example/flutter/github_search/windows/flutter/generated_plugins.cmake b/examples/flutter/github_search/windows/flutter/generated_plugins.cmake similarity index 100% rename from example/flutter/github_search/windows/flutter/generated_plugins.cmake rename to examples/flutter/github_search/windows/flutter/generated_plugins.cmake diff --git a/example/flutter/github_search/windows/runner/CMakeLists.txt b/examples/flutter/github_search/windows/runner/CMakeLists.txt similarity index 100% rename from example/flutter/github_search/windows/runner/CMakeLists.txt rename to examples/flutter/github_search/windows/runner/CMakeLists.txt diff --git a/example/flutter/github_search/windows/runner/Runner.rc b/examples/flutter/github_search/windows/runner/Runner.rc similarity index 100% rename from example/flutter/github_search/windows/runner/Runner.rc rename to examples/flutter/github_search/windows/runner/Runner.rc diff --git a/example/flutter/github_search/windows/runner/flutter_window.cpp b/examples/flutter/github_search/windows/runner/flutter_window.cpp similarity index 100% rename from example/flutter/github_search/windows/runner/flutter_window.cpp rename to examples/flutter/github_search/windows/runner/flutter_window.cpp diff --git a/example/flutter/github_search/windows/runner/flutter_window.h b/examples/flutter/github_search/windows/runner/flutter_window.h similarity index 100% rename from example/flutter/github_search/windows/runner/flutter_window.h rename to examples/flutter/github_search/windows/runner/flutter_window.h diff --git a/example/flutter/github_search/windows/runner/main.cpp b/examples/flutter/github_search/windows/runner/main.cpp similarity index 100% rename from example/flutter/github_search/windows/runner/main.cpp rename to examples/flutter/github_search/windows/runner/main.cpp diff --git a/example/flutter/github_search/windows/runner/resource.h b/examples/flutter/github_search/windows/runner/resource.h similarity index 100% rename from example/flutter/github_search/windows/runner/resource.h rename to examples/flutter/github_search/windows/runner/resource.h diff --git a/example/flutter/github_search/windows/runner/resources/app_icon.ico b/examples/flutter/github_search/windows/runner/resources/app_icon.ico similarity index 100% rename from example/flutter/github_search/windows/runner/resources/app_icon.ico rename to examples/flutter/github_search/windows/runner/resources/app_icon.ico diff --git a/example/flutter/github_search/windows/runner/runner.exe.manifest b/examples/flutter/github_search/windows/runner/runner.exe.manifest similarity index 100% rename from example/flutter/github_search/windows/runner/runner.exe.manifest rename to examples/flutter/github_search/windows/runner/runner.exe.manifest diff --git a/example/flutter/github_search/windows/runner/utils.cpp b/examples/flutter/github_search/windows/runner/utils.cpp similarity index 100% rename from example/flutter/github_search/windows/runner/utils.cpp rename to examples/flutter/github_search/windows/runner/utils.cpp diff --git a/example/flutter/github_search/windows/runner/utils.h b/examples/flutter/github_search/windows/runner/utils.h similarity index 100% rename from example/flutter/github_search/windows/runner/utils.h rename to examples/flutter/github_search/windows/runner/utils.h diff --git a/example/flutter/github_search/windows/runner/win32_window.cpp b/examples/flutter/github_search/windows/runner/win32_window.cpp similarity index 100% rename from example/flutter/github_search/windows/runner/win32_window.cpp rename to examples/flutter/github_search/windows/runner/win32_window.cpp diff --git a/example/flutter/github_search/windows/runner/win32_window.h b/examples/flutter/github_search/windows/runner/win32_window.h similarity index 100% rename from example/flutter/github_search/windows/runner/win32_window.h rename to examples/flutter/github_search/windows/runner/win32_window.h diff --git a/examples/web/.gitignore b/examples/web/.gitignore new file mode 100644 index 000000000..d33d2a64c --- /dev/null +++ b/examples/web/.gitignore @@ -0,0 +1,42 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ +*.mocks.dart + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json diff --git a/examples/web/analysis_options.yaml b/examples/web/analysis_options.yaml new file mode 100644 index 000000000..4d5f6fb0e --- /dev/null +++ b/examples/web/analysis_options.yaml @@ -0,0 +1,13 @@ +include: package:lints/recommended.yaml + +analyzer: + language: + strict-casts: true + strict-raw-types: true + +linter: + rules: + - always_declare_return_types # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - prefer_single_quotes # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - unawaited_futures # https://github.com/dart-lang/lints#migrating-from-packagepedantic + - unsafe_html # https://github.com/dart-lang/lints#migrating-from-packagepedantic diff --git a/examples/web/build.yaml b/examples/web/build.yaml new file mode 100644 index 000000000..d96db63e5 --- /dev/null +++ b/examples/web/build.yaml @@ -0,0 +1,8 @@ +targets: + $default: + builders: + build_web_compilers:entrypoint: + generate_for: + - web/** + options: + compiler: dart2js diff --git a/examples/web/pubspec.lock b/examples/web/pubspec.lock new file mode 100644 index 000000000..a9d117bd0 --- /dev/null +++ b/examples/web/pubspec.lock @@ -0,0 +1,492 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + url: "https://pub.dev" + source: hosted + version: "67.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + url: "https://pub.dev" + source: hosted + version: "6.4.1" + archive: + dependency: transitive + description: + name: archive + sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 + url: "https://pub.dev" + source: hosted + version: "3.5.1" + args: + dependency: transitive + description: + name: args + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + bazel_worker: + dependency: transitive + description: + name: bazel_worker + sha256: "4eef19cc486c289e4b06c69d0f6f3192e85cc93c25d4d15d02afb205e388d2f0" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + url: "https://pub.dev" + source: hosted + version: "4.0.1" + build_modules: + dependency: transitive + description: + name: build_modules + sha256: "9987d67a29081872e730468295fc565e9a2b377ca3673337c1d4e41d57c6cd7c" + url: "https://pub.dev" + source: hosted + version: "5.0.8" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" + url: "https://pub.dev" + source: hosted + version: "2.4.9" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + url: "https://pub.dev" + source: hosted + version: "7.3.0" + build_web_compilers: + dependency: "direct dev" + description: + name: build_web_compilers + sha256: "9071a94aa67787cebdd9e76837c9d2af61fb5242db541244f6a0b6249afafb46" + url: "https://pub.dev" + source: hosted + version: "4.0.10" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + url: "https://pub.dev" + source: hosted + version: "8.9.2" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" + source: hosted + version: "4.10.0" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + url: "https://pub.dev" + source: hosted + version: "2.3.6" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + url: "https://pub.dev" + source: hosted + version: "0.7.1" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + lints: + dependency: "direct dev" + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + meta: + dependency: transitive + description: + name: meta + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + url: "https://pub.dev" + source: hosted + version: "1.15.0" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + protobuf: + dependency: transitive + description: + name: protobuf + sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + rxdart: + dependency: "direct main" + description: + path: "../../packages/rxdart" + relative: true + source: path + version: "0.28.0-dev.2" + scratch_space: + dependency: transitive + description: + name: scratch_space + sha256: "8510fbff458d733a58fc427057d1ac86303b376d609d6e1bc43f240aad9aa445" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794" + url: "https://pub.dev" + source: hosted + version: "0.7.1" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" + source: hosted + version: "2.4.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.1.0 <3.6.0" diff --git a/examples/web/pubspec.yaml b/examples/web/pubspec.yaml new file mode 100644 index 000000000..512ca69e8 --- /dev/null +++ b/examples/web/pubspec.yaml @@ -0,0 +1,14 @@ +name: rxdart_web_example +publish_to: none + +environment: + sdk: '>=3.0.0 <4.0.0' + +dependencies: + rxdart: + path: ../../packages/rxdart + +dev_dependencies: + lints: ^4.0.0 + build_runner: ^2.4.9 + build_web_compilers: ^4.0.10 diff --git a/example/web/dragdrop/dragdrop.dart b/examples/web/web/dragdrop/dragdrop.dart similarity index 100% rename from example/web/dragdrop/dragdrop.dart rename to examples/web/web/dragdrop/dragdrop.dart diff --git a/example/web/dragdrop/dragdrop.html b/examples/web/web/dragdrop/dragdrop.html similarity index 100% rename from example/web/dragdrop/dragdrop.html rename to examples/web/web/dragdrop/dragdrop.html diff --git a/example/web/index.html b/examples/web/web/index.html similarity index 100% rename from example/web/index.html rename to examples/web/web/index.html diff --git a/example/web/konami/konamicode.dart b/examples/web/web/konami/konamicode.dart similarity index 100% rename from example/web/konami/konamicode.dart rename to examples/web/web/konami/konamicode.dart diff --git a/example/web/konami/konamicode.html b/examples/web/web/konami/konamicode.html similarity index 100% rename from example/web/konami/konamicode.html rename to examples/web/web/konami/konamicode.html diff --git a/example/web/search_github/search_github.dart b/examples/web/web/search_github/search_github.dart similarity index 100% rename from example/web/search_github/search_github.dart rename to examples/web/web/search_github/search_github.dart diff --git a/example/web/search_github/search_github.html b/examples/web/web/search_github/search_github.html similarity index 100% rename from example/web/search_github/search_github.html rename to examples/web/web/search_github/search_github.html diff --git a/melos.yaml b/melos.yaml new file mode 100644 index 000000000..a3242e115 --- /dev/null +++ b/melos.yaml @@ -0,0 +1,27 @@ +name: rxdart + +packages: + - examples/** + - packages/** + +scripts: + analyze-no-private: + run: melos exec --no-private -- dart analyze . + analyze: + run: melos exec -- dart analyze . + format-no-private: + run: melos exec --no-private -- dart format . --set-exit-if-changed + format: + run: melos exec -- dart format . --set-exit-if-changed + pub-get-no-private: + run: melos exec --no-private -- dart pub get + test-rxdart: + run: | + cd \$MELOS_ROOT_PATH/packages/rxdart + dart pub run test test/rxdart_test.dart --chain-stack-traces + dart --disable-service-auth-codes --enable-vm-service=8111 --pause-isolates-on-exit --enable-asserts test/rxdart_test.dart & + nohup dart pub global run coverage:collect_coverage --port=8111 --out=coverage.json --wait-paused --resume-isolates + dart pub global run coverage:format_coverage --lcov --in=coverage.json --out=lcov.info --report-on=lib + generate: + run: melos exec --depends-on=build_runner -- "dart run build_runner build -d" + description: Build all generated files for Dart & Flutter packages in this project. \ No newline at end of file diff --git a/packages/rxdart/.gitignore b/packages/rxdart/.gitignore new file mode 100644 index 000000000..454fea264 --- /dev/null +++ b/packages/rxdart/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +build/ +coverage/ \ No newline at end of file diff --git a/CHANGELOG.md b/packages/rxdart/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to packages/rxdart/CHANGELOG.md diff --git a/LICENSE b/packages/rxdart/LICENSE similarity index 100% rename from LICENSE rename to packages/rxdart/LICENSE diff --git a/packages/rxdart/README.md b/packages/rxdart/README.md new file mode 100644 index 000000000..611a3172c --- /dev/null +++ b/packages/rxdart/README.md @@ -0,0 +1,272 @@ +# RxDart + +

+build +

+ +[![Build Status](https://github.com/ReactiveX/rxdart/workflows/Dart%20CI/badge.svg)](https://github.com/ReactiveX/rxdart/actions) +[![codecov](https://codecov.io/gh/ReactiveX/rxdart/branch/master/graph/badge.svg)](https://codecov.io/gh/ReactiveX/rxdart) +[![Pub](https://img.shields.io/pub/v/rxdart.svg)](https://pub.dartlang.org/packages/rxdart) +[![Pub Version (including pre-releases)](https://img.shields.io/pub/v/rxdart?include_prereleases&color=%23A0147B)](https://pub.dartlang.org/packages/rxdart) +[![Gitter](https://img.shields.io/gitter/room/ReactiveX/rxdart.svg)](https://gitter.im/ReactiveX/rxdart) +[![Flutter website](https://img.shields.io/badge/flutter-website-deepskyblue.svg)](https://docs.flutter.dev/data-and-backend/state-mgmt/options#bloc--rx) +[![Build Flutter example](https://github.com/ReactiveX/rxdart/actions/workflows/flutter-example.yml/badge.svg)](https://github.com/ReactiveX/rxdart/actions/workflows/flutter-example.yml) +[![License](https://img.shields.io/github/license/ReactiveX/rxdart)](https://www.apache.org/licenses/LICENSE-2.0) +[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FReactiveX%2Frxdart&count_bg=%23D71092&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) + +## About + +RxDart extends the capabilities of Dart +[Streams](https://api.dart.dev/stable/dart-async/Stream-class.html) and +[StreamControllers](https://api.dart.dev/stable/dart-async/StreamController-class.html). + +Dart comes with a very decent +[Streams](https://api.dart.dev/stable/dart-async/Stream-class.html) API +out-of-the-box; rather than attempting to provide an alternative to this API, +RxDart adds functionality from the reactive extensions specification on top of +it. + +RxDart does not provide its Observable class as a replacement for Dart +Streams. Instead, it offers several additional Stream classes, operators +(extension methods on the Stream class), and Subjects. + +If you are familiar with Observables from other languages, please see [the Rx +Observables vs. Dart Streams comparison chart](#rx-observables-vs-dart-streams) +for notable distinctions between the two. + +## Upgrading from RxDart 0.22.x to 0.23.x + +RxDart 0.23.x moves away from the Observable class, utilizing Dart 2.6's new +extension methods instead. This requires several small refactors that can be +easily automated -- which is just what we've done! + +Please follow the instructions on the +[rxdart_codemod](https://pub.dev/packages/rxdart_codemod) package to +automatically upgrade your code to support RxDart 0.23.x. + +## How To Use RxDart + +### For Example: Reading the Konami Code + +```dart +import 'package:rxdart/rxdart.dart'; + +void main() { + const konamiKeyCodes = [ + KeyCode.UP, + KeyCode.UP, + KeyCode.DOWN, + KeyCode.DOWN, + KeyCode.LEFT, + KeyCode.RIGHT, + KeyCode.LEFT, + KeyCode.RIGHT, + KeyCode.B, + KeyCode.A, + ]; + + final result = querySelector('#result')!; + + document.onKeyUp + .map((event) => event.keyCode) + .bufferCount(10, 1) // An extension method provided by rxdart + .where((lastTenKeyCodes) => const IterableEquality().equals(lastTenKeyCodes, konamiKeyCodes)) + .listen((_) => result.innerHtml = 'KONAMI!'); +} +``` + +## API Overview + +RxDart adds functionality to Dart Streams in three ways: + + * [Stream Classes](#stream-classes) - create Streams with specific capabilities, such as combining or merging many Streams. + * [Extension Methods](#extension-methods) - transform a source Stream into a new Stream with different capabilities, such as throttling or buffering events. + * [Subjects](#subjects) - StreamControllers with additional powers + +### Stream Classes + +The Stream class provides different ways to create a Stream: `Stream.fromIterable` or `Stream.periodic`. RxDart provides additional Stream classes for a variety of tasks, such as combining or merging Streams! + +You can construct the Streams provided by RxDart in two ways. The following examples are equivalent in terms of functionality: + + - Instantiating the Stream class directly. + - Example: `final mergedStream = MergeStream([myFirstStream, mySecondStream]);` + - Using static factories from the Rx class, which are useful for discovering which types of Streams are provided by RxDart. Under the hood, these factories call the corresponding Stream constructor. + - Example: `final mergedStream = Rx.merge([myFirstStream, mySecondStream]);` + +#### List of Classes / Static Factories + +- [CombineLatestStream](https://pub.dev/documentation/rxdart/latest/rx/CombineLatestStream-class.html) (combine2, combine3... combine9) / [Rx.combineLatest2](https://pub.dev/documentation/rxdart/latest/rx/Rx/combineLatest2.html)...[Rx.combineLatest9](https://pub.dev/documentation/rxdart/latest/rx/Rx/combineLatest9.html) +- [ConcatStream](https://pub.dev/documentation/rxdart/latest/rx/ConcatStream-class.html) / [Rx.concat](https://pub.dev/documentation/rxdart/latest/rx/Rx/concat.html) +- [ConcatEagerStream](https://pub.dev/documentation/rxdart/latest/rx/ConcatEagerStream-class.html) / [Rx.concatEager](https://pub.dev/documentation/rxdart/latest/rx/Rx/concatEager.html) +- [DeferStream](https://pub.dev/documentation/rxdart/latest/rx/DeferStream-class.html) / [Rx.defer](https://pub.dev/documentation/rxdart/latest/rx/Rx/defer.html) +- [ForkJoinStream](https://pub.dev/documentation/rxdart/latest/rx/ForkJoinStream-class.html) (join2, join3... join9) / [Rx.forkJoin2](https://pub.dev/documentation/rxdart/latest/rx/Rx/forkJoin2.html)...[Rx.forkJoin9](https://pub.dev/documentation/rxdart/latest/rx/Rx/forkJoin9.html) +- [FromCallableStream](https://pub.dev/documentation/rxdart/latest/rx/FromCallableStream-class.html) / [Rx.fromCallable](https://pub.dev/documentation/rxdart/latest/rx/Rx/fromCallable.html) +- [MergeStream](https://pub.dev/documentation/rxdart/latest/rx/MergeStream-class.html) / [Rx.merge](https://pub.dev/documentation/rxdart/latest/rx/Rx/merge.html) +- [NeverStream](https://pub.dev/documentation/rxdart/latest/rx/NeverStream-class.html) / [Rx.never](https://pub.dev/documentation/rxdart/latest/rx/Rx/never.html) +- [RaceStream](https://pub.dev/documentation/rxdart/latest/rx/RaceStream-class.html) / [Rx.race](https://pub.dev/documentation/rxdart/latest/rx/Rx/race.html) +- [RangeStream](https://pub.dev/documentation/rxdart/latest/rx/RangeStream-class.html) / [Rx.range](https://pub.dev/documentation/rxdart/latest/rx/Rx/range.html) +- [RepeatStream](https://pub.dev/documentation/rxdart/latest/rx/RepeatStream-class.html) / [Rx.repeat](https://pub.dev/documentation/rxdart/latest/rx/Rx/repeat.html) +- [RetryStream](https://pub.dev/documentation/rxdart/latest/rx/RetryStream-class.html) / [Rx.retry](https://pub.dev/documentation/rxdart/latest/rx/Rx/retry.html) +- [RetryWhenStream](https://pub.dev/documentation/rxdart/latest/rx/RetryWhenStream-class.html) / [Rx.retryWhen](https://pub.dev/documentation/rxdart/latest/rx/Rx/retryWhen.html) +- [SequenceEqualStream](https://pub.dev/documentation/rxdart/latest/rx/SequenceEqualStream-class.html) / [Rx.sequenceEqual](https://pub.dev/documentation/rxdart/latest/rx/Rx/sequenceEqual.html) +- [SwitchLatestStream](https://pub.dev/documentation/rxdart/latest/rx/SwitchLatestStream-class.html) / [Rx.switchLatest](https://pub.dev/documentation/rxdart/latest/rx/Rx/switchLatest.html) +- [TimerStream](https://pub.dev/documentation/rxdart/latest/rx/TimerStream-class.html) / [Rx.timer](https://pub.dev/documentation/rxdart/latest/rx/Rx/timer.html) +- [UsingStream](https://pub.dev/documentation/rxdart/latest/rx/UsingStream-class.html) / [Rx.using](https://pub.dev/documentation/rxdart/latest/rx/Rx/using.html) +- [ZipStream](https://pub.dev/documentation/rxdart/latest/rx/ZipStream-class.html) (zip2, zip3, zip4, ..., zip9) / [Rx.zip](https://pub.dev/documentation/rxdart/latest/rx/Rx/zip2.html)...[Rx.zip9](https://pub.dev/documentation/rxdart/latest/rx/Rx/zip9.html) +- If you're looking for an [Interval](https://reactivex.io/documentation/operators/interval.html) equivalent, check out Dart's [Stream.periodic](https://api.dart.dev/stable/2.7.2/dart-async/Stream/Stream.periodic.html) for similar behavior. + +### Extension Methods + +The extension methods provided by RxDart can be used on any `Stream`. They convert a source Stream into a new Stream with additional capabilities, such as buffering or throttling events. + +#### Example + +```dart +Stream.fromIterable([1, 2, 3]) + .throttleTime(Duration(seconds: 1)) + .listen(print); // prints 1 +``` + +#### List of Extension Methods + +- [buffer](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/buffer.html) +- [bufferCount](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferCount.html) +- [bufferTest](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferTest.html) +- [bufferTime](https://pub.dev/documentation/rxdart/latest/rx/BufferExtensions/bufferTime.html) +- [concatWith](https://pub.dev/documentation/rxdart/latest/rx/ConcatExtensions/concatWith.html) +- [debounce](https://pub.dev/documentation/rxdart/latest/rx/DebounceExtensions/debounce.html) +- [debounceTime](https://pub.dev/documentation/rxdart/latest/rx/DebounceExtensions/debounceTime.html) +- [defaultIfEmpty](https://pub.dev/documentation/rxdart/latest/rx/DefaultIfEmptyExtension/defaultIfEmpty.html) +- [delay](https://pub.dev/documentation/rxdart/latest/rx/DelayExtension/delay.html) +- [delayWhen](https://pub.dev/documentation/rxdart/latest/rx/DelayWhenExtension/delayWhen.html) +- [dematerialize](https://pub.dev/documentation/rxdart/latest/rx/DematerializeExtension/dematerialize.html) +- [distinctUnique](https://pub.dev/documentation/rxdart/latest/rx/DistinctUniqueExtension/distinctUnique.html) +- [doOnCancel](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnCancel.html) +- [doOnData](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnData.html) +- [doOnDone](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnDone.html) +- [doOnEach](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnEach.html) +- [doOnError](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnError.html) +- [doOnListen](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnListen.html) +- [doOnPause](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnPause.html) +- [doOnResume](https://pub.dev/documentation/rxdart/latest/rx/DoExtensions/doOnResume.html) +- [endWith](https://pub.dev/documentation/rxdart/latest/rx/EndWithExtension/endWith.html) +- [endWithMany](https://pub.dev/documentation/rxdart/latest/rx/EndWithManyExtension/endWithMany.html) +- [exhaustMap](https://pub.dev/documentation/rxdart/latest/rx/ExhaustMapExtension/exhaustMap.html) +- [flatMap](https://pub.dev/documentation/rxdart/latest/rx/FlatMapExtension/flatMap.html) +- [flatMapIterable](https://pub.dev/documentation/rxdart/latest/rx/FlatMapExtension/flatMapIterable.html) +- [groupBy](https://pub.dev/documentation/rxdart/latest/rx/GroupByExtension/groupBy.html) +- [interval](https://pub.dev/documentation/rxdart/latest/rx/IntervalExtension/interval.html) +- [mapNotNull](https://pub.dev/documentation/rxdart/latest/rx/MapNotNullExtension/mapNotNull.html) +- [mapTo](https://pub.dev/documentation/rxdart/latest/rx/MapToExtension/mapTo.html) +- [materialize](https://pub.dev/documentation/rxdart/latest/rx/MaterializeExtension/materialize.html) +- [max](https://pub.dev/documentation/rxdart/latest/rx/MaxExtension/max.html) +- [mergeWith](https://pub.dev/documentation/rxdart/latest/rx/MergeExtension/mergeWith.html) +- [min](https://pub.dev/documentation/rxdart/latest/rx/MinExtension/min.html) +- [onErrorResume](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorResume.html) +- [onErrorResumeNext](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorResumeNext.html) +- [onErrorReturn](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorReturn.html) +- [onErrorReturnWith](https://pub.dev/documentation/rxdart/latest/rx/OnErrorExtensions/onErrorReturnWith.html) +- [pairwise](https://pub.dev/documentation/rxdart/latest/rx/PairwiseExtension/pairwise.html) +- [sample](https://pub.dev/documentation/rxdart/latest/rx/SampleExtensions/sample.html) +- [sampleTime](https://pub.dev/documentation/rxdart/latest/rx/SampleExtensions/sampleTime.html) +- [scan](https://pub.dev/documentation/rxdart/latest/rx/ScanExtension/scan.html) +- [skipLast](https://pub.dev/documentation/rxdart/latest/rx/SkipLastExtension/skipLast.html) +- [skipUntil](https://pub.dev/documentation/rxdart/latest/rx/SkipUntilExtension/skipUntil.html) +- [startWith](https://pub.dev/documentation/rxdart/latest/rx/StartWithExtension/startWith.html) +- [startWithMany](https://pub.dev/documentation/rxdart/latest/rx/StartWithManyExtension/startWithMany.html) +- [switchIfEmpty](https://pub.dev/documentation/rxdart/latest/rx/SwitchIfEmptyExtension/switchIfEmpty.html) +- [switchMap](https://pub.dev/documentation/rxdart/latest/rx/SwitchMapExtension/switchMap.html) +- [takeLast](https://pub.dev/documentation/rxdart/latest/rx/TakeLastExtension/takeLast.html) +- [takeUntil](https://pub.dev/documentation/rxdart/latest/rx/TakeUntilExtension/takeUntil.html) +- [takeWhileInclusive](https://pub.dev/documentation/rxdart/latest/rx/TakeWhileInclusiveExtension/takeWhileInclusive.html) +- [throttle](https://pub.dev/documentation/rxdart/latest/rx/ThrottleExtensions/throttle.html) +- [throttleTime](https://pub.dev/documentation/rxdart/latest/rx/ThrottleExtensions/throttleTime.html) +- [timeInterval](https://pub.dev/documentation/rxdart/latest/rx/TimeIntervalExtension/timeInterval.html) +- [timestamp](https://pub.dev/documentation/rxdart/latest/rx/TimeStampExtension/timestamp.html) +- [whereNotNull](https://pub.dev/documentation/rxdart/latest/rx/WhereNotNullExtension/whereNotNull.html) +- [whereType](https://pub.dev/documentation/rxdart/latest/rx/WhereTypeExtension/whereType.html) +- [window](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/window.html) +- [windowCount](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowCount.html) +- [windowTest](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowTest.html) +- [windowTime](https://pub.dev/documentation/rxdart/latest/rx/WindowExtensions/windowTime.html) +- [withLatestFrom](https://pub.dev/documentation/rxdart/latest/rx/WithLatestFromExtensions.html) +- [zipWith](https://pub.dev/documentation/rxdart/latest/rx/ZipWithExtension/zipWith.html) + +### Subjects + +Dart provides the [StreamController](https://api.dart.dev/stable/dart-async/StreamController-class.html) class to create and manage a Stream. RxDart offers two additional StreamControllers with additional capabilities, known as Subjects: + +- [BehaviorSubject](https://pub.dev/documentation/rxdart/latest/rx/BehaviorSubject-class.html) - A broadcast StreamController that caches the latest added value or error. When a new listener subscribes to the Stream, the latest value or error will be emitted to the listener. Furthermore, you can synchronously read the last emitted value. +- [ReplaySubject](https://pub.dev/documentation/rxdart/latest/rx/ReplaySubject-class.html) - A broadcast StreamController that caches the added values. When a new listener subscribes to the Stream, the cached values will be emitted to the listener. + +## Rx Observables vs Dart Streams + +In many situations, Streams and Observables work the same way. However, if you're used to standard Rx Observables, some features of the Stream API may surprise you. We've included a table below to help folks understand the differences. + +Additional information about the following situations can be found by reading the [Rx class documentation](https://pub.dev/documentation/rxdart/latest/rx/Rx-class.html). + +| Situation | Rx Observables | Dart Streams | +| ------------- |------------- | ------------- | +| An error is raised | Observable Terminates with Error | Error is emitted and Stream continues | +| Cold Observables | Multiple subscribers can listen to the same cold Observable, and each subscription will receive a unique Stream of data | Single subscriber only | +| Hot Observables | Yes | Yes, known as Broadcast Streams | +| Is {Publish, Behavior, Replay}Subject hot? | Yes | Yes | +| Single/Maybe/Completable ? | Yes | Yes, uses [rxdart_ext Single](https://pub.dev/documentation/rxdart_ext/latest/single/Single-class.html) (`Completable = Single, Maybe = Single`) | +| Support back pressure| Yes | Yes | +| Can emit null? | Yes, except RxJava | Yes | +| Sync by default | Yes | No | +| Can pause/resume a subscription*? | No | Yes | + +## Examples + +Web and command-line examples can be found in the `example` folder. + +### Web Examples + +In order to run the web examples, please follow these steps: + + 1. Clone this repo and enter the directory + 2. Run `dart pub get` + 3. Run `dart run build_runner serve example` + 4. Navigate to [http://localhost:8080/web/index.html](http://localhost:8080/web/index.html) in your browser + +### Command Line Examples + +In order to run the command line example, please follow these steps: + + 1. Clone this repo and enter the directory + 2. Run `pub get` + 3. Run `dart examples/fibonacci/lib/example.dart 10` + +### Flutter Example + +#### Install Flutter + +To run the flutter example, you must have Flutter installed. For installation instructions, view the online +[documentation](https://flutter.io/). + +#### Run the app + + 1. Open up an Android Emulator, the iOS Simulator, or connect an appropriate mobile device for debugging. + 2. Open up a terminal + 3. `cd` into the `examples/flutter/github_search` directory + 4. Run `flutter doctor` to ensure you have all Flutter dependencies working. + 5. Run `flutter packages get` + 6. Run `flutter run` + +## Notable References + +- [Documentation on the Dart Stream class](https://api.dart.dev/stable/dart-async/Stream-class.html) +- [Tutorial on working with Streams in Dart](https://www.dartlang.org/tutorials/language/streams) +- [ReactiveX (Rx)](https://reactivex.io/) + +## Changelog + +Refer to the [Changelog](https://github.com/ReactiveX/rxdart/blob/master/CHANGELOG.md) to get all release notes. + +## Extensions + +Check out [rxdart_ext](https://pub.dev/packages/rxdart_ext), which provides many extension methods and classes built on top of RxDart. + + diff --git a/analysis_options.yaml b/packages/rxdart/analysis_options.yaml similarity index 94% rename from analysis_options.yaml rename to packages/rxdart/analysis_options.yaml index a2030b0a9..44db74b1c 100644 --- a/analysis_options.yaml +++ b/packages/rxdart/analysis_options.yaml @@ -4,8 +4,6 @@ analyzer: language: strict-casts: true strict-raw-types: true - exclude: - - 'example/**' linter: rules: diff --git a/lib/rxdart.dart b/packages/rxdart/lib/rxdart.dart similarity index 100% rename from lib/rxdart.dart rename to packages/rxdart/lib/rxdart.dart diff --git a/lib/src/rx.dart b/packages/rxdart/lib/src/rx.dart similarity index 100% rename from lib/src/rx.dart rename to packages/rxdart/lib/src/rx.dart diff --git a/lib/src/streams/combine_latest.dart b/packages/rxdart/lib/src/streams/combine_latest.dart similarity index 100% rename from lib/src/streams/combine_latest.dart rename to packages/rxdart/lib/src/streams/combine_latest.dart diff --git a/lib/src/streams/concat.dart b/packages/rxdart/lib/src/streams/concat.dart similarity index 100% rename from lib/src/streams/concat.dart rename to packages/rxdart/lib/src/streams/concat.dart diff --git a/lib/src/streams/concat_eager.dart b/packages/rxdart/lib/src/streams/concat_eager.dart similarity index 100% rename from lib/src/streams/concat_eager.dart rename to packages/rxdart/lib/src/streams/concat_eager.dart diff --git a/lib/src/streams/connectable_stream.dart b/packages/rxdart/lib/src/streams/connectable_stream.dart similarity index 100% rename from lib/src/streams/connectable_stream.dart rename to packages/rxdart/lib/src/streams/connectable_stream.dart diff --git a/lib/src/streams/defer.dart b/packages/rxdart/lib/src/streams/defer.dart similarity index 100% rename from lib/src/streams/defer.dart rename to packages/rxdart/lib/src/streams/defer.dart diff --git a/lib/src/streams/fork_join.dart b/packages/rxdart/lib/src/streams/fork_join.dart similarity index 100% rename from lib/src/streams/fork_join.dart rename to packages/rxdart/lib/src/streams/fork_join.dart diff --git a/lib/src/streams/from_callable.dart b/packages/rxdart/lib/src/streams/from_callable.dart similarity index 100% rename from lib/src/streams/from_callable.dart rename to packages/rxdart/lib/src/streams/from_callable.dart diff --git a/lib/src/streams/merge.dart b/packages/rxdart/lib/src/streams/merge.dart similarity index 100% rename from lib/src/streams/merge.dart rename to packages/rxdart/lib/src/streams/merge.dart diff --git a/lib/src/streams/never.dart b/packages/rxdart/lib/src/streams/never.dart similarity index 100% rename from lib/src/streams/never.dart rename to packages/rxdart/lib/src/streams/never.dart diff --git a/lib/src/streams/race.dart b/packages/rxdart/lib/src/streams/race.dart similarity index 100% rename from lib/src/streams/race.dart rename to packages/rxdart/lib/src/streams/race.dart diff --git a/lib/src/streams/range.dart b/packages/rxdart/lib/src/streams/range.dart similarity index 100% rename from lib/src/streams/range.dart rename to packages/rxdart/lib/src/streams/range.dart diff --git a/lib/src/streams/repeat.dart b/packages/rxdart/lib/src/streams/repeat.dart similarity index 100% rename from lib/src/streams/repeat.dart rename to packages/rxdart/lib/src/streams/repeat.dart diff --git a/lib/src/streams/replay_stream.dart b/packages/rxdart/lib/src/streams/replay_stream.dart similarity index 100% rename from lib/src/streams/replay_stream.dart rename to packages/rxdart/lib/src/streams/replay_stream.dart diff --git a/lib/src/streams/retry.dart b/packages/rxdart/lib/src/streams/retry.dart similarity index 100% rename from lib/src/streams/retry.dart rename to packages/rxdart/lib/src/streams/retry.dart diff --git a/lib/src/streams/retry_when.dart b/packages/rxdart/lib/src/streams/retry_when.dart similarity index 100% rename from lib/src/streams/retry_when.dart rename to packages/rxdart/lib/src/streams/retry_when.dart diff --git a/lib/src/streams/sequence_equal.dart b/packages/rxdart/lib/src/streams/sequence_equal.dart similarity index 100% rename from lib/src/streams/sequence_equal.dart rename to packages/rxdart/lib/src/streams/sequence_equal.dart diff --git a/lib/src/streams/switch_latest.dart b/packages/rxdart/lib/src/streams/switch_latest.dart similarity index 100% rename from lib/src/streams/switch_latest.dart rename to packages/rxdart/lib/src/streams/switch_latest.dart diff --git a/lib/src/streams/timer.dart b/packages/rxdart/lib/src/streams/timer.dart similarity index 100% rename from lib/src/streams/timer.dart rename to packages/rxdart/lib/src/streams/timer.dart diff --git a/lib/src/streams/using.dart b/packages/rxdart/lib/src/streams/using.dart similarity index 100% rename from lib/src/streams/using.dart rename to packages/rxdart/lib/src/streams/using.dart diff --git a/lib/src/streams/value_stream.dart b/packages/rxdart/lib/src/streams/value_stream.dart similarity index 100% rename from lib/src/streams/value_stream.dart rename to packages/rxdart/lib/src/streams/value_stream.dart diff --git a/lib/src/streams/zip.dart b/packages/rxdart/lib/src/streams/zip.dart similarity index 100% rename from lib/src/streams/zip.dart rename to packages/rxdart/lib/src/streams/zip.dart diff --git a/lib/src/subjects/behavior_subject.dart b/packages/rxdart/lib/src/subjects/behavior_subject.dart similarity index 100% rename from lib/src/subjects/behavior_subject.dart rename to packages/rxdart/lib/src/subjects/behavior_subject.dart diff --git a/lib/src/subjects/publish_subject.dart b/packages/rxdart/lib/src/subjects/publish_subject.dart similarity index 100% rename from lib/src/subjects/publish_subject.dart rename to packages/rxdart/lib/src/subjects/publish_subject.dart diff --git a/lib/src/subjects/replay_subject.dart b/packages/rxdart/lib/src/subjects/replay_subject.dart similarity index 100% rename from lib/src/subjects/replay_subject.dart rename to packages/rxdart/lib/src/subjects/replay_subject.dart diff --git a/lib/src/subjects/subject.dart b/packages/rxdart/lib/src/subjects/subject.dart similarity index 100% rename from lib/src/subjects/subject.dart rename to packages/rxdart/lib/src/subjects/subject.dart diff --git a/lib/src/transformers/backpressure/backpressure.dart b/packages/rxdart/lib/src/transformers/backpressure/backpressure.dart similarity index 100% rename from lib/src/transformers/backpressure/backpressure.dart rename to packages/rxdart/lib/src/transformers/backpressure/backpressure.dart diff --git a/lib/src/transformers/backpressure/buffer.dart b/packages/rxdart/lib/src/transformers/backpressure/buffer.dart similarity index 100% rename from lib/src/transformers/backpressure/buffer.dart rename to packages/rxdart/lib/src/transformers/backpressure/buffer.dart diff --git a/lib/src/transformers/backpressure/debounce.dart b/packages/rxdart/lib/src/transformers/backpressure/debounce.dart similarity index 100% rename from lib/src/transformers/backpressure/debounce.dart rename to packages/rxdart/lib/src/transformers/backpressure/debounce.dart diff --git a/lib/src/transformers/backpressure/pairwise.dart b/packages/rxdart/lib/src/transformers/backpressure/pairwise.dart similarity index 100% rename from lib/src/transformers/backpressure/pairwise.dart rename to packages/rxdart/lib/src/transformers/backpressure/pairwise.dart diff --git a/lib/src/transformers/backpressure/sample.dart b/packages/rxdart/lib/src/transformers/backpressure/sample.dart similarity index 100% rename from lib/src/transformers/backpressure/sample.dart rename to packages/rxdart/lib/src/transformers/backpressure/sample.dart diff --git a/lib/src/transformers/backpressure/throttle.dart b/packages/rxdart/lib/src/transformers/backpressure/throttle.dart similarity index 100% rename from lib/src/transformers/backpressure/throttle.dart rename to packages/rxdart/lib/src/transformers/backpressure/throttle.dart diff --git a/lib/src/transformers/backpressure/window.dart b/packages/rxdart/lib/src/transformers/backpressure/window.dart similarity index 100% rename from lib/src/transformers/backpressure/window.dart rename to packages/rxdart/lib/src/transformers/backpressure/window.dart diff --git a/lib/src/transformers/default_if_empty.dart b/packages/rxdart/lib/src/transformers/default_if_empty.dart similarity index 100% rename from lib/src/transformers/default_if_empty.dart rename to packages/rxdart/lib/src/transformers/default_if_empty.dart diff --git a/lib/src/transformers/delay.dart b/packages/rxdart/lib/src/transformers/delay.dart similarity index 100% rename from lib/src/transformers/delay.dart rename to packages/rxdart/lib/src/transformers/delay.dart diff --git a/lib/src/transformers/delay_when.dart b/packages/rxdart/lib/src/transformers/delay_when.dart similarity index 100% rename from lib/src/transformers/delay_when.dart rename to packages/rxdart/lib/src/transformers/delay_when.dart diff --git a/lib/src/transformers/dematerialize.dart b/packages/rxdart/lib/src/transformers/dematerialize.dart similarity index 100% rename from lib/src/transformers/dematerialize.dart rename to packages/rxdart/lib/src/transformers/dematerialize.dart diff --git a/lib/src/transformers/distinct_unique.dart b/packages/rxdart/lib/src/transformers/distinct_unique.dart similarity index 100% rename from lib/src/transformers/distinct_unique.dart rename to packages/rxdart/lib/src/transformers/distinct_unique.dart diff --git a/lib/src/transformers/do.dart b/packages/rxdart/lib/src/transformers/do.dart similarity index 100% rename from lib/src/transformers/do.dart rename to packages/rxdart/lib/src/transformers/do.dart diff --git a/lib/src/transformers/end_with.dart b/packages/rxdart/lib/src/transformers/end_with.dart similarity index 100% rename from lib/src/transformers/end_with.dart rename to packages/rxdart/lib/src/transformers/end_with.dart diff --git a/lib/src/transformers/end_with_many.dart b/packages/rxdart/lib/src/transformers/end_with_many.dart similarity index 100% rename from lib/src/transformers/end_with_many.dart rename to packages/rxdart/lib/src/transformers/end_with_many.dart diff --git a/lib/src/transformers/exhaust_map.dart b/packages/rxdart/lib/src/transformers/exhaust_map.dart similarity index 100% rename from lib/src/transformers/exhaust_map.dart rename to packages/rxdart/lib/src/transformers/exhaust_map.dart diff --git a/lib/src/transformers/flat_map.dart b/packages/rxdart/lib/src/transformers/flat_map.dart similarity index 100% rename from lib/src/transformers/flat_map.dart rename to packages/rxdart/lib/src/transformers/flat_map.dart diff --git a/lib/src/transformers/group_by.dart b/packages/rxdart/lib/src/transformers/group_by.dart similarity index 100% rename from lib/src/transformers/group_by.dart rename to packages/rxdart/lib/src/transformers/group_by.dart diff --git a/lib/src/transformers/ignore_elements.dart b/packages/rxdart/lib/src/transformers/ignore_elements.dart similarity index 100% rename from lib/src/transformers/ignore_elements.dart rename to packages/rxdart/lib/src/transformers/ignore_elements.dart diff --git a/lib/src/transformers/interval.dart b/packages/rxdart/lib/src/transformers/interval.dart similarity index 100% rename from lib/src/transformers/interval.dart rename to packages/rxdart/lib/src/transformers/interval.dart diff --git a/lib/src/transformers/map_not_null.dart b/packages/rxdart/lib/src/transformers/map_not_null.dart similarity index 100% rename from lib/src/transformers/map_not_null.dart rename to packages/rxdart/lib/src/transformers/map_not_null.dart diff --git a/lib/src/transformers/map_to.dart b/packages/rxdart/lib/src/transformers/map_to.dart similarity index 100% rename from lib/src/transformers/map_to.dart rename to packages/rxdart/lib/src/transformers/map_to.dart diff --git a/lib/src/transformers/materialize.dart b/packages/rxdart/lib/src/transformers/materialize.dart similarity index 100% rename from lib/src/transformers/materialize.dart rename to packages/rxdart/lib/src/transformers/materialize.dart diff --git a/lib/src/transformers/max.dart b/packages/rxdart/lib/src/transformers/max.dart similarity index 100% rename from lib/src/transformers/max.dart rename to packages/rxdart/lib/src/transformers/max.dart diff --git a/lib/src/transformers/min.dart b/packages/rxdart/lib/src/transformers/min.dart similarity index 100% rename from lib/src/transformers/min.dart rename to packages/rxdart/lib/src/transformers/min.dart diff --git a/lib/src/transformers/on_error_resume.dart b/packages/rxdart/lib/src/transformers/on_error_resume.dart similarity index 100% rename from lib/src/transformers/on_error_resume.dart rename to packages/rxdart/lib/src/transformers/on_error_resume.dart diff --git a/lib/src/transformers/scan.dart b/packages/rxdart/lib/src/transformers/scan.dart similarity index 100% rename from lib/src/transformers/scan.dart rename to packages/rxdart/lib/src/transformers/scan.dart diff --git a/lib/src/transformers/skip_last.dart b/packages/rxdart/lib/src/transformers/skip_last.dart similarity index 100% rename from lib/src/transformers/skip_last.dart rename to packages/rxdart/lib/src/transformers/skip_last.dart diff --git a/lib/src/transformers/skip_until.dart b/packages/rxdart/lib/src/transformers/skip_until.dart similarity index 100% rename from lib/src/transformers/skip_until.dart rename to packages/rxdart/lib/src/transformers/skip_until.dart diff --git a/lib/src/transformers/start_with.dart b/packages/rxdart/lib/src/transformers/start_with.dart similarity index 100% rename from lib/src/transformers/start_with.dart rename to packages/rxdart/lib/src/transformers/start_with.dart diff --git a/lib/src/transformers/start_with_error.dart b/packages/rxdart/lib/src/transformers/start_with_error.dart similarity index 100% rename from lib/src/transformers/start_with_error.dart rename to packages/rxdart/lib/src/transformers/start_with_error.dart diff --git a/lib/src/transformers/start_with_many.dart b/packages/rxdart/lib/src/transformers/start_with_many.dart similarity index 100% rename from lib/src/transformers/start_with_many.dart rename to packages/rxdart/lib/src/transformers/start_with_many.dart diff --git a/lib/src/transformers/switch_if_empty.dart b/packages/rxdart/lib/src/transformers/switch_if_empty.dart similarity index 100% rename from lib/src/transformers/switch_if_empty.dart rename to packages/rxdart/lib/src/transformers/switch_if_empty.dart diff --git a/lib/src/transformers/switch_map.dart b/packages/rxdart/lib/src/transformers/switch_map.dart similarity index 100% rename from lib/src/transformers/switch_map.dart rename to packages/rxdart/lib/src/transformers/switch_map.dart diff --git a/lib/src/transformers/take_last.dart b/packages/rxdart/lib/src/transformers/take_last.dart similarity index 100% rename from lib/src/transformers/take_last.dart rename to packages/rxdart/lib/src/transformers/take_last.dart diff --git a/lib/src/transformers/take_until.dart b/packages/rxdart/lib/src/transformers/take_until.dart similarity index 100% rename from lib/src/transformers/take_until.dart rename to packages/rxdart/lib/src/transformers/take_until.dart diff --git a/lib/src/transformers/take_while_inclusive.dart b/packages/rxdart/lib/src/transformers/take_while_inclusive.dart similarity index 100% rename from lib/src/transformers/take_while_inclusive.dart rename to packages/rxdart/lib/src/transformers/take_while_inclusive.dart diff --git a/lib/src/transformers/time_interval.dart b/packages/rxdart/lib/src/transformers/time_interval.dart similarity index 100% rename from lib/src/transformers/time_interval.dart rename to packages/rxdart/lib/src/transformers/time_interval.dart diff --git a/lib/src/transformers/timestamp.dart b/packages/rxdart/lib/src/transformers/timestamp.dart similarity index 100% rename from lib/src/transformers/timestamp.dart rename to packages/rxdart/lib/src/transformers/timestamp.dart diff --git a/lib/src/transformers/where_not_null.dart b/packages/rxdart/lib/src/transformers/where_not_null.dart similarity index 100% rename from lib/src/transformers/where_not_null.dart rename to packages/rxdart/lib/src/transformers/where_not_null.dart diff --git a/lib/src/transformers/where_type.dart b/packages/rxdart/lib/src/transformers/where_type.dart similarity index 100% rename from lib/src/transformers/where_type.dart rename to packages/rxdart/lib/src/transformers/where_type.dart diff --git a/lib/src/transformers/with_latest_from.dart b/packages/rxdart/lib/src/transformers/with_latest_from.dart similarity index 100% rename from lib/src/transformers/with_latest_from.dart rename to packages/rxdart/lib/src/transformers/with_latest_from.dart diff --git a/lib/src/utils/collection_extensions.dart b/packages/rxdart/lib/src/utils/collection_extensions.dart similarity index 100% rename from lib/src/utils/collection_extensions.dart rename to packages/rxdart/lib/src/utils/collection_extensions.dart diff --git a/lib/src/utils/composite_subscription.dart b/packages/rxdart/lib/src/utils/composite_subscription.dart similarity index 100% rename from lib/src/utils/composite_subscription.dart rename to packages/rxdart/lib/src/utils/composite_subscription.dart diff --git a/lib/src/utils/empty.dart b/packages/rxdart/lib/src/utils/empty.dart similarity index 100% rename from lib/src/utils/empty.dart rename to packages/rxdart/lib/src/utils/empty.dart diff --git a/lib/src/utils/error_and_stacktrace.dart b/packages/rxdart/lib/src/utils/error_and_stacktrace.dart similarity index 100% rename from lib/src/utils/error_and_stacktrace.dart rename to packages/rxdart/lib/src/utils/error_and_stacktrace.dart diff --git a/lib/src/utils/forwarding_sink.dart b/packages/rxdart/lib/src/utils/forwarding_sink.dart similarity index 100% rename from lib/src/utils/forwarding_sink.dart rename to packages/rxdart/lib/src/utils/forwarding_sink.dart diff --git a/lib/src/utils/forwarding_stream.dart b/packages/rxdart/lib/src/utils/forwarding_stream.dart similarity index 100% rename from lib/src/utils/forwarding_stream.dart rename to packages/rxdart/lib/src/utils/forwarding_stream.dart diff --git a/lib/src/utils/future.dart b/packages/rxdart/lib/src/utils/future.dart similarity index 100% rename from lib/src/utils/future.dart rename to packages/rxdart/lib/src/utils/future.dart diff --git a/lib/src/utils/min_max.dart b/packages/rxdart/lib/src/utils/min_max.dart similarity index 100% rename from lib/src/utils/min_max.dart rename to packages/rxdart/lib/src/utils/min_max.dart diff --git a/lib/src/utils/notification.dart b/packages/rxdart/lib/src/utils/notification.dart similarity index 100% rename from lib/src/utils/notification.dart rename to packages/rxdart/lib/src/utils/notification.dart diff --git a/lib/src/utils/subscription.dart b/packages/rxdart/lib/src/utils/subscription.dart similarity index 100% rename from lib/src/utils/subscription.dart rename to packages/rxdart/lib/src/utils/subscription.dart diff --git a/lib/streams.dart b/packages/rxdart/lib/streams.dart similarity index 100% rename from lib/streams.dart rename to packages/rxdart/lib/streams.dart diff --git a/lib/subjects.dart b/packages/rxdart/lib/subjects.dart similarity index 100% rename from lib/subjects.dart rename to packages/rxdart/lib/subjects.dart diff --git a/lib/transformers.dart b/packages/rxdart/lib/transformers.dart similarity index 100% rename from lib/transformers.dart rename to packages/rxdart/lib/transformers.dart diff --git a/lib/utils.dart b/packages/rxdart/lib/utils.dart similarity index 100% rename from lib/utils.dart rename to packages/rxdart/lib/utils.dart diff --git a/packages/rxdart/pubspec.yaml b/packages/rxdart/pubspec.yaml new file mode 100644 index 000000000..e73f714ce --- /dev/null +++ b/packages/rxdart/pubspec.yaml @@ -0,0 +1,23 @@ +name: rxdart +version: 0.28.0-dev.2 +description: > + RxDart is an implementation of the popular ReactiveX api for asynchronous + programming, leveraging the native Dart Streams api. +repository: https://github.com/ReactiveX/rxdart + +topics: + - rxdart + - reactive-programming + - streams + - observables + - rx + +environment: + sdk: '>=2.12.0 <4.0.0' + +dev_dependencies: + build_runner: ^2.1.2 + build_web_compilers: ^3.0.0 + lints: ^1.0.1 + stack_trace: ^1.10.0 + test: ^1.17.12 diff --git a/test/rxdart_test.dart b/packages/rxdart/test/rxdart_test.dart similarity index 100% rename from test/rxdart_test.dart rename to packages/rxdart/test/rxdart_test.dart diff --git a/test/streams/combine_latest_test.dart b/packages/rxdart/test/streams/combine_latest_test.dart similarity index 100% rename from test/streams/combine_latest_test.dart rename to packages/rxdart/test/streams/combine_latest_test.dart diff --git a/test/streams/concat_eager_test.dart b/packages/rxdart/test/streams/concat_eager_test.dart similarity index 100% rename from test/streams/concat_eager_test.dart rename to packages/rxdart/test/streams/concat_eager_test.dart diff --git a/test/streams/concat_test.dart b/packages/rxdart/test/streams/concat_test.dart similarity index 100% rename from test/streams/concat_test.dart rename to packages/rxdart/test/streams/concat_test.dart diff --git a/test/streams/defer_test.dart b/packages/rxdart/test/streams/defer_test.dart similarity index 100% rename from test/streams/defer_test.dart rename to packages/rxdart/test/streams/defer_test.dart diff --git a/test/streams/fork_join_test.dart b/packages/rxdart/test/streams/fork_join_test.dart similarity index 100% rename from test/streams/fork_join_test.dart rename to packages/rxdart/test/streams/fork_join_test.dart diff --git a/test/streams/from_callable_test.dart b/packages/rxdart/test/streams/from_callable_test.dart similarity index 100% rename from test/streams/from_callable_test.dart rename to packages/rxdart/test/streams/from_callable_test.dart diff --git a/test/streams/merge_test.dart b/packages/rxdart/test/streams/merge_test.dart similarity index 100% rename from test/streams/merge_test.dart rename to packages/rxdart/test/streams/merge_test.dart diff --git a/test/streams/never_test.dart b/packages/rxdart/test/streams/never_test.dart similarity index 100% rename from test/streams/never_test.dart rename to packages/rxdart/test/streams/never_test.dart diff --git a/test/streams/publish_connectable_stream_test.dart b/packages/rxdart/test/streams/publish_connectable_stream_test.dart similarity index 100% rename from test/streams/publish_connectable_stream_test.dart rename to packages/rxdart/test/streams/publish_connectable_stream_test.dart diff --git a/test/streams/race_test.dart b/packages/rxdart/test/streams/race_test.dart similarity index 100% rename from test/streams/race_test.dart rename to packages/rxdart/test/streams/race_test.dart diff --git a/test/streams/range_test.dart b/packages/rxdart/test/streams/range_test.dart similarity index 100% rename from test/streams/range_test.dart rename to packages/rxdart/test/streams/range_test.dart diff --git a/test/streams/repeat_test.dart b/packages/rxdart/test/streams/repeat_test.dart similarity index 100% rename from test/streams/repeat_test.dart rename to packages/rxdart/test/streams/repeat_test.dart diff --git a/test/streams/replay_connectable_stream_test.dart b/packages/rxdart/test/streams/replay_connectable_stream_test.dart similarity index 100% rename from test/streams/replay_connectable_stream_test.dart rename to packages/rxdart/test/streams/replay_connectable_stream_test.dart diff --git a/test/streams/retry_test.dart b/packages/rxdart/test/streams/retry_test.dart similarity index 100% rename from test/streams/retry_test.dart rename to packages/rxdart/test/streams/retry_test.dart diff --git a/test/streams/retry_when_test.dart b/packages/rxdart/test/streams/retry_when_test.dart similarity index 100% rename from test/streams/retry_when_test.dart rename to packages/rxdart/test/streams/retry_when_test.dart diff --git a/test/streams/sequence_equals_test.dart b/packages/rxdart/test/streams/sequence_equals_test.dart similarity index 100% rename from test/streams/sequence_equals_test.dart rename to packages/rxdart/test/streams/sequence_equals_test.dart diff --git a/test/streams/switch_latest_test.dart b/packages/rxdart/test/streams/switch_latest_test.dart similarity index 100% rename from test/streams/switch_latest_test.dart rename to packages/rxdart/test/streams/switch_latest_test.dart diff --git a/test/streams/timer_test.dart b/packages/rxdart/test/streams/timer_test.dart similarity index 100% rename from test/streams/timer_test.dart rename to packages/rxdart/test/streams/timer_test.dart diff --git a/test/streams/using_test.dart b/packages/rxdart/test/streams/using_test.dart similarity index 100% rename from test/streams/using_test.dart rename to packages/rxdart/test/streams/using_test.dart diff --git a/test/streams/value_connectable_stream_test.dart b/packages/rxdart/test/streams/value_connectable_stream_test.dart similarity index 100% rename from test/streams/value_connectable_stream_test.dart rename to packages/rxdart/test/streams/value_connectable_stream_test.dart diff --git a/test/streams/zip_test.dart b/packages/rxdart/test/streams/zip_test.dart similarity index 100% rename from test/streams/zip_test.dart rename to packages/rxdart/test/streams/zip_test.dart diff --git a/test/subject/behavior_subject_test.dart b/packages/rxdart/test/subject/behavior_subject_test.dart similarity index 100% rename from test/subject/behavior_subject_test.dart rename to packages/rxdart/test/subject/behavior_subject_test.dart diff --git a/test/subject/publish_subject_test.dart b/packages/rxdart/test/subject/publish_subject_test.dart similarity index 100% rename from test/subject/publish_subject_test.dart rename to packages/rxdart/test/subject/publish_subject_test.dart diff --git a/test/subject/replay_subject_test.dart b/packages/rxdart/test/subject/replay_subject_test.dart similarity index 100% rename from test/subject/replay_subject_test.dart rename to packages/rxdart/test/subject/replay_subject_test.dart diff --git a/test/transformers/backpressure/buffer_count_test.dart b/packages/rxdart/test/transformers/backpressure/buffer_count_test.dart similarity index 100% rename from test/transformers/backpressure/buffer_count_test.dart rename to packages/rxdart/test/transformers/backpressure/buffer_count_test.dart diff --git a/test/transformers/backpressure/buffer_test.dart b/packages/rxdart/test/transformers/backpressure/buffer_test.dart similarity index 100% rename from test/transformers/backpressure/buffer_test.dart rename to packages/rxdart/test/transformers/backpressure/buffer_test.dart diff --git a/test/transformers/backpressure/buffer_test_test.dart b/packages/rxdart/test/transformers/backpressure/buffer_test_test.dart similarity index 100% rename from test/transformers/backpressure/buffer_test_test.dart rename to packages/rxdart/test/transformers/backpressure/buffer_test_test.dart diff --git a/test/transformers/backpressure/buffer_time_test.dart b/packages/rxdart/test/transformers/backpressure/buffer_time_test.dart similarity index 100% rename from test/transformers/backpressure/buffer_time_test.dart rename to packages/rxdart/test/transformers/backpressure/buffer_time_test.dart diff --git a/test/transformers/backpressure/debounce_test.dart b/packages/rxdart/test/transformers/backpressure/debounce_test.dart similarity index 100% rename from test/transformers/backpressure/debounce_test.dart rename to packages/rxdart/test/transformers/backpressure/debounce_test.dart diff --git a/test/transformers/backpressure/debounce_time_test.dart b/packages/rxdart/test/transformers/backpressure/debounce_time_test.dart similarity index 100% rename from test/transformers/backpressure/debounce_time_test.dart rename to packages/rxdart/test/transformers/backpressure/debounce_time_test.dart diff --git a/test/transformers/backpressure/pairwise_test.dart b/packages/rxdart/test/transformers/backpressure/pairwise_test.dart similarity index 100% rename from test/transformers/backpressure/pairwise_test.dart rename to packages/rxdart/test/transformers/backpressure/pairwise_test.dart diff --git a/test/transformers/backpressure/sample_test.dart b/packages/rxdart/test/transformers/backpressure/sample_test.dart similarity index 100% rename from test/transformers/backpressure/sample_test.dart rename to packages/rxdart/test/transformers/backpressure/sample_test.dart diff --git a/test/transformers/backpressure/sample_time_test.dart b/packages/rxdart/test/transformers/backpressure/sample_time_test.dart similarity index 100% rename from test/transformers/backpressure/sample_time_test.dart rename to packages/rxdart/test/transformers/backpressure/sample_time_test.dart diff --git a/test/transformers/backpressure/throttle_test.dart b/packages/rxdart/test/transformers/backpressure/throttle_test.dart similarity index 100% rename from test/transformers/backpressure/throttle_test.dart rename to packages/rxdart/test/transformers/backpressure/throttle_test.dart diff --git a/test/transformers/backpressure/throttle_time_test.dart b/packages/rxdart/test/transformers/backpressure/throttle_time_test.dart similarity index 100% rename from test/transformers/backpressure/throttle_time_test.dart rename to packages/rxdart/test/transformers/backpressure/throttle_time_test.dart diff --git a/test/transformers/backpressure/window_count_test.dart b/packages/rxdart/test/transformers/backpressure/window_count_test.dart similarity index 100% rename from test/transformers/backpressure/window_count_test.dart rename to packages/rxdart/test/transformers/backpressure/window_count_test.dart diff --git a/test/transformers/backpressure/window_test.dart b/packages/rxdart/test/transformers/backpressure/window_test.dart similarity index 100% rename from test/transformers/backpressure/window_test.dart rename to packages/rxdart/test/transformers/backpressure/window_test.dart diff --git a/test/transformers/backpressure/window_test_test.dart b/packages/rxdart/test/transformers/backpressure/window_test_test.dart similarity index 100% rename from test/transformers/backpressure/window_test_test.dart rename to packages/rxdart/test/transformers/backpressure/window_test_test.dart diff --git a/test/transformers/backpressure/window_time_test.dart b/packages/rxdart/test/transformers/backpressure/window_time_test.dart similarity index 100% rename from test/transformers/backpressure/window_time_test.dart rename to packages/rxdart/test/transformers/backpressure/window_time_test.dart diff --git a/test/transformers/concat_with_test.dart b/packages/rxdart/test/transformers/concat_with_test.dart similarity index 100% rename from test/transformers/concat_with_test.dart rename to packages/rxdart/test/transformers/concat_with_test.dart diff --git a/test/transformers/default_if_empty_test.dart b/packages/rxdart/test/transformers/default_if_empty_test.dart similarity index 100% rename from test/transformers/default_if_empty_test.dart rename to packages/rxdart/test/transformers/default_if_empty_test.dart diff --git a/test/transformers/delay_test.dart b/packages/rxdart/test/transformers/delay_test.dart similarity index 100% rename from test/transformers/delay_test.dart rename to packages/rxdart/test/transformers/delay_test.dart diff --git a/test/transformers/delay_when_test.dart b/packages/rxdart/test/transformers/delay_when_test.dart similarity index 100% rename from test/transformers/delay_when_test.dart rename to packages/rxdart/test/transformers/delay_when_test.dart diff --git a/test/transformers/dematerialize_test.dart b/packages/rxdart/test/transformers/dematerialize_test.dart similarity index 100% rename from test/transformers/dematerialize_test.dart rename to packages/rxdart/test/transformers/dematerialize_test.dart diff --git a/test/transformers/distinct_test.dart b/packages/rxdart/test/transformers/distinct_test.dart similarity index 100% rename from test/transformers/distinct_test.dart rename to packages/rxdart/test/transformers/distinct_test.dart diff --git a/test/transformers/distinct_unique_test.dart b/packages/rxdart/test/transformers/distinct_unique_test.dart similarity index 100% rename from test/transformers/distinct_unique_test.dart rename to packages/rxdart/test/transformers/distinct_unique_test.dart diff --git a/test/transformers/do_test.dart b/packages/rxdart/test/transformers/do_test.dart similarity index 100% rename from test/transformers/do_test.dart rename to packages/rxdart/test/transformers/do_test.dart diff --git a/test/transformers/end_with_many_test.dart b/packages/rxdart/test/transformers/end_with_many_test.dart similarity index 100% rename from test/transformers/end_with_many_test.dart rename to packages/rxdart/test/transformers/end_with_many_test.dart diff --git a/test/transformers/end_with_test.dart b/packages/rxdart/test/transformers/end_with_test.dart similarity index 100% rename from test/transformers/end_with_test.dart rename to packages/rxdart/test/transformers/end_with_test.dart diff --git a/test/transformers/exhaust_map_test.dart b/packages/rxdart/test/transformers/exhaust_map_test.dart similarity index 100% rename from test/transformers/exhaust_map_test.dart rename to packages/rxdart/test/transformers/exhaust_map_test.dart diff --git a/test/transformers/flat_map_iterable_test.dart b/packages/rxdart/test/transformers/flat_map_iterable_test.dart similarity index 100% rename from test/transformers/flat_map_iterable_test.dart rename to packages/rxdart/test/transformers/flat_map_iterable_test.dart diff --git a/test/transformers/flat_map_test.dart b/packages/rxdart/test/transformers/flat_map_test.dart similarity index 100% rename from test/transformers/flat_map_test.dart rename to packages/rxdart/test/transformers/flat_map_test.dart diff --git a/test/transformers/group_by_test.dart b/packages/rxdart/test/transformers/group_by_test.dart similarity index 100% rename from test/transformers/group_by_test.dart rename to packages/rxdart/test/transformers/group_by_test.dart diff --git a/test/transformers/ignore_elements_test.dart b/packages/rxdart/test/transformers/ignore_elements_test.dart similarity index 100% rename from test/transformers/ignore_elements_test.dart rename to packages/rxdart/test/transformers/ignore_elements_test.dart diff --git a/test/transformers/interval_test.dart b/packages/rxdart/test/transformers/interval_test.dart similarity index 100% rename from test/transformers/interval_test.dart rename to packages/rxdart/test/transformers/interval_test.dart diff --git a/test/transformers/join_test.dart b/packages/rxdart/test/transformers/join_test.dart similarity index 100% rename from test/transformers/join_test.dart rename to packages/rxdart/test/transformers/join_test.dart diff --git a/test/transformers/map_not_null_test.dart b/packages/rxdart/test/transformers/map_not_null_test.dart similarity index 100% rename from test/transformers/map_not_null_test.dart rename to packages/rxdart/test/transformers/map_not_null_test.dart diff --git a/test/transformers/map_to_test.dart b/packages/rxdart/test/transformers/map_to_test.dart similarity index 100% rename from test/transformers/map_to_test.dart rename to packages/rxdart/test/transformers/map_to_test.dart diff --git a/test/transformers/materialize_test.dart b/packages/rxdart/test/transformers/materialize_test.dart similarity index 100% rename from test/transformers/materialize_test.dart rename to packages/rxdart/test/transformers/materialize_test.dart diff --git a/test/transformers/max_test.dart b/packages/rxdart/test/transformers/max_test.dart similarity index 100% rename from test/transformers/max_test.dart rename to packages/rxdart/test/transformers/max_test.dart diff --git a/test/transformers/merge_with_test.dart b/packages/rxdart/test/transformers/merge_with_test.dart similarity index 100% rename from test/transformers/merge_with_test.dart rename to packages/rxdart/test/transformers/merge_with_test.dart diff --git a/test/transformers/min_test.dart b/packages/rxdart/test/transformers/min_test.dart similarity index 100% rename from test/transformers/min_test.dart rename to packages/rxdart/test/transformers/min_test.dart diff --git a/test/transformers/on_error_resume_test.dart b/packages/rxdart/test/transformers/on_error_resume_test.dart similarity index 100% rename from test/transformers/on_error_resume_test.dart rename to packages/rxdart/test/transformers/on_error_resume_test.dart diff --git a/test/transformers/on_error_return_test.dart b/packages/rxdart/test/transformers/on_error_return_test.dart similarity index 100% rename from test/transformers/on_error_return_test.dart rename to packages/rxdart/test/transformers/on_error_return_test.dart diff --git a/test/transformers/on_error_return_with_test.dart b/packages/rxdart/test/transformers/on_error_return_with_test.dart similarity index 100% rename from test/transformers/on_error_return_with_test.dart rename to packages/rxdart/test/transformers/on_error_return_with_test.dart diff --git a/test/transformers/scan_test.dart b/packages/rxdart/test/transformers/scan_test.dart similarity index 100% rename from test/transformers/scan_test.dart rename to packages/rxdart/test/transformers/scan_test.dart diff --git a/test/transformers/skip_last_test.dart b/packages/rxdart/test/transformers/skip_last_test.dart similarity index 100% rename from test/transformers/skip_last_test.dart rename to packages/rxdart/test/transformers/skip_last_test.dart diff --git a/test/transformers/skip_until_test.dart b/packages/rxdart/test/transformers/skip_until_test.dart similarity index 100% rename from test/transformers/skip_until_test.dart rename to packages/rxdart/test/transformers/skip_until_test.dart diff --git a/test/transformers/start_with_error_test.dart b/packages/rxdart/test/transformers/start_with_error_test.dart similarity index 100% rename from test/transformers/start_with_error_test.dart rename to packages/rxdart/test/transformers/start_with_error_test.dart diff --git a/test/transformers/start_with_many_test.dart b/packages/rxdart/test/transformers/start_with_many_test.dart similarity index 100% rename from test/transformers/start_with_many_test.dart rename to packages/rxdart/test/transformers/start_with_many_test.dart diff --git a/test/transformers/start_with_test.dart b/packages/rxdart/test/transformers/start_with_test.dart similarity index 100% rename from test/transformers/start_with_test.dart rename to packages/rxdart/test/transformers/start_with_test.dart diff --git a/test/transformers/switch_if_empty_test.dart b/packages/rxdart/test/transformers/switch_if_empty_test.dart similarity index 100% rename from test/transformers/switch_if_empty_test.dart rename to packages/rxdart/test/transformers/switch_if_empty_test.dart diff --git a/test/transformers/switch_map_test.dart b/packages/rxdart/test/transformers/switch_map_test.dart similarity index 100% rename from test/transformers/switch_map_test.dart rename to packages/rxdart/test/transformers/switch_map_test.dart diff --git a/test/transformers/take_last_test.dart b/packages/rxdart/test/transformers/take_last_test.dart similarity index 100% rename from test/transformers/take_last_test.dart rename to packages/rxdart/test/transformers/take_last_test.dart diff --git a/test/transformers/take_until_test.dart b/packages/rxdart/test/transformers/take_until_test.dart similarity index 100% rename from test/transformers/take_until_test.dart rename to packages/rxdart/test/transformers/take_until_test.dart diff --git a/test/transformers/take_while_inclusive_test.dart b/packages/rxdart/test/transformers/take_while_inclusive_test.dart similarity index 100% rename from test/transformers/take_while_inclusive_test.dart rename to packages/rxdart/test/transformers/take_while_inclusive_test.dart diff --git a/test/transformers/time_interval_test.dart b/packages/rxdart/test/transformers/time_interval_test.dart similarity index 100% rename from test/transformers/time_interval_test.dart rename to packages/rxdart/test/transformers/time_interval_test.dart diff --git a/test/transformers/timeout_test.dart b/packages/rxdart/test/transformers/timeout_test.dart similarity index 100% rename from test/transformers/timeout_test.dart rename to packages/rxdart/test/transformers/timeout_test.dart diff --git a/test/transformers/timestamp_test.dart b/packages/rxdart/test/transformers/timestamp_test.dart similarity index 100% rename from test/transformers/timestamp_test.dart rename to packages/rxdart/test/transformers/timestamp_test.dart diff --git a/test/transformers/where_not_null_test.dart b/packages/rxdart/test/transformers/where_not_null_test.dart similarity index 100% rename from test/transformers/where_not_null_test.dart rename to packages/rxdart/test/transformers/where_not_null_test.dart diff --git a/test/transformers/where_type_test.dart b/packages/rxdart/test/transformers/where_type_test.dart similarity index 100% rename from test/transformers/where_type_test.dart rename to packages/rxdart/test/transformers/where_type_test.dart diff --git a/test/transformers/with_latest_from_test.dart b/packages/rxdart/test/transformers/with_latest_from_test.dart similarity index 100% rename from test/transformers/with_latest_from_test.dart rename to packages/rxdart/test/transformers/with_latest_from_test.dart diff --git a/test/transformers/zip_with_test.dart b/packages/rxdart/test/transformers/zip_with_test.dart similarity index 100% rename from test/transformers/zip_with_test.dart rename to packages/rxdart/test/transformers/zip_with_test.dart diff --git a/test/utils.dart b/packages/rxdart/test/utils.dart similarity index 100% rename from test/utils.dart rename to packages/rxdart/test/utils.dart diff --git a/test/utils/composite_subscription_test.dart b/packages/rxdart/test/utils/composite_subscription_test.dart similarity index 100% rename from test/utils/composite_subscription_test.dart rename to packages/rxdart/test/utils/composite_subscription_test.dart diff --git a/test/utils/notification_test.dart b/packages/rxdart/test/utils/notification_test.dart similarity index 100% rename from test/utils/notification_test.dart rename to packages/rxdart/test/utils/notification_test.dart diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 000000000..3d1d97eda --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,325 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + ansi_styles: + dependency: transitive + description: + name: ansi_styles + sha256: "9c656cc12b3c27b17dd982b2cc5c0cfdfbdabd7bc8f3ae5e8542d9867b47ce8a" + url: "https://pub.dev" + source: hosted + version: "0.3.2+1" + args: + dependency: transitive + description: + name: args + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + charcode: + dependency: transitive + description: + name: charcode + sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + url: "https://pub.dev" + source: hosted + version: "1.3.1" + cli_launcher: + dependency: transitive + description: + name: cli_launcher + sha256: "5e7e0282b79e8642edd6510ee468ae2976d847a0a29b3916e85f5fa1bfe24005" + url: "https://pub.dev" + source: hosted + version: "0.3.1" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + url: "https://pub.dev" + source: hosted + version: "0.4.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + conventional_commit: + dependency: transitive + description: + name: conventional_commit + sha256: dec15ad1118f029c618651a4359eb9135d8b88f761aa24e4016d061cd45948f2 + url: "https://pub.dev" + source: hosted + version: "0.6.0+1" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: transitive + description: + name: http + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + lints: + dependency: "direct dev" + description: + name: lints + sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c + url: "https://pub.dev" + source: hosted + version: "1.0.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + melos: + dependency: "direct dev" + description: + name: melos + sha256: f9a6fc4f4842b7edfca2e00ab3b5b06928584f24bdc3d776ab0b30be7d599450 + url: "https://pub.dev" + source: hosted + version: "6.0.0" + meta: + dependency: transitive + description: + name: meta + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + url: "https://pub.dev" + source: hosted + version: "1.15.0" + mustache_template: + dependency: transitive + description: + name: mustache_template + sha256: a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c + url: "https://pub.dev" + source: hosted + version: "2.0.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + platform: + dependency: transitive + description: + name: platform + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + process: + dependency: transitive + description: + name: process + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + url: "https://pub.dev" + source: hosted + version: "5.0.2" + prompts: + dependency: transitive + description: + name: prompts + sha256: "3773b845e85a849f01e793c4fc18a45d52d7783b4cb6c0569fad19f9d0a774a1" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pub_updater: + dependency: transitive + description: + name: pub_updater + sha256: "54e8dc865349059ebe7f163d6acce7c89eb958b8047e6d6e80ce93b13d7c9e60" + url: "https://pub.dev" + source: hosted + version: "0.4.0" + pubspec: + dependency: transitive + description: + name: pubspec + sha256: f534a50a2b4d48dc3bc0ec147c8bd7c304280fff23b153f3f11803c4d49d927e + url: "https://pub.dev" + source: hosted + version: "2.3.0" + quiver: + dependency: transitive + description: + name: quiver + sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 + url: "https://pub.dev" + source: hosted + version: "3.2.1" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "2419f20b0c8677b2d67c8ac4d1ac7372d862dc6c460cdbb052b40155408cd794" + url: "https://pub.dev" + source: hosted + version: "0.7.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + uri: + dependency: transitive + description: + name: uri + sha256: "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" + yaml_edit: + dependency: transitive + description: + name: yaml_edit + sha256: e9c1a3543d2da0db3e90270dbb1e4eebc985ee5e3ffe468d83224472b2194a5f + url: "https://pub.dev" + source: hosted + version: "2.2.1" +sdks: + dart: ">=3.0.0 <4.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 9ffb2e674..1d427a1d2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,23 +1,9 @@ -name: rxdart -version: 0.28.0-dev.2 -description: > - RxDart is an implementation of the popular reactiveX api for asynchronous - programming, leveraging the native Dart Streams api. -repository: https://github.com/ReactiveX/rxdart - -topics: - - rxdart - - reactive-programming - - streams - - observables - - rx +name: rxdart_workspace +publish_to: none environment: sdk: '>=2.12.0 <4.0.0' dev_dependencies: - build_runner: ^2.1.2 - build_web_compilers: ^3.0.0 lints: ^1.0.1 - stack_trace: ^1.10.0 - test: ^1.17.12 + melos: ^6.0.0