basalt_codegen 0.1.0
basalt_codegen: ^0.1.0 copied to clipboard
build_runner code generator for the Basalt Dart ORM — derives row readers and INSERT/UPDATE builders from @Queryable, @Insertable, and @AsChangeset.
Changelog #
0.1.0 #
- Table-marker resolution supports the new schema shape where the annotation
value's type is a non-generic
TableRefsubclass (@Queryable(Users.table)withfinal class Users extends TableRef<Users>) — the marker is resolved from theTableRef<Tbl>supertype. PlainTableRef<X>values keep working. - Widened the analyzer constraint to
>=8.0.0 <15.0.0. - Requires
basalt >=0.1.0 <0.2.0.
0.0.2 #
@Insertablenow also generates a batch extension onIterableof the annotated class:rows.toInsert()builds one multi-rowINSERT ... VALUES (...), (...)(throwsArgumentErroron an empty iterable). SkipsreadOnlycolumns like the single-row form.- Requires
basalt >=0.0.2 <0.1.0.
0.0.1 #
Initial development release of the basalt_dart build_runner code generator.
@Queryable— generates aRowReader-based mapper and typed query getters.@Insertable— generates atoInsert()builder.@AsChangeset— generates atoChangeset()builder forUPDATE.@Relation— generates self-mapping join queries (has-many folds, ref joins).- Pure, unit-tested emitters bridged by thin
GeneratorForAnnotationclasses, registered in a singleSharedPartBuilder.