gazelle_serialization 0.1.1 copy "gazelle_serialization: ^0.1.1" to clipboard
gazelle_serialization: ^0.1.1 copied to clipboard

Serialization logic for Gazelle applications.

example/gazelle_serialization_example.dart

import 'package:gazelle_serialization/gazelle_serialization.dart';

class User {
  final String id;
  final String name;
  final DateTime createdAt;

  const User({
    required this.id,
    required this.name,
    required this.createdAt,
  });
}

class UserModelType extends GazelleModelType<User> {
  @override
  User fromJson(Map<String, dynamic> json) {
    return User(
      id: json["id"] as String,
      name: json["name"] as String,
      createdAt: DateTime.parse(json["createdAt"]),
    );
  }

  @override
  Map<String, dynamic> toJson(User value) {
    return {
      "id": value.id,
      "name": value.name,
      "createdAt": value.createdAt.toIso8601String(),
    };
  }
}

class ExampleModelProvider extends GazelleModelProvider {
  @override
  Map<Type, GazelleModelType> get modelTypes => {
        User: UserModelType(),
      };
}

void main(List<String> args) {
  final modelProvider = ExampleModelProvider();
  final user = User(
    id: "id",
    name: "John Doe",
    createdAt: DateTime.now(),
  );

  final serializedUser = modelProvider.getModelTypeFor(User).toJson(user);

  print(serializedUser);
}
copied to clipboard
1
likes
150
points
73
downloads

Publisher

verified publisherintales.it

Weekly Downloads

2024.08.26 - 2025.03.10

Serialization logic for Gazelle applications.

Repository (GitHub)
Contributing

Documentation

API reference

License

BSD-3-Clause (license)

More

Packages that depend on gazelle_serialization