From c8695b345c80ca9fb68fd8f95462d1f966b26e62 Mon Sep 17 00:00:00 2001 From: Jonas Finnemann Jensen Date: Tue, 4 Feb 2025 10:23:45 +0100 Subject: [PATCH] Use final class in acyclic_steps (#267) --- acyclic_steps/CHANGELOG.md | 4 +++ acyclic_steps/lib/src/fluent_api.dart | 43 +++++++++------------------ acyclic_steps/pubspec.yaml | 4 +-- 3 files changed, 20 insertions(+), 31 deletions(-) diff --git a/acyclic_steps/CHANGELOG.md b/acyclic_steps/CHANGELOG.md index 89ad1ed1..fbb366bd 100644 --- a/acyclic_steps/CHANGELOG.md +++ b/acyclic_steps/CHANGELOG.md @@ -1,3 +1,7 @@ +## v0.11.2 + * Remove `@sealed` annotation in favor of `final class` modifier from Dart 3. + * Bump SDK lower-bound constraint to Dart `3.0.0`. + ## v0.11.1 * Added `topics` to `pubspec.yaml`. diff --git a/acyclic_steps/lib/src/fluent_api.dart b/acyclic_steps/lib/src/fluent_api.dart index 7417bb8b..98896abe 100644 --- a/acyclic_steps/lib/src/fluent_api.dart +++ b/acyclic_steps/lib/src/fluent_api.dart @@ -15,7 +15,6 @@ import 'dart:async' show FutureOr; import 'dart:collection' show UnmodifiableListView; -import 'package:meta/meta.dart' show sealed; Future _defaultRunStep(Step step, Future Function() fn) => fn(); @@ -44,8 +43,7 @@ typedef RunStepWrapper = Future Function( /// value to be used instead. This is useful when injecting initial options /// into an acyclic graph of steps, or when overriding specific components with /// mocks/fakes in a testing setup. -@sealed -class Runner { +final class Runner { final Map, dynamic> _cache = {}; final RunStepWrapper _wrapRunStep; @@ -212,8 +210,7 @@ class Runner { /// to create a [StepBuilderN] which takes `N` dependencies. This allows an /// arbitrary number of dependencies, but consuming the result may require type /// casting. -@sealed -class Step { +final class Step { /// Name of the step. /// /// This is used to identify the step, typically for debugging, logging or @@ -294,8 +291,7 @@ class Step { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder { +final class StepBuilder { final String _name; StepBuilder._(this._name); @@ -338,8 +334,7 @@ class StepBuilder { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilderN { +final class StepBuilderN { final String _name; final List> _dependencies; @@ -368,8 +363,7 @@ class StepBuilderN { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder1 { +final class StepBuilder1 { final String _name; final Step _a; @@ -409,8 +403,7 @@ class StepBuilder1 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder2 { +final class StepBuilder2 { final String _name; final Step _a; final Step _b; @@ -453,8 +446,7 @@ class StepBuilder2 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder3 { +final class StepBuilder3 { final String _name; final Step _a; final Step _b; @@ -512,8 +504,7 @@ class StepBuilder3 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder4 { +final class StepBuilder4 { final String _name; final Step _a; final Step _b; @@ -576,8 +567,7 @@ class StepBuilder4 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder5 { +final class StepBuilder5 { final String _name; final Step _a; final Step _b; @@ -645,8 +635,7 @@ class StepBuilder5 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder6 { +final class StepBuilder6 { final String _name; final Step _a; final Step _b; @@ -719,8 +708,7 @@ class StepBuilder6 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder7 { +final class StepBuilder7 { final String _name; final Step _a; final Step _b; @@ -798,8 +786,7 @@ class StepBuilder7 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder8 { +final class StepBuilder8 { final String _name; final Step _a; final Step _b; @@ -882,8 +869,7 @@ class StepBuilder8 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder9 { +final class StepBuilder9 { final String _name; final Step _a; final Step _b; @@ -973,8 +959,7 @@ class StepBuilder9 { /// /// This type is only intended to be used an intermediate result in an /// expression defining a step. See [Step.define] for how to define steps. -@sealed -class StepBuilder9N { +final class StepBuilder9N { final String _name; final Step _a; final Step _b; diff --git a/acyclic_steps/pubspec.yaml b/acyclic_steps/pubspec.yaml index c91c3988..50b2cac9 100644 --- a/acyclic_steps/pubspec.yaml +++ b/acyclic_steps/pubspec.yaml @@ -1,5 +1,5 @@ name: acyclic_steps -version: 0.11.1 +version: 0.11.2 description: >- An explicit acyclic step dependency framework with concurrent evaluation and dependency injection. @@ -15,4 +15,4 @@ dev_dependencies: test: ^1.5.1 lints: ^1.0.0 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '^3.0.0'