From 5ceab127f475706fa9f89c790eb6dc6e5d5dff94 Mon Sep 17 00:00:00 2001 From: mirland Date: Thu, 5 Oct 2023 12:29:14 +0200 Subject: [PATCH 1/4] Dart 3 upgrade --- CHANGELOG.md | 3 + .../stock_response_internal_extensions.dart | 4 +- lib/src/implementations/factory_fetcher.dart | 2 +- lib/src/stock_response.dart | 8 +- lib/src/stock_response_extensions.dart | 13 +- pubspec.lock | 381 +++++++++--------- pubspec.yaml | 13 +- scripts/checks.sh | 8 - .../source_of_truth_with_delay.dart | 4 +- .../source_of_truth_with_error.dart | 4 +- test/stock_response_extension_test.dart | 6 +- 11 files changed, 228 insertions(+), 218 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bce57d..8e86a6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.1.0 +* Dart 3 upgrade + ## 1.0.1 * Document improvements ([#34](https://github.com/xmartlabs/stock/pull/34)) * Make SourceOfTruth non-required in the Stock constrictor ([#33](https://github.com/xmartlabs/stock/pull/33)) diff --git a/lib/src/extensions/stock_response_internal_extensions.dart b/lib/src/extensions/stock_response_internal_extensions.dart index 1c502f6..57037a0 100644 --- a/lib/src/extensions/stock_response_internal_extensions.dart +++ b/lib/src/extensions/stock_response_internal_extensions.dart @@ -1,4 +1,4 @@ -// ignore_for_file: public_member_api_docs +// ignore_for_file: public_member_api_docs, unnecessary_lambdas import 'package:stock/src/stock_response.dart'; import 'package:stock/src/stock_response_extensions.dart'; @@ -6,7 +6,7 @@ import 'package:stock/src/stock_response_extensions.dart'; extension StockResponseExtensions on StockResponse { StockResponse swapType() => when( onData: (origin, data) => StockResponse.data(origin, data as R), - onLoading: (origin) => StockResponse.loading(origin), + onLoading: StockResponse.loading, onError: (origin, error, stacktrace) => StockResponse.error(origin, error, stacktrace), ); diff --git a/lib/src/implementations/factory_fetcher.dart b/lib/src/implementations/factory_fetcher.dart index 6ec2079..58d1d94 100644 --- a/lib/src/implementations/factory_fetcher.dart +++ b/lib/src/implementations/factory_fetcher.dart @@ -14,5 +14,5 @@ class FutureFetcher extends FactoryFetcher { } class StreamFetcher extends FactoryFetcher { - StreamFetcher(Stream Function(Key key) factory) : super(factory); + StreamFetcher(super.factory); } diff --git a/lib/src/stock_response.dart b/lib/src/stock_response.dart index b69c8c0..f7fbe6f 100644 --- a/lib/src/stock_response.dart +++ b/lib/src/stock_response.dart @@ -37,7 +37,7 @@ class StockResponse { @immutable class StockResponseLoading extends StockResponse { /// StockResponseLoading constructor - const StockResponseLoading(ResponseOrigin origin) : super._(origin); + const StockResponseLoading(super.origin) : super._(); @override String toString() => 'StockResponse<$T>.loading(origin: $origin)'; @@ -58,7 +58,7 @@ class StockResponseLoading extends StockResponse { @immutable class StockResponseData extends StockResponse { /// StockResponseData constructor - const StockResponseData(ResponseOrigin origin, this.value) : super._(origin); + const StockResponseData(super.origin, this.value) : super._(); /// The data value final T value; @@ -82,8 +82,8 @@ class StockResponseData extends StockResponse { @immutable class StockResponseError extends StockResponse { /// StockResponseError constructor - const StockResponseError(ResponseOrigin origin, this.error, [this.stackTrace]) - : super._(origin); + const StockResponseError(super.origin, this.error, [this.stackTrace]) + : super._(); /// The error final Object error; diff --git a/lib/src/stock_response_extensions.dart b/lib/src/stock_response_extensions.dart index 00efba0..7ab7984 100644 --- a/lib/src/stock_response_extensions.dart +++ b/lib/src/stock_response_extensions.dart @@ -77,10 +77,10 @@ extension StockResponseExtensions on StockResponse { /// [onLoading] or [orElse] as fallback if the response is loading, and /// [onError] or [orElse] as fallback if the response is an error. E maybeMap({ + required E Function() orElse, E Function(StockResponseLoading value)? onLoading, E Function(StockResponseData value)? onData, E Function(StockResponseError value)? onError, - required E Function() orElse, }) => map( onLoading: onLoading ?? (_) => orElse(), @@ -113,8 +113,7 @@ extension StockResponseExtensions on StockResponse { ResponseOrigin origin, Object error, StackTrace? stackTrace, - ) - onError, + ) onError, }) => map( onLoading: (value) => onLoading(value.origin), @@ -137,8 +136,7 @@ extension StockResponseExtensions on StockResponse { ResponseOrigin origin, Object error, StackTrace? stackTrace, - )? - onError, + )? onError, }) => maybeWhen( onLoading: onLoading, @@ -151,15 +149,14 @@ extension StockResponseExtensions on StockResponse { /// [onLoading] or [orElse] as fallback if the response is loading, and /// [onError] or [orElse] as fallback if the response is an error. E maybeWhen({ + required E Function(ResponseOrigin origin) orElse, E Function(ResponseOrigin origin)? onLoading, E Function(ResponseOrigin origin, T data)? onData, E Function( ResponseOrigin origin, Object error, StackTrace? stackTrace, - )? - onError, - required E Function(ResponseOrigin origin) orElse, + )? onError, }) => when( onLoading: onLoading ?? (origin) => orElse(origin), diff --git a/pubspec.lock b/pubspec.lock index 2816470..2739147 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,526 +5,545 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" source: hosted - version: "46.0.0" + version: "61.0.0" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" source: hosted - version: "4.6.0" - analyzer_plugin: - dependency: transitive - description: - name: analyzer_plugin - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.0" - ansicolor: - dependency: transitive - description: - name: ansicolor - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" + version: "5.13.0" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.1" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "4.0.0" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8" + url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.4.1" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.6" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + url: "https://pub.dev" source: hosted - version: "7.2.3" + version: "7.2.11" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + sha256: a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74 + url: "https://pub.dev" source: hosted - version: "8.4.1" + version: "8.6.3" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.3" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.7.0" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.1" coverage: dependency: transitive description: name: coverage - url: "https://pub.dartlang.org" + sha256: "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb" + url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.4" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" source: hosted - version: "3.0.2" - csslib: - dependency: transitive - description: - name: csslib - url: "https://pub.dartlang.org" - source: hosted - version: "0.17.2" - dart_code_metrics: - dependency: "direct dev" - description: - name: dart_code_metrics - url: "https://pub.dartlang.org" - source: hosted - version: "4.17.1" + version: "3.0.3" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" + url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.2" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" frontend_server_client: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "3.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" source: hosted - version: "2.1.0" - html: - dependency: transitive - description: - name: html - url: "https://pub.dartlang.org" - source: hosted - version: "0.15.0" + version: "2.3.1" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.7" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.8.1" lints: dependency: "direct dev" description: name: lints - url: "https://pub.dartlang.org" + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.1" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.2.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.16" meta: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.10.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.4" mockito: dependency: "direct dev" description: name: mockito - url: "https://pub.dartlang.org" + sha256: "7d5b53bcd556c1bc7ffbe4e4d5a19c3e112b7e925e9e172dd7c6ad0630812616" + url: "https://pub.dev" source: hosted - version: "5.3.0" + version: "5.4.2" mutex: dependency: "direct main" description: name: mutex - url: "https://pub.dartlang.org" + sha256: "03116a4e46282a671b46c12de649d72c0ed18188ffe12a8d0fc63e83f4ad88f4" + url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.1" node_preamble: dependency: transitive description: name: node_preamble - url: "https://pub.dartlang.org" + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted version: "2.1.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.2" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "1.8.3" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" source: hosted version: "1.5.1" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.4" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.3" rxdart: dependency: "direct main" description: name: rxdart - url: "https://pub.dartlang.org" + sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + url: "https://pub.dev" source: hosted - version: "0.27.5" + version: "0.27.7" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.1" shelf_packages_handler: dependency: transitive description: name: shelf_packages_handler - url: "https://pub.dartlang.org" + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" shelf_static: dependency: transitive description: name: shelf_static - url: "https://pub.dartlang.org" + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.4" source_gen: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.4.0" source_map_stack_trace: dependency: transitive description: name: source_map_stack_trace - url: "https://pub.dartlang.org" + sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" source_maps: dependency: transitive description: name: source_maps - url: "https://pub.dartlang.org" + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.10.12" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test: dependency: "direct dev" description: name: test - url: "https://pub.dartlang.org" + sha256: a20ddc0723556dc6dd56094e58ec1529196d5d7774156604cb14e8445a5a82ff + url: "https://pub.dev" source: hosted - version: "1.21.4" + version: "1.24.7" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.6.1" test_core: dependency: transitive description: name: test_core - url: "https://pub.dartlang.org" + sha256: "96382d0bc826e260b077bb496259e58bc82e90b603ab16cd5ae95dfe1dfcba8b" + url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.5.7" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.1" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.2" very_good_analysis: dependency: "direct dev" description: name: very_good_analysis - url: "https://pub.dartlang.org" + sha256: "9ae7f3a3bd5764fb021b335ca28a34f040cd0ab6eec00a1b213b445dae58a4b8" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "5.1.0" vm_service: dependency: transitive description: name: vm_service - url: "https://pub.dartlang.org" + sha256: a13d5503b4facefc515c8c587ce3cf69577a7b064a9f1220e005449cf1f64aad + url: "https://pub.dev" source: hosted - version: "9.3.0" + version: "12.0.0" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.0" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - url: "https://pub.dartlang.org" + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" source: hosted - version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.0" + version: "1.2.1" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" sdks: - dart: ">=2.17.0 <3.0.0" + dart: ">=3.0.0 <4.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index d356bd0..cf8e4d7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ repository: https://github.com/xmartlabs/stock issue_tracker: https://github.com/xmartlabs/stock/issues environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dependencies: meta: ^1.3.0 @@ -15,9 +15,8 @@ dependencies: rxdart: ^0.27.2 dev_dependencies: - build_runner: 2.2.0 - dart_code_metrics: 4.17.1 - lints: 2.0.0 - mockito: 5.3.0 - test: 1.21.4 - very_good_analysis: 3.0.1 + build_runner: 2.4.6 + lints: 2.1.1 + mockito: 5.4.2 + test: 1.24.7 + very_good_analysis: 5.1.0 diff --git a/scripts/checks.sh b/scripts/checks.sh index 3928fdd..5b13789 100755 --- a/scripts/checks.sh +++ b/scripts/checks.sh @@ -13,13 +13,5 @@ fvm dart analyze --fatal-infos || { echo -e "${RED}Linter error" ; exit 1; } echo ':: Run flutter linter ::' fvm flutter analyze --fatal-infos || { echo -e "${RED}Linter error" ; exit 1; } -result=$(dart run dart_code_metrics:metrics analyze lib --fatal-style --fatal-performance --fatal-warnings) -echo "$result" -[[ $result == '✔ no issues found!' ]] || { echo -e "${RED}Linter error" ; exit 1; } - -fvm dart run dart_code_metrics:metrics check-unused-code lib --fatal-unused || { echo -e "${RED}Linter error" ; exit 1; } - -fvm dart run dart_code_metrics:metrics check-unused-files lib --fatal-unused || { echo -e "${RED}Linter error" ; exit 1; } - echo ':: Run tests ::' fvm dart test || { echo -e "${RED}Test error" ; exit 1; } diff --git a/test/common/source_of_truth/source_of_truth_with_delay.dart b/test/common/source_of_truth/source_of_truth_with_delay.dart index 7424d03..785ae50 100644 --- a/test/common/source_of_truth/source_of_truth_with_delay.dart +++ b/test/common/source_of_truth/source_of_truth_with_delay.dart @@ -5,10 +5,10 @@ import 'cached_source_of_truth_with_default_value.dart'; class DelayedSourceOfTruth extends CachedSourceOfTruthWithDefaultValue { DelayedSourceOfTruth([ - T? cachedValue, + super.cachedValue, this.readDelayTime = const Duration(milliseconds: 100), this.writeDelayTime = const Duration(milliseconds: 100), - ]) : super(cachedValue); + ]); final Duration readDelayTime; final Duration writeDelayTime; diff --git a/test/common/source_of_truth/source_of_truth_with_error.dart b/test/common/source_of_truth/source_of_truth_with_error.dart index f06a5cd..d31ced4 100644 --- a/test/common/source_of_truth/source_of_truth_with_error.dart +++ b/test/common/source_of_truth/source_of_truth_with_error.dart @@ -5,10 +5,10 @@ import 'cached_source_of_truth_with_default_value.dart'; class SourceOfTruthWithError extends CachedSourceOfTruthWithDefaultValue { SourceOfTruthWithError( - T? cachedValue, { + super.cachedValue, { this.throwReadErrorCount = 0, this.throwWriteErrorCount = 0, - }) : super(cachedValue); + }); static final readException = Exception('Read Test Exception'); static final writeException = Exception('Write Test Exception'); diff --git a/test/stock_response_extension_test.dart b/test/stock_response_extension_test.dart index ae0a4cb..ae085bd 100644 --- a/test/stock_response_extension_test.dart +++ b/test/stock_response_extension_test.dart @@ -293,7 +293,7 @@ void main() { const StockResponseLoading(ResponseOrigin.fetcher).maybeMap( onData: (_) => mockDataCallback(), onError: (_) => mockErrorCallback(), - orElse: mockLoadingCallback, + orElse: mockLoadingCallback.call, ); verify(mockLoadingCallback()).called(1); verifyNever(mockDataCallback()); @@ -322,7 +322,7 @@ void main() { const StockResponse.data(ResponseOrigin.fetcher, 1).maybeMap( onLoading: (_) => mockLoadingCallback(), onError: (_) => mockErrorCallback(), - orElse: mockDataCallback, + orElse: mockDataCallback.call, ); verifyNever(mockLoadingCallback()); verify(mockDataCallback()).called(1); @@ -351,7 +351,7 @@ void main() { StockResponseError(ResponseOrigin.fetcher, Error()).maybeMap( onLoading: (_) => mockLoadingCallback(), onData: (_) => mockDataCallback(), - orElse: mockErrorCallback, + orElse: mockErrorCallback.call, ); verifyNever(mockLoadingCallback()); verifyNever(mockDataCallback()); From b009ff9b0be3cdb974a4ad36711f40874d5fae28 Mon Sep 17 00:00:00 2001 From: mirland Date: Thu, 5 Oct 2023 12:31:36 +0200 Subject: [PATCH 2/4] Remove DCM --- .github/workflows/dart-ci.yml | 17 ++--------------- .github/workflows/dart-metrics-checks.yaml | 9 ++------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/.github/workflows/dart-ci.yml b/.github/workflows/dart-ci.yml index d838e3e..d9a6092 100644 --- a/.github/workflows/dart-ci.yml +++ b/.github/workflows/dart-ci.yml @@ -1,14 +1,13 @@ name: Dart CI on: - pull_request_target: + pull_request: push: branches: - main jobs: build: - runs-on: ubuntu-latest - + runs-on: macos-latest steps: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 @@ -27,18 +26,6 @@ jobs: - name: Flutter Analyze project source run: flutter analyze . - - name: Analyze project source - Code Metrics - run: | - result=$(dart run dart_code_metrics:metrics analyze lib --fatal-style --fatal-performance --fatal-warnings) - echo "$result" - [[ $result == '✔ no issues found!' ]] || { echo -e "${RED}Linter error" ; exit 1; } - - - name: Analyze project source - Check Unused Code - run: dart run dart_code_metrics:metrics check-unused-code lib --fatal-unused - - - name: Analyze project source - Check Unused Files - run: dart run dart_code_metrics:metrics check-unused-files lib --fatal-unused - - name: Run tests run: | dart pub global activate coverage 1.5.0 diff --git a/.github/workflows/dart-metrics-checks.yaml b/.github/workflows/dart-metrics-checks.yaml index 80b3164..1d3508b 100644 --- a/.github/workflows/dart-metrics-checks.yaml +++ b/.github/workflows/dart-metrics-checks.yaml @@ -4,18 +4,13 @@ on: [pull_request] jobs: check: - name: dart-code-metrics-action - runs-on: ubuntu-latest + name: code-metrics-action + runs-on: macos-latest steps: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 - - name: dart-code-metrics - uses: dart-code-checker/dart-code-metrics-action@v2 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - - name: Run pana run: | dart pub global activate pana From 1e0df35d160da638fd7cd4fd55a6dcb72526ae69 Mon Sep 17 00:00:00 2001 From: mirland Date: Thu, 5 Oct 2023 13:23:48 +0200 Subject: [PATCH 3/4] Use pull request target --- .github/workflows/dart-ci.yml | 2 +- lib/src/extensions/stock_response_internal_extensions.dart | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dart-ci.yml b/.github/workflows/dart-ci.yml index d9a6092..7d76618 100644 --- a/.github/workflows/dart-ci.yml +++ b/.github/workflows/dart-ci.yml @@ -1,6 +1,6 @@ name: Dart CI on: - pull_request: + pull_request_target: push: branches: - main diff --git a/lib/src/extensions/stock_response_internal_extensions.dart b/lib/src/extensions/stock_response_internal_extensions.dart index 57037a0..07beceb 100644 --- a/lib/src/extensions/stock_response_internal_extensions.dart +++ b/lib/src/extensions/stock_response_internal_extensions.dart @@ -1,4 +1,4 @@ -// ignore_for_file: public_member_api_docs, unnecessary_lambdas +// ignore_for_file: public_member_api_docs import 'package:stock/src/stock_response.dart'; import 'package:stock/src/stock_response_extensions.dart'; @@ -7,8 +7,7 @@ extension StockResponseExtensions on StockResponse { StockResponse swapType() => when( onData: (origin, data) => StockResponse.data(origin, data as R), onLoading: StockResponse.loading, - onError: (origin, error, stacktrace) => - StockResponse.error(origin, error, stacktrace), + onError: StockResponse.error, ); } From 3e0512ad9d731994cc8ce1e3449f239483f9e450 Mon Sep 17 00:00:00 2001 From: mirland Date: Thu, 5 Oct 2023 13:47:14 +0200 Subject: [PATCH 4/4] PR comments --- .../workflows/{dart-metrics-checks.yaml => dart-pana.yaml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{dart-metrics-checks.yaml => dart-pana.yaml} (84%) diff --git a/.github/workflows/dart-metrics-checks.yaml b/.github/workflows/dart-pana.yaml similarity index 84% rename from .github/workflows/dart-metrics-checks.yaml rename to .github/workflows/dart-pana.yaml index 1d3508b..e5ae5d8 100644 --- a/.github/workflows/dart-metrics-checks.yaml +++ b/.github/workflows/dart-pana.yaml @@ -1,10 +1,10 @@ -name: Dart Metrics +name: Dart Pana on: [pull_request] jobs: check: - name: code-metrics-action + name: pana-action runs-on: macos-latest steps: