Codec<T> class
final
Converts a typed Dart value to database storage and decodes it on reads.
A codec defines a storage family and symmetric conversion functions. Use nullable for SQL NULL and map for domain-specific Dart types.
Constructors
- Codec(String sqlType, T _decode(Object? value), Object? _encode(T value))
-
Creates an explicit storage codec; conversion errors propagate to callers.
const
- Codec.integer(T _decode(Object? value), int encode(T value))
-
Stores a domain value as a SQL integer.
const
- Codec.text(T _decode(Object? value), String encode(T value))
-
Stores a domain value as SQL text.
const
Properties
- acceptsNull → bool
-
Whether
Tpermits a null Dart result.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sqlType → String
-
Logical storage family used when rendering and binding SQL.
final
Methods
-
decode(
Object? value) → T -
Converts a raw stored value into
T. -
encode(
T value) → Object? -
Converts
valueinto a value supported by the SQL driver. -
map<
R> (R from(T), T to(R)) → Codec< R> - Adds domain conversions while preserving this codec's storage family.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
nullable(
) → Codec< T?> - Handles SQL NULL before delegating non-null values to this codec.
-
sameStorageAs(
Codec< Object?> other) → bool - Whether two codecs have the same storage and decoding identity. Nullable wrappers preserve identity; independently mapped codecs do not.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited