kind 0.5.1 copy "kind: ^0.5.1" to clipboard
kind: ^0.5.1 copied to clipboard

outdated

An unified data layer framework that enables serialization, persistence, and state observability for any Dart class. Comes with primitives such as decimal numbers and currency amounts.

example/example.dart

import 'dart:convert';

import 'package:kind/kind.dart';

void main() {
  final decodedJson = {
    'name': 'John Doe',
    'friends': [
      {'name': 'Alice'},
      {'name': 'Bob'},
    ],
  };

  // Decode JSON
  final person = Person.kind.jsonTreeDecode(
    decodedJson,
  );
  print('Name:');
  print(person.identifier);

  // Encode JSON
  final encodedJson = person.toJson();

  print('JSON:');
  print(json.encode(encodedJson));
}

class Person extends Entity {
  static final kind = EntityKind<Person>(
    name: 'Person',
    packageName: 'example',
    define: (c) {
      c.requiredString(
        id: 1,
        name: 'name',
        maxLengthInUtf8: 64,
        examples: ['John Doe'],
        field: (t) => t.name,
      );
      c.optionalDate(
        id: 2,
        name: 'dateOfBirth',
        field: (t) => t.dateOfBirth,
      );
      c.requiredList<Person>(
        id: 2,
        name: 'friends',
        itemsKind: Person.kind,
        field: (t) => t.friends,
      );
      c.constructor = () => Person();
    },
  );

  /// Name of person.
  late final Field<String> name = Field<String>(this);

  /// Name of person (nullable).
  late final Field<Date?> dateOfBirth = Field<Date?>(this);

  /// Employees of the person.
  late final ListField<Person> friends = ListField<Person>(this);

  @override
  EntityKind getKind() => kind;
}
8
likes
0
pub points
56%
popularity

Publisher

verified publisherdint.dev

An unified data layer framework that enables serialization, persistence, and state observability for any Dart class. Comes with primitives such as decimal numbers and currency amounts.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

collection, fixnum, meta, protobuf

More

Packages that depend on kind