drift_model_generator 0.0.2 copy "drift_model_generator: ^0.0.2" to clipboard
drift_model_generator: ^0.0.2 copied to clipboard

Dart model based drift model generator.

example/lib/example.dart

import 'package:drift_model_generator/drift_model_generator.dart';

@UseDrift(
  useSnakeCase: false,
  exludeFields: {'fiName', 'entity'},
  driftConstructor: 'fromDb',
)
class AccountDetail {
  const AccountDetail({
    required this.accountDetailId,
    required this.accountNumber,
    required this.accountType,
    required this.isDefault,
    required this.entityId,
    required this.conglomerateId,
    required this.createdAt,
    this.fiName,
    this.entity,
  });
  @autoIncrement
  final int accountDetailId;
  final String accountNumber;
  final AccountType accountType;

  @WithDefault(false)
  final bool isDefault;

  final int entityId;
  final int conglomerateId;

  @nullable
  final String? fiName;

  @WithDefault('now()')
  final DateTime createdAt;

  @ReferencedBy(['entityId', 'conglomerateId'])
  final Entity? entity;

  AccountDetail.fromDb({
    required this.accountDetailId,
    required this.accountNumber,
    required String accountType,
    required this.isDefault,
    required this.entityId,
    required this.conglomerateId,
    required this.createdAt,
    this.fiName,
    this.entity,
  }) : accountType = AccountType.values.firstWhere(
          (at) => at.name == accountType,
        );
}

@UseDrift(driftClassName: 'Entities')
class Entity {
  final int entityId;
  final int conglomerateId;

  final String name;

  const Entity({
    required this.entityId,
    required this.conglomerateId,
    required this.name,
  });
}

@useDrift
enum AccountType { cash, card, electronic, blockchainAddress }
1
likes
0
pub points
52%
popularity

Publisher

unverified uploader

Dart model based drift model generator.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

analyzer, build, source_gen

More

Packages that depend on drift_model_generator