Skip to content

Commit 348bcfd

Browse files
authored
Merge pull request #201 from Workiva/revert-198-FEDX-1991
Revert "FEDX-1991: allow a nullable to be managed"
2 parents 8503745 + 0138975 commit 348bcfd

File tree

5 files changed

+11
-40
lines changed

5 files changed

+11
-40
lines changed

w_common/CHANGELOG.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
## [3.3.0](https://github.com/Workiva/w_common/compare/3.2.0...3.3.0)
2-
- Allow a nullable to be managed via `Disposable.manageDisposable` and
3-
`Disposable.manageAndReturnTypedDisposable`.
4-
5-
## [3.2.0](https://github.com/Workiva/w_common/compare/3.1.0...3.2.0)
6-
7-
- Adds JsonMap and JsonMapObject typedefs
8-
91
## [3.1.0](https://github.com/Workiva/w_common/compare/3.0.0...3.1.0)
102

3+
- Adds JsonMap and JsonMapObject typedefs
114
- Update SDK minimum to 2.19.0 to support the non-function
125
typedef language feature.
136
- Raised package versions to their first nullsafe version.

w_common/lib/src/browser/disposable_browser.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -243,17 +243,16 @@ class Disposable implements disposable_common.Disposable {
243243
onError: onError, onDone: onDone, cancelOnError: cancelOnError);
244244

245245
@override
246-
T manageAndReturnTypedDisposable<T extends disposable_common.Disposable?>(
247-
T disposable) {
248-
return _disposable.manageAndReturnTypedDisposable<T>(disposable);
249-
}
246+
T manageAndReturnTypedDisposable<T extends disposable_common.Disposable>(
247+
T disposable) =>
248+
_disposable.manageAndReturnTypedDisposable(disposable);
250249

251250
@override
252251
Completer<T> manageCompleter<T>(Completer<T> completer) =>
253252
_disposable.manageCompleter(completer);
254253

255254
@override
256-
void manageDisposable(disposable_common.Disposable? disposable) =>
255+
void manageDisposable(disposable_common.Disposable disposable) =>
257256
_disposable.manageDisposable(disposable);
258257

259258
@override

w_common/lib/src/common/disposable.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -514,13 +514,8 @@ class Disposable implements _Disposable, DisposableManagerV7, LeakFlagger {
514514

515515
@mustCallSuper
516516
@override
517-
T manageAndReturnTypedDisposable<T extends Disposable?>(T disposable) {
518-
if (disposable == null) {
519-
return disposable;
520-
}
521-
522-
_throwOnInvalidCall(
523-
'manageAndReturnTyped Disposable', 'disposable', disposable);
517+
T manageAndReturnTypedDisposable<T extends Disposable>(T disposable) {
518+
_throwOnInvalidCall('manageAndReturnDisposable', 'disposable', disposable);
524519
manageDisposable(disposable);
525520

526521
return disposable;
@@ -557,7 +552,8 @@ class Disposable implements _Disposable, DisposableManagerV7, LeakFlagger {
557552
return completer;
558553
}
559554

560-
void manageDisposable(Disposable? disposable) {
555+
void manageDisposable(Disposable disposable) {
556+
// ignore: unnecessary_null_comparison
561557
if (disposable == null) {
562558
return;
563559
}

w_common/lib/src/common/disposable_manager.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ abstract class DisposableManagerV7 {
4747
/// }
4848
///
4949
/// A null parameter will result in a null return value.
50-
T manageAndReturnTypedDisposable<T extends Disposable?>(T disposable);
50+
T manageAndReturnTypedDisposable<T extends Disposable>(T disposable);
5151

5252
/// Automatically cancel a stream controller when this object is disposed.
5353
///

w_common/test/unit/disposable_common.dart

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -212,19 +212,9 @@ void testCommonDisposable(Func<StubDisposable> disposableFactory) {
212212
expect(disposable.injected!.isDisposed, isFalse);
213213
});
214214

215-
test('should not throw if value is null', () async {
216-
StubDisposable? nullable;
217-
var returnValue;
218-
expect(() {
219-
returnValue = disposable
220-
.manageAndReturnTypedDisposable<StubDisposable?>(nullable);
221-
}, returnsNormally);
222-
expect(returnValue, isNull);
223-
});
224-
225215
testManageMethod(
226216
'manageAndReturnTypedDisposable',
227-
(StubDisposable? argument) =>
217+
(StubDisposable argument) =>
228218
disposable.manageAndReturnTypedDisposable(argument),
229219
disposableFactory());
230220
});
@@ -825,13 +815,6 @@ void testCommonDisposable(Func<StubDisposable> disposableFactory) {
825815
});
826816

827817
group('manageDisposable', () {
828-
test('should not throw if value is null', () async {
829-
StubDisposable? nullable;
830-
expect(() {
831-
disposable.manageDisposable(nullable);
832-
}, returnsNormally);
833-
});
834-
835818
test('should dispose child when parent is disposed', () async {
836819
var childThing = disposableFactory();
837820
disposable.manageDisposable(childThing);

0 commit comments

Comments
 (0)