SealedOverDynamic class

A lint rule that enforces the use of sealed classes instead of dynamic for sync results.

Using dynamic for sync results bypasses Dart’s type system, making code less safe and harder to maintain. Sealed classes provide explicit, type-safe alternatives that improve code clarity, enable exhaustive handling, and enhance IDE support.

This rule flags any use of dynamic for sync results and suggests using a sealed class instead.

Example of code that triggers this rule:

// ❌ Not allowed:
dynamic syncResult = await powersync.execute(query);

Example of code that doesn't trigger this rule:

// ✅ Allowed:
sealed class SyncResult {}
SyncResult result = await powersync.execute(query);

Constructors

SealedOverDynamic()
const

Properties

code → LintCode
The LintCode that this LintRule may emit.
finalinherited
enabledByDefault bool
Whether the lint rule is on or off by default in an empty analysis_options.yaml
no setterinherited
filesToAnalyze List<String>
A list of glob patterns matching the files that run cares about.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getFixes() List<Fix>
Obtains the list of Fix associated with this LintRule.
inherited
isEnabled(CustomLintConfigs configs) bool
Checks whether this lint rule is enabled in a configuration file.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(CustomLintResolver resolver, ErrorReporter reporter, CustomLintContext context) → void
Emits lints for a given file.
startUp(CustomLintResolver resolver, CustomLintContext context) Future<void>
Emits lints for a given file.
inherited
testAnalyzeAndRun(File file) Future<List<AnalysisError>>
Analyze a Dart file and runs this assist in test mode.
inherited
testRun(ResolvedUnitResult result, {Pubspec? pubspec}) Future<List<AnalysisError>>
Runs this assist in test mode.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited