diff --git a/example/lib/snippets/rx_singles_using.dart b/example/lib/snippets/rx_singles_using.dart index d5a240d..c88588f 100644 --- a/example/lib/snippets/rx_singles_using.dart +++ b/example/lib/snippets/rx_singles_using.dart @@ -30,9 +30,9 @@ class MyResource { Future runRxSinglesUsingExample() async { final subscription = RxSingles.using( - () => MyResource(), - (r) => r.work().asSingle(), - (r) => r.dispose(), + resourceFactory: () => MyResource(), + singleFactory: (r) => r.work().asSingle(), + disposer: (r) => r.dispose(), ).debug(identifier: '[using]').collect(); await delay(100); diff --git a/example/pubspec.lock b/example/pubspec.lock index 0e1e98f..7eefba6 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: async - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.0" built_collection: dependency: transitive description: @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.18.0" dart_either: dependency: "direct main" description: @@ -37,10 +37,10 @@ packages: dependency: "direct main" description: name: http - sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139 + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.0" http_parser: dependency: transitive description: @@ -53,34 +53,34 @@ packages: dependency: "direct dev" description: name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "4.0.0" meta: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.15.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" rxdart: dependency: "direct main" description: name: rxdart - sha256: "93bca4fe609a74c7fd162d23510dd08281e3c1b1b3cff7db99dbe57108c82cdf" + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" url: "https://pub.dev" source: hosted - version: "0.28.0-dev.0" + version: "0.28.0" rxdart_ext: dependency: "direct main" description: @@ -92,18 +92,18 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" string_scanner: dependency: transitive description: @@ -124,17 +124,9 @@ packages: dependency: transitive description: name: typed_data - sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c url: "https://pub.dev" source: hosted - version: "1.3.1" - web: - dependency: transitive - description: - name: web - sha256: edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa - url: "https://pub.dev" - source: hosted - version: "0.4.0" + version: "1.3.2" sdks: - dart: ">=3.2.0 <4.0.0" + dart: ">=3.1.0 <4.0.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index ecc8d98..68df878 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -4,16 +4,16 @@ publish_to: none version: 0.2.9 environment: - sdk: '>=2.17.0 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dependencies: rxdart_ext: any - rxdart: ^0.28.0-dev.0 + rxdart: ^0.28.0 dart_either: ^1.0.0 http: ^1.0.0 dev_dependencies: - lints: ^2.0.1 + lints: ^4.0.0 dependency_overrides: rxdart_ext: diff --git a/lib/src/single/rx_singles.dart b/lib/src/single/rx_singles.dart index e5c2df2..f0515e2 100644 --- a/lib/src/single/rx_singles.dart +++ b/lib/src/single/rx_singles.dart @@ -492,22 +492,22 @@ abstract class RxSingles { /// } /// /// RxSingles.using( - /// () => Resource(), - /// (r) => Single.value(r.value), - /// (r) => r.close(), + /// resourceFactory: () => Resource(), + /// singleFactory: (r) => Single.value(r.value), + /// disposer: (r) => r.close(), /// ).listen(print); // prints 0, Closed /// /// See [Rx.using] and [UsingStream]. - static Single using( - R Function() resourceFactory, - Single Function(R) singleFactory, - FutureOr Function(R) disposer, - ) => + static Single using({ + required R Function() resourceFactory, + required Single Function(R) singleFactory, + required FutureOr Function(R) disposer, + }) => Single.safe( Rx.using( - resourceFactory, - singleFactory, - disposer, + resourceFactory: resourceFactory, + streamFactory: singleFactory, + disposer: disposer, ), ); } diff --git a/pubspec.yaml b/pubspec.yaml index 8b2aa0d..bec92e6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,7 +8,7 @@ funding: - https://www.buymeacoffee.com/hoc081098 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.12.0 <4.0.0' dependencies: rxdart: ^0.28.0 diff --git a/test/single/rx_singles_test.dart b/test/single/rx_singles_test.dart index 2cfc938..43efed5 100644 --- a/test/single/rx_singles_test.dart +++ b/test/single/rx_singles_test.dart @@ -417,9 +417,9 @@ void main() { group('RxSingles.using', () { test('resourceFactory throws', () async { final build = () => RxSingles.using( - () => throw Exception(), - (r) => fail('should not be called'), - (r) => fail('should not be called'), + resourceFactory: () => throw Exception(), + singleFactory: (r) => fail('should not be called'), + disposer: (r) => fail('should not be called'), ); await singleRule(build(), exceptionLeft); @@ -439,9 +439,9 @@ void main() { throw StateError('Resource already created'); } return RxSingles.using( - () => resource = TestResource(), - (r) => Single.value(r), - (r) => r.close(), + resourceFactory: () => resource = TestResource(), + singleFactory: (r) => Single.value(r), + disposer: (r) => r.close(), ); }; @@ -472,9 +472,9 @@ void main() { throw StateError('Resource already created'); } return RxSingles.using( - () => resource = TestResource(), - (r) => Single.error(Exception()), - (r) => r.close(), + resourceFactory: () => resource = TestResource(), + singleFactory: (r) => Single.error(Exception()), + disposer: (r) => r.close(), ); }; @@ -495,9 +495,9 @@ void main() { test('disposer throws', () async { final build = () => RxSingles.using( - () => TestResource(), - (r) => Single.value(r), - (r) => throw Exception('Disposer'), + resourceFactory: () => TestResource(), + singleFactory: (r) => Single.value(r), + disposer: (r) => throw Exception('Disposer'), ); final onError = (Object error, StackTrace stack) {