An object that can decode a value of type T
from various data formats.
The interface can be used like this:
class PersonDecodable implements Decodable<Person> {
const PersonDecodable();
@override
Person decode(Decoder decoder) {
/* ... */
}
}
The Decodable interface can be used for any type, including first-party types, core or third-party types.
Objects implementing Decodable can decode values to various data formats using the respective T from<Format>(data)
extension method. A particular method is available by importing the appropriate library or package:
final Decodable<Person> personDecodable = const PersonDecodable();
// From 'package:codable/json.dart'
final Person person = personDecodable.fromJson('...');
// From 'package:codable/standard.dart'
final Person person = personDecodable.fromMap({...});
// From imaginary 'package:x/x.dart'
final Person person = personDecodable.fromX(x);
See also:
Constructors
- Decodable.fromHandler(T decode(Decoder decoder))
-
Creates a Decodable from a handler function.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
orNull
→ Decodable<
T?> -
Available on Decodable<
Returns a Decodable object that can decodeT> , provided by the AsNullableDecodable extensionT
or null.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
decode(
Decoder decoder) → T -
Decodes a value of type
T
using thedecoder
. -
fromCsv(
String csv) → List< T> -
Available on Decodable<
Decodes a CSV string into a list of objects.T> , provided by the CsvDecodable extension -
fromCsvBytes(
List< int> bytes) → List<T> -
Available on Decodable<
T> , provided by the CsvDecodable extension -
fromJson(
String json) → T -
Available on Decodable<
T> , provided by the JsonDecodable extension -
fromJsonBytes(
List< int> bytes) → T -
Available on Decodable<
T> , provided by the JsonDecodable extension -
fromMap(
Map< String, dynamic> map) → T -
Available on Decodable<
T> , provided by the StandardDecodable extension -
fromMsgPack(
List< int> bytes) → T -
Available on Decodable<
T> , provided by the MsgPackDecodable extension -
fromProgressiveJson(
List< int> bytes) → T -
Available on Decodable<
Decodes progressive JSON bytes intoT> , provided by the ProgressiveJsonDecodable extensionT
. -
fromProgressiveJsonStream(
Stream< List< bytes) → Stream<int> >T> -
Available on Decodable<
Decodes a progressive JSON byte stream into a Stream ofT> , provided by the ProgressiveJsonDecodable extensionT
. -
fromValue(
Object? value) → T -
Available on Decodable<
T> , provided by the StandardDecodable extension -
future(
) → Decodable< Future< T> > -
Available on Decodable<
Returns a Decodable object that can decode a future ofT> , provided by the AsAsyncDecodable extensionT
. -
list(
) → Decodable< List< T> > -
Available on Decodable<
Returns a Decodable object that can decode a list ofT> , provided by the AsListDecodable extensionT
. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
set(
) → Decodable< Set< T> > -
Available on Decodable<
Returns a Decodable object that can decode a set ofT> , provided by the AsSetDecodable extensionT
. -
stream(
) → Decodable< Stream< T> > -
Available on Decodable<
Returns a Decodable object that can decode a stream ofT> , provided by the AsAsyncDecodable extensionT
. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited