rift_generator

Pub Version License: Apache 2.0

Code generator for Rift — automatically generates TypeAdapters to store any Dart class.

lib WebSite

Features

  • Auto-generated TypeAdapters — No manual serialization code
  • Dart 3 Support — Records, sealed classes, extension types
  • Schema Migration — Built-in migration for evolving data models
  • Freezed Support — Works seamlessly with @freezed classes
  • GenerateAdapters Annotation — One annotation to generate all adapters
  • HiveRegistrar — Register all adapters in one call

Installation

dependencies:
  rift: ^1.0.0

dev_dependencies:
  rift_generator: ^1.0.0
  build_runner: ^2.4.0

Usage

1. Annotate your class

import 'package:rift/rift.dart';

part 'user.g.dart';

@RiftType()
class User {
  @RiftField(0)
  String name;

  @RiftField(1)
  int age;

  @RiftField(2, defaultValue: '')
  String email;

  User({required this.name, required this.age, this.email = ''});
}

2. Run the generator

dart run build_runner build

3. Register adapters

// Auto-generated registrar
final registrar = RiftRegistrar();
registrar.registerAllAdapters();

// Or manually
Hive.registerAdapter(UserAdapter());

GenerateAdapters Annotation

@GenerateAdapters([AdapterSpec<User>(fields: {0: 'name', 1: 'age'})])
class App {}

Migration from hive_ce_generator

  • Replace import 'package:hive_ce_generator/hive_ce_generator.dart' with Rift equivalents
  • @HiveType()@RiftType()
  • @HiveField()@RiftField()
  • All generated code is compatible with Rift core
Package Description
rift Core database library
rift_flutter Flutter integration
rift_inspector DevTools inspector UI

License

Apache License 2.0


About Author

Idris Ghamid is a software engineer and open-source contributor specializing in Flutter, Dart, and mobile development. He creates high-performance, production-ready libraries and tools for the Flutter ecosystem.

Connect To idris


Star History


Made by idris ghamid

⭐ If Rift helps you, give it a star on GitHub!