cbl_generator 0.4.0-dev.3 copy "cbl_generator: ^0.4.0-dev.3" to clipboard
cbl_generator: ^0.4.0-dev.3 copied to clipboard

Code generator for Couchbase Lite — generates typed document model classes for the embedded, offline-first, NoSQL JSON document database.

Couchbase Lite for Dart and Flutter

Code Generator for Couchbase Lite

Version CI codecov

Generates typed document model classes for cbl, giving you type-safe access to document properties with zero boilerplate.

Getting Started #

Add the package as a dev dependency alongside build_runner:

dart pub add --dev cbl_generator build_runner

Define your document model:

import 'package:cbl/cbl.dart';

part 'user.cbl.type.g.dart';

@TypedDocument()
abstract class User with _$User {
  factory User({
    @DocumentId() String? id,
    required String username,
    required String email,
    required DateTime createdAt,
  }) = MutableUser;
}

Run the code generator:

dart run build_runner build

Use the generated classes:

final user = MutableUser(
  username: 'alice',
  email: 'alice@example.com',
  createdAt: DateTime.now(),
);
await collection.saveTypedDocument(user).withConcurrencyControl();

Read the full documentation at cbl-dart.dev

Contributing #

Pull requests are welcome. For major changes, please open an issue first. Read CONTRIBUTING to get started.

Disclaimer #

This is not an official Couchbase product.

2
likes
140
points
337
downloads

Documentation

Documentation
API reference

Publisher

verified publishercbl-dart.dev

Weekly Downloads

Code generator for Couchbase Lite — generates typed document model classes for the embedded, offline-first, NoSQL JSON document database.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#serialization #database #code-generation #nosql #build-runner

License

Apache-2.0 (license)

Dependencies

analyzer, build, cbl, collection, meta, source_gen, source_helper

More

Packages that depend on cbl_generator