Updated ORM
This commit is contained in:
parent
7f74187e22
commit
5a6992bb16
4 changed files with 21 additions and 6 deletions
|
@ -1,5 +1,9 @@
|
|||
# Change Log
|
||||
|
||||
## 4.0.0
|
||||
|
||||
* Updated `Optional` package
|
||||
|
||||
## 4.0.0-beta.4
|
||||
|
||||
* Added `hasSize` to `ColumnType`
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: angel3_orm
|
||||
version: 4.0.0-beta.4
|
||||
version: 4.0.0
|
||||
description: Runtime support for Angel3 ORM. Includes base classes for queries.
|
||||
homepage: https://angel3-framework.web.app/
|
||||
repository: https://github.com/dukefirehawk/angel/tree/angel3/packages/orm/angel_orm
|
||||
|
@ -10,7 +10,7 @@ dependencies:
|
|||
intl: ^0.17.0
|
||||
meta: ^1.3.0
|
||||
string_scanner: ^1.1.0
|
||||
optional: ^6.0.0-nullsafety.2
|
||||
optional: ^6.0.0
|
||||
dev_dependencies:
|
||||
angel3_model: ^3.0.0
|
||||
angel3_serialize: ^4.0.0
|
||||
|
|
|
@ -12,11 +12,14 @@ import 'package:angel3_serialize_generator/context.dart';
|
|||
import 'package:build/build.dart';
|
||||
import 'package:collection/collection.dart' show IterableExtension;
|
||||
import 'package:inflection3/inflection3.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:recase/recase.dart';
|
||||
import 'package:source_gen/source_gen.dart';
|
||||
|
||||
import 'readers.dart';
|
||||
|
||||
var _log = Logger('orm_build_context');
|
||||
|
||||
bool isHasRelation(Relationship r) =>
|
||||
r.type == RelationshipType.hasOne || r.type == RelationshipType.hasMany;
|
||||
|
||||
|
@ -74,19 +77,26 @@ Future<OrmBuildContext?> buildOrmContext(
|
|||
const TypeChecker.fromRuntime(GeneratedSerializable)
|
||||
.firstAnnotationOf(clazz)) !=
|
||||
null) {
|
||||
clazz = clazz.supertype!.element;
|
||||
if (clazz.supertype != null) {
|
||||
clazz = clazz.supertype!.element;
|
||||
}
|
||||
}
|
||||
|
||||
var id = clazz.location!.components.join('-');
|
||||
var id = clazz.location?.components.join('-') ?? '';
|
||||
if (cache.containsKey(id)) {
|
||||
return cache[id];
|
||||
}
|
||||
var buildCtx = await (buildContext(
|
||||
var buildCtx = await buildContext(
|
||||
clazz, annotation, buildStep, resolver, autoSnakeCaseNames!,
|
||||
heedExclude: heedExclude) as FutureOr<BuildContext>);
|
||||
heedExclude: heedExclude);
|
||||
var ormAnnotation = reviveORMAnnotation(annotation);
|
||||
// print(
|
||||
// 'tableName (${annotation.objectValue.type.name}) => ${ormAnnotation.tableName} from ${clazz.name} (${annotation.revive().namedArguments})');
|
||||
if (buildCtx == null) {
|
||||
_log.severe('BuildContext is null');
|
||||
|
||||
return null;
|
||||
}
|
||||
var ctx = OrmBuildContext(
|
||||
buildCtx,
|
||||
ormAnnotation,
|
||||
|
|
|
@ -21,6 +21,7 @@ dependencies:
|
|||
recase: ^4.0.0
|
||||
source_gen: ^1.0.0
|
||||
collection: ^1.15.0
|
||||
logging: ^1.0.0
|
||||
dev_dependencies:
|
||||
angel3_framework: ^4.0.0
|
||||
angel3_migration: ^4.0.0-beta.1
|
||||
|
|
Loading…
Reference in a new issue