extensionType<ExtType, Inner extends Object> static method

JsonTypeConverter<ExtType, Inner> extensionType<ExtType, Inner extends Object>()

A type converter mapping extension types to their underlying representation to store them in databases.

Here, ExtType is the extension type to use in Dart classes, and Inner is the underlying type stored in the database. For instance, if you had a type to represent ids in a database:

extension type IdNumber(int id) {}

You could use TypeConverter.extensionType<IdNumber, int>() in a column definition:

class Users extends Table {
  IntColumn get id => integer()
      .autoIncrement()
      .map(TypeConverter.extensionType<IdNumber, int>())();
  TextColumn get name => text()();
}

Implementation

static JsonTypeConverter<ExtType, Inner>
    extensionType<ExtType, Inner extends Object>() {
  return _ExtensionTypeConverter();
}