@t4h.framework/orm 0.11.2 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/skills/framework-orm/SKILL.md +8 -19
- package/CHANGELOG.md +30 -0
- package/README.md +14 -1
- package/dist/activities/ORMFindOneActivity.d.ts +2 -0
- package/dist/activities/ORMFindOneActivity.d.ts.map +1 -1
- package/dist/activities/ORMLoadActivity.d.ts.map +1 -1
- package/dist/activities/ORMLoadActivity.js +6 -5
- package/dist/activities/ORMLoadActivity.js.map +1 -1
- package/dist/activities/ORMLoadRelationActivity.d.ts.map +1 -1
- package/dist/activities/ORMLoadRelationActivity.js +2 -2
- package/dist/activities/ORMLoadRelationActivity.js.map +1 -1
- package/dist/claims/ORMClaim.js.map +1 -1
- package/dist/constraints/assert-constraints.d.ts +1 -1
- package/dist/constraints/assert-constraints.d.ts.map +1 -1
- package/dist/constraints/assert-constraints.js +1 -1
- package/dist/constraints/assert-constraints.js.map +1 -1
- package/dist/constraints/assert-property-type-constraint.js.map +1 -1
- package/dist/decorators/Entity.d.ts.map +1 -1
- package/dist/decorators/Entity.js +1 -1
- package/dist/decorators/Entity.js.map +1 -1
- package/dist/decorators/Index.d.ts.map +1 -1
- package/dist/decorators/Index.js.map +1 -1
- package/dist/decorators/ManyToOne.js.map +1 -1
- package/dist/decorators/OneToMany.d.ts +1 -1
- package/dist/decorators/OneToMany.d.ts.map +1 -1
- package/dist/decorators/OneToMany.js.map +1 -1
- package/dist/decorators/Property.d.ts.map +1 -1
- package/dist/decorators/Property.js.map +1 -1
- package/dist/decorators/metadata.d.ts +11 -9
- package/dist/decorators/metadata.d.ts.map +1 -1
- package/dist/decorators/metadata.js.map +1 -1
- package/dist/helpers/Insert.d.ts +4 -3
- package/dist/helpers/Insert.d.ts.map +1 -1
- package/dist/helpers/Insert.js +22 -15
- package/dist/helpers/Insert.js.map +1 -1
- package/dist/helpers/Populate.d.ts.map +1 -1
- package/dist/helpers/Populate.js +10 -5
- package/dist/helpers/Populate.js.map +1 -1
- package/dist/helpers/Serialize.d.ts +4 -3
- package/dist/helpers/Serialize.d.ts.map +1 -1
- package/dist/helpers/Serialize.js +20 -18
- package/dist/helpers/Serialize.js.map +1 -1
- package/dist/helpers/isPlainObject.js.map +1 -1
- package/dist/helpers/refs.d.ts +1 -1
- package/dist/helpers/refs.d.ts.map +1 -1
- package/dist/helpers/refs.js.map +1 -1
- package/dist/models/MapCollection.d.ts +1 -0
- package/dist/models/MapCollection.d.ts.map +1 -1
- package/dist/models/MapCollection.js +12 -5
- package/dist/models/MapCollection.js.map +1 -1
- package/dist/models/ORM.d.ts +2 -0
- package/dist/models/ORM.d.ts.map +1 -1
- package/dist/models/ORM.js +58 -25
- package/dist/models/ORM.js.map +1 -1
- package/dist/models/Ref.d.ts.map +1 -1
- package/dist/models/Ref.js +3 -2
- package/dist/models/Ref.js.map +1 -1
- package/dist/models/RefCollection.d.ts.map +1 -1
- package/dist/models/RefCollection.js +6 -4
- package/dist/models/RefCollection.js.map +1 -1
- package/dist/typings/FindWhere.d.ts +1 -1
- package/dist/typings/FindWhere.d.ts.map +1 -1
- package/dist/typings/ORM.d.ts +5 -5
- package/dist/typings/ORM.d.ts.map +1 -1
- package/dist/typings/Relations.d.ts +2 -2
- package/dist/typings/Relations.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/helpers/Populate.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { getEntityRelations, } from '../decorators/metadata.js';
|
|
2
|
+
function branchOf(node, segment) {
|
|
3
|
+
const existing = node.get(segment);
|
|
4
|
+
if (existing)
|
|
5
|
+
return existing;
|
|
6
|
+
const branch = new Map();
|
|
7
|
+
node.set(segment, branch);
|
|
8
|
+
return branch;
|
|
9
|
+
}
|
|
2
10
|
export var Populate;
|
|
3
11
|
(function (Populate) {
|
|
4
12
|
function toTree(paths) {
|
|
5
13
|
const tree = new Map();
|
|
6
14
|
for (const path of paths) {
|
|
7
15
|
let node = tree;
|
|
8
|
-
for (const segment of path.split('.'))
|
|
9
|
-
|
|
10
|
-
node.set(segment, new Map());
|
|
11
|
-
node = node.get(segment);
|
|
12
|
-
}
|
|
16
|
+
for (const segment of path.split('.'))
|
|
17
|
+
node = branchOf(node, segment);
|
|
13
18
|
}
|
|
14
19
|
return tree;
|
|
15
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Populate.js","sourceRoot":"","sources":["../../src/helpers/Populate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAA;AAYlC,MAAM,KAAW,QAAQ,
|
|
1
|
+
{"version":3,"file":"Populate.js","sourceRoot":"","sources":["../../src/helpers/Populate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAA;AAYlC,SAAS,QAAQ,CAAC,IAAmB,EAAE,OAAe;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAElC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,MAAM,GAAkB,IAAI,GAAG,EAAE,CAAA;IAEvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEzB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,KAAW,QAAQ,CAoCxB;AApCD,WAAiB,QAAQ;IAGvB,SAAgB,MAAM,CAAC,KAAwB;QAC7C,MAAM,IAAI,GAAS,IAAI,GAAG,EAAE,CAAA;QAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,GAAG,IAAI,CAAA;YAEf,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAVe,eAAM,SAUrB,CAAA;IAED,SAAgB,MAAM,CACpB,MAAyB,EACzB,KAAwB;QAExB,MAAM,KAAK,GAAG,CAAC,MAAyB,EAAE,IAAU,EAAE,EAAU,EAAE,EAAE;YAClE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAiC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAElE,IAAI,CAAC,QAAQ;oBACX,MAAM,IAAI,KAAK,CACb,oBAAoB,EAAE,GAAG,IAAI,OAAO,MAAM,CAAC,IAAI,sBAAsB,IAAI,GAAG,CAC7E,CAAA;gBAEH,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;YACnD,CAAC;QACH,CAAC,CAAA;QAED,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC;IApBe,eAAM,SAoBrB,CAAA;AACH,CAAC,EApCgB,QAAQ,KAAR,QAAQ,QAoCxB"}
|
|
@@ -4,8 +4,9 @@ export declare namespace Serialize {
|
|
|
4
4
|
keys?: string[];
|
|
5
5
|
except?: string[];
|
|
6
6
|
}
|
|
7
|
-
function assertRelations<T>(entity: EntityConstructor<T>, rows: Record<string, unknown>[], options?: AssertRelationsOptions): void;
|
|
8
|
-
function relations<T>(entity: EntityConstructor<T>, rows: Record<string, unknown>[]): SerializedRow[];
|
|
9
|
-
function where(filter: unknown): SerializableWhere;
|
|
7
|
+
export function assertRelations<T>(entity: EntityConstructor<T>, rows: Record<string, unknown>[], options?: AssertRelationsOptions): void;
|
|
8
|
+
export function relations<T>(entity: EntityConstructor<T>, rows: Record<string, unknown>[]): SerializedRow[];
|
|
9
|
+
export function where(filter: unknown): SerializableWhere;
|
|
10
|
+
export {};
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=Serialize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/Serialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Serialize.d.ts","sourceRoot":"","sources":["../../src/helpers/Serialize.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACd,MAAM,mBAAmB,CAAA;AA8B1B,yBAAiB,SAAS,CAAC;IACzB,UAAU,sBAAsB;QAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAClB;IAED,MAAM,UAAU,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAUN;IAED,MAAM,UAAU,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC9B,aAAa,EAAE,CAajB;IAED,MAAM,UAAU,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAcxD;;CACF"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
import { isPlainObject } from './isPlainObject.js';
|
|
2
2
|
import { entityOf, rowRefOf } from './refs.js';
|
|
3
|
-
import { getEntityRelations } from '../decorators/metadata.js';
|
|
3
|
+
import { getEntityRelations, } from '../decorators/metadata.js';
|
|
4
4
|
import { ConstraintError } from '../errors/ConstraintError.js';
|
|
5
5
|
import { Ref } from '../models/Ref.js';
|
|
6
|
+
function assertRelationValue(relation, value) {
|
|
7
|
+
const { name } = relation;
|
|
8
|
+
if (relation.kind === 'one-to-many') {
|
|
9
|
+
if (value !== undefined)
|
|
10
|
+
throw new ConstraintError(`Property "${name}" is the inverse side of a relation and cannot be written`);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (value === null || value === undefined) {
|
|
14
|
+
if (!relation.nullable)
|
|
15
|
+
throw new ConstraintError(`Property "${name}" is required`);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!(value instanceof Ref))
|
|
19
|
+
throw new ConstraintError(`Property "${name}" must be a Ref`);
|
|
20
|
+
if (entityOf(value) !== relation.entity())
|
|
21
|
+
throw new ConstraintError(`Property "${name}" must be a Ref to ${relation.entity().name}`);
|
|
22
|
+
}
|
|
6
23
|
export var Serialize;
|
|
7
24
|
(function (Serialize) {
|
|
8
25
|
function assertRelations(entity, rows, options) {
|
|
@@ -12,23 +29,8 @@ export var Serialize;
|
|
|
12
29
|
continue;
|
|
13
30
|
if (options?.except?.includes(name))
|
|
14
31
|
continue;
|
|
15
|
-
for (const row of rows)
|
|
16
|
-
|
|
17
|
-
if (relation.kind === 'one-to-many') {
|
|
18
|
-
if (value !== undefined)
|
|
19
|
-
throw new ConstraintError(`Property "${name}" is the inverse side of a relation and cannot be written`);
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
if (value === null || value === undefined) {
|
|
23
|
-
if (!relation.nullable)
|
|
24
|
-
throw new ConstraintError(`Property "${name}" is required`);
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
if (!(value instanceof Ref))
|
|
28
|
-
throw new ConstraintError(`Property "${name}" must be a Ref`);
|
|
29
|
-
if (entityOf(value) !== relation.entity())
|
|
30
|
-
throw new ConstraintError(`Property "${name}" must be a Ref to ${relation.entity().name}`);
|
|
31
|
-
}
|
|
32
|
+
for (const row of rows)
|
|
33
|
+
assertRelationValue(relation, row[name]);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
Serialize.assertRelations = assertRelations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serialize.js","sourceRoot":"","sources":["../../src/helpers/Serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"Serialize.js","sourceRoot":"","sources":["../../src/helpers/Serialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../../src/helpers/isPlainObject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAc,EACoB,EAAE;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE7D,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"isPlainObject.js","sourceRoot":"","sources":["../../src/helpers/isPlainObject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAc,EACoB,EAAE;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE7D,MAAM,SAAS,GAAY,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAEvD,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAA;AAC7D,CAAC,CAAA"}
|
package/dist/helpers/refs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Ref } from '../models/Ref.js';
|
|
2
2
|
import type { EntityConstructor, SerializableRowRef } from '../typings/ORM.js';
|
|
3
|
-
export declare const rowRefOf: (ref: Ref<
|
|
3
|
+
export declare const rowRefOf: <T>(ref: Ref<T>) => SerializableRowRef;
|
|
4
4
|
export declare const entityOf: <T>(ref: Ref<T>) => EntityConstructor<T>;
|
|
5
5
|
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/helpers/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE9E,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/helpers/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE9E,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAG,kBAAgC,CAAA;AAE1E,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAG,iBAAiB,CAAC,CAAC,CAAkB,CAAA"}
|
package/dist/helpers/refs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/helpers/refs.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/helpers/refs.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAW,EAAsB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAW,EAAwB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -42,5 +42,6 @@ export declare class MapCollection<T> extends SerializableClass {
|
|
|
42
42
|
}>;
|
|
43
43
|
protected fromSerializable(serializable: PromiseLikeType<ReturnType<this['toSerializable']>>, deserializer: Deserializer): Promise<void>;
|
|
44
44
|
private getItems;
|
|
45
|
+
private get loadedRows();
|
|
45
46
|
}
|
|
46
47
|
//# sourceMappingURL=MapCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapCollection.d.ts","sourceRoot":"","sources":["../../src/models/MapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQlD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,kBAAkB,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,KAAK;IACjD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;CACf;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,OAAO,CAAC,KAAK,CAAC,CAAK;gBAGjB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"MapCollection.d.ts","sourceRoot":"","sources":["../../src/models/MapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQlD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,kBAAkB,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,KAAK;IACjD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;CACf;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,OAAO,CAAC,KAAK,CAAC,CAAK;gBAGjB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,mBAAmB;IAU7B,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,OAAO,KAAK,KAAK,GAEhB;IAEY,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EAC7C,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAwB7B,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAoB5C,GAAG,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,EAAE,CAAC;IAIF,OAAO,CAClB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC;IAIH,MAAM,CACjB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC3D,OAAO,CAAC,CAAC,EAAE,CAAC;IAUF,IAAI,CACf,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC3D,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOZ,IAAI,CACf,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC;IAON,KAAK,CAChB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC;IAMN,MAAM,CAAC,CAAC,EACnB,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAChE,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,CAAC,CAAC;IASC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;IAI3C,cAAc,CAAC,UAAU,EAAE,UAAU;;;;;;;cAYlC,gBAAgB,CAC9B,YAAY,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACjE,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;YAcF,QAAQ;IAUtB,OAAO,KAAK,UAAU,GAMrB;CACF"}
|
|
@@ -14,6 +14,7 @@ export class MapCollection extends SerializableClass {
|
|
|
14
14
|
items;
|
|
15
15
|
constructor(orm, entity, source) {
|
|
16
16
|
super();
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- fromSerializable calls the constructor with no arguments
|
|
17
18
|
if (!source)
|
|
18
19
|
return;
|
|
19
20
|
Object.assign(this, { orm, entity, source });
|
|
@@ -50,7 +51,7 @@ export class MapCollection extends SerializableClass {
|
|
|
50
51
|
}
|
|
51
52
|
async toRefCollection() {
|
|
52
53
|
if (this.isLoaded)
|
|
53
|
-
return new RefCollection(this.orm, this.entity, this.
|
|
54
|
+
return new RefCollection(this.orm, this.entity, this.loadedRows.map(row => row.ref));
|
|
54
55
|
const refs = this.source.refs.length
|
|
55
56
|
? await find({
|
|
56
57
|
orm: this.orm,
|
|
@@ -69,7 +70,7 @@ export class MapCollection extends SerializableClass {
|
|
|
69
70
|
}
|
|
70
71
|
async filter(fn) {
|
|
71
72
|
const entities = await this.toArray();
|
|
72
|
-
const matches = await Promise.all(entities.map(fn));
|
|
73
|
+
const matches = await Promise.all(entities.map((entity, index) => Promise.resolve(fn(entity, index))));
|
|
73
74
|
return entities.filter((_, index) => matches[index]);
|
|
74
75
|
}
|
|
75
76
|
async find(fn) {
|
|
@@ -101,7 +102,7 @@ export class MapCollection extends SerializableClass {
|
|
|
101
102
|
orm: await serializer(this.orm),
|
|
102
103
|
table: getEntityTableName(this.entity),
|
|
103
104
|
mappedBy: this.source.mappedBy,
|
|
104
|
-
refs: await Promise.all(this.source.refs.map(ref => serializer(ref))),
|
|
105
|
+
refs: await Promise.all(this.source.refs.map(ref => Promise.resolve(serializer(ref)))),
|
|
105
106
|
orderBy: this.source.orderBy,
|
|
106
107
|
};
|
|
107
108
|
}
|
|
@@ -111,7 +112,7 @@ export class MapCollection extends SerializableClass {
|
|
|
111
112
|
entity: getEntityByTableName(serializable.table),
|
|
112
113
|
source: {
|
|
113
114
|
mappedBy: serializable.mappedBy,
|
|
114
|
-
refs: await Promise.all(serializable.refs.map(ref => deserializer(ref))),
|
|
115
|
+
refs: await Promise.all(serializable.refs.map(ref => Promise.resolve(deserializer(ref)))),
|
|
115
116
|
orderBy: serializable.orderBy,
|
|
116
117
|
},
|
|
117
118
|
});
|
|
@@ -119,8 +120,14 @@ export class MapCollection extends SerializableClass {
|
|
|
119
120
|
async getItems() {
|
|
120
121
|
if (!this.isLoaded)
|
|
121
122
|
await this.load();
|
|
122
|
-
this.items ??= this.
|
|
123
|
+
this.items ??= this.loadedRows.map(row => hydrateEntity(this.orm, this.entity, row));
|
|
123
124
|
return this.items;
|
|
124
125
|
}
|
|
126
|
+
get loadedRows() {
|
|
127
|
+
const { rows } = this.source;
|
|
128
|
+
if (!rows)
|
|
129
|
+
throw new Error('MapCollection is not loaded');
|
|
130
|
+
return rows;
|
|
131
|
+
}
|
|
125
132
|
}
|
|
126
133
|
//# sourceMappingURL=MapCollection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapCollection.js","sourceRoot":"","sources":["../../src/models/MapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,GAIlB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AASjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAa1C,MAAM,OAAO,aAAiB,SAAQ,iBAAiB;IACpC,GAAG,CAAM;IAET,MAAM,CAAuB;IAE7B,MAAM,CAAsB;IAErC,KAAK,CAAM;IAEnB,YACE,GAAQ,EACR,MAA4B,EAC5B,MAA2B;QAE3B,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAA;IACvC,CAAC;IAED,IAAY,KAAK;QACf,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;IAC9D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAqC;QAErC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ;YACrC,OAAO,IAAsC,CAAA;QAE/C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAA;QAExC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;YAClC,CAAC,CAAC,MAAM,IAAI,CAAC;gBACT,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,QAAQ;aACT,CAAC;YACJ,CAAC,CAAC,EAAE,CAAA;QAEN,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QAEtB,OAAO,IAAsC,CAAA;IAC/C,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,IAAI,IAAI,CAAC,QAAQ;YACf,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"MapCollection.js","sourceRoot":"","sources":["../../src/models/MapCollection.ts"],"names":[],"mappings":"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"}
|
package/dist/models/ORM.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export interface DeleteOptions<T> {
|
|
|
26
26
|
}
|
|
27
27
|
export declare class ORM extends SerializableClass {
|
|
28
28
|
readonly config: ORMConfig;
|
|
29
|
+
private readonly entities;
|
|
29
30
|
toSerializable(serializer: Serializer): Promise<{
|
|
30
31
|
connectionString: import("@t4h.framework/core").Serializable;
|
|
31
32
|
entities: {
|
|
@@ -60,6 +61,7 @@ export declare class ORM extends SerializableClass {
|
|
|
60
61
|
connectionString: Secret;
|
|
61
62
|
entities: EntityConstructor[];
|
|
62
63
|
});
|
|
64
|
+
getEntity(tableName: string): EntityConstructor;
|
|
63
65
|
create<T>(entity: EntityConstructor<T>, data: EntityCreateData<T>): Promise<Ref<T>>;
|
|
64
66
|
create<T>(entity: EntityConstructor<T>, data: EntityCreateData<T>[]): Promise<RefCollection<T>>;
|
|
65
67
|
private insert;
|
package/dist/models/ORM.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORM.d.ts","sourceRoot":"","sources":["../../src/models/ORM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQlD,OAAO,
|
|
1
|
+
{"version":3,"file":"ORM.d.ts","sourceRoot":"","sources":["../../src/models/ORM.ts"],"names":[],"mappings":"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"}
|
package/dist/models/ORM.js
CHANGED
|
@@ -8,7 +8,7 @@ import { ORMFindOneActivity } from '../activities/ORMFindOneActivity.js';
|
|
|
8
8
|
import { ORMUpsertActivity } from '../activities/ORMUpsertActivity.js';
|
|
9
9
|
import { applyDefaultProperties } from '../constraints/apply-default-properties.js';
|
|
10
10
|
import { assertConstraints } from '../constraints/assert-constraints.js';
|
|
11
|
-
import {
|
|
11
|
+
import { getEntityMetadata, getEntityRelations, getEntityTableName, } from '../decorators/metadata.js';
|
|
12
12
|
import { ConstraintError } from '../errors/ConstraintError.js';
|
|
13
13
|
import { Insert } from '../helpers/Insert.js';
|
|
14
14
|
import { Serialize } from '../helpers/Serialize.js';
|
|
@@ -19,6 +19,7 @@ const upsert = History.bind(ORMUpsertActivity);
|
|
|
19
19
|
const deleteOp = History.bind(ORMDeleteActivity);
|
|
20
20
|
export class ORM extends SerializableClass {
|
|
21
21
|
config;
|
|
22
|
+
entities = new Map();
|
|
22
23
|
async toSerializable(serializer) {
|
|
23
24
|
return {
|
|
24
25
|
connectionString: await serializer(this.config.connectionString),
|
|
@@ -43,25 +44,39 @@ export class ORM extends SerializableClass {
|
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
async fromSerializable(serializable, deserializer) {
|
|
47
|
+
const entities = serializable.entities.map(serialized => {
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-extraneous-class -- an empty class stands in for the entity of a serialized ORM
|
|
49
|
+
const entity = class {
|
|
50
|
+
};
|
|
51
|
+
Object.defineProperty(entity, 'name', { value: serialized.tableName });
|
|
52
|
+
const metadata = Object.assign(getEntityMetadata(entity), {
|
|
53
|
+
tableName: serialized.tableName,
|
|
54
|
+
indexes: serialized.indexes,
|
|
55
|
+
properties: new Map(serialized.properties.map(property => [property.name, property])),
|
|
56
|
+
relations: new Map(
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- data that older versions serialized has no relations
|
|
58
|
+
(serialized.relations ?? []).map(({ table, ...relation }) => [
|
|
59
|
+
relation.name,
|
|
60
|
+
{ ...relation, entity: () => this.getEntity(table) },
|
|
61
|
+
])),
|
|
62
|
+
});
|
|
63
|
+
this.entities.set(getEntityTableName(entity), entity);
|
|
64
|
+
return metadata;
|
|
65
|
+
});
|
|
46
66
|
Object.assign(this, {
|
|
47
67
|
config: {
|
|
48
68
|
connectionString: (await deserializer(serializable.connectionString)),
|
|
49
|
-
entities
|
|
50
|
-
tableName: entity.tableName,
|
|
51
|
-
indexes: entity.indexes,
|
|
52
|
-
properties: new Map(entity.properties.map(property => [property.name, property])),
|
|
53
|
-
relations: new Map((entity.relations ?? []).map(({ table, ...relation }) => [
|
|
54
|
-
relation.name,
|
|
55
|
-
{ ...relation, entity: () => getEntityByTableName(table) },
|
|
56
|
-
])),
|
|
57
|
-
})),
|
|
69
|
+
entities,
|
|
58
70
|
},
|
|
59
71
|
});
|
|
60
72
|
}
|
|
61
73
|
constructor(config) {
|
|
62
74
|
super();
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- fromSerializable calls the constructor with no arguments
|
|
63
76
|
if (!config)
|
|
64
77
|
return;
|
|
78
|
+
for (const entity of config.entities)
|
|
79
|
+
this.entities.set(getEntityTableName(entity), entity);
|
|
65
80
|
Object.assign(this, {
|
|
66
81
|
config: {
|
|
67
82
|
connectionString: config.connectionString,
|
|
@@ -69,6 +84,12 @@ export class ORM extends SerializableClass {
|
|
|
69
84
|
},
|
|
70
85
|
});
|
|
71
86
|
}
|
|
87
|
+
getEntity(tableName) {
|
|
88
|
+
const entity = this.entities.get(tableName);
|
|
89
|
+
if (!entity)
|
|
90
|
+
throw new Error(`ORM has no entity for table "${tableName}"`);
|
|
91
|
+
return entity;
|
|
92
|
+
}
|
|
72
93
|
async create(entity, data) {
|
|
73
94
|
const isBatch = Array.isArray(data);
|
|
74
95
|
const plan = await Insert.plan(entity, (isBatch ? data : [data]));
|
|
@@ -80,10 +101,16 @@ export class ORM extends SerializableClass {
|
|
|
80
101
|
async insert(plan) {
|
|
81
102
|
const relations = getEntityRelations(plan.entity);
|
|
82
103
|
for (const parent of plan.parents) {
|
|
83
|
-
const
|
|
104
|
+
const relation = relations.get(parent.relation);
|
|
105
|
+
if (!relation)
|
|
106
|
+
throw new Error(`Insert plan has no relation "${parent.relation}"`);
|
|
107
|
+
const target = relation.entity();
|
|
84
108
|
const refs = await this.insert(parent.plan);
|
|
85
|
-
parent.rows.forEach((
|
|
86
|
-
|
|
109
|
+
parent.rows.forEach((rowIndex, index) => {
|
|
110
|
+
const row = plan.rows[rowIndex];
|
|
111
|
+
if (!row)
|
|
112
|
+
throw new Error(`Insert plan has no row at index ${String(rowIndex)}`);
|
|
113
|
+
row[parent.relation] = new Ref(this, target, refs[index]);
|
|
87
114
|
});
|
|
88
115
|
}
|
|
89
116
|
const refs = await create({
|
|
@@ -93,7 +120,10 @@ export class ORM extends SerializableClass {
|
|
|
93
120
|
});
|
|
94
121
|
for (const child of plan.children) {
|
|
95
122
|
child.plan.rows.forEach((row, index) => {
|
|
96
|
-
|
|
123
|
+
const parent = child.parents[index];
|
|
124
|
+
if (parent === undefined)
|
|
125
|
+
throw new Error(`Insert plan has no parent for child row ${String(index)}`);
|
|
126
|
+
row[child.relation] = new Ref(this, plan.entity, refs[parent]);
|
|
97
127
|
});
|
|
98
128
|
await this.insert(child.plan);
|
|
99
129
|
}
|
|
@@ -105,12 +135,13 @@ export class ORM extends SerializableClass {
|
|
|
105
135
|
if (!conflictOn.length)
|
|
106
136
|
throw new Error('Upsert conflictOn properties cannot be empty');
|
|
107
137
|
const updates = (isBatch ? data : [data]);
|
|
108
|
-
for (const row of updates)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
138
|
+
for (const row of updates) {
|
|
139
|
+
const missingKey = conflictOn.find(key => row[key] === undefined);
|
|
140
|
+
if (missingKey !== undefined)
|
|
141
|
+
throw new ConstraintError(`Property "${missingKey}" is required to upsert`);
|
|
142
|
+
}
|
|
112
143
|
const inserts = applyDefaultProperties(updates, getEntityMetadata(entity));
|
|
113
|
-
|
|
144
|
+
assertConstraints(entity, inserts);
|
|
114
145
|
Serialize.assertRelations(entity, inserts);
|
|
115
146
|
const serializedInserts = Serialize.relations(entity, inserts);
|
|
116
147
|
const serializedUpdates = Serialize.relations(entity, updates);
|
|
@@ -118,10 +149,12 @@ export class ORM extends SerializableClass {
|
|
|
118
149
|
orm: this,
|
|
119
150
|
table: getEntityTableName(entity),
|
|
120
151
|
conflictOn,
|
|
121
|
-
data: serializedInserts.map((insert, index) =>
|
|
122
|
-
|
|
123
|
-
update
|
|
124
|
-
|
|
152
|
+
data: serializedInserts.map((insert, index) => {
|
|
153
|
+
const update = serializedUpdates[index];
|
|
154
|
+
if (!update)
|
|
155
|
+
throw new Error(`Upsert has no update row at index ${String(index)}`);
|
|
156
|
+
return { insert, update };
|
|
157
|
+
}),
|
|
125
158
|
});
|
|
126
159
|
if (isBatch)
|
|
127
160
|
return new RefCollection(this, entity, result);
|
|
@@ -131,8 +164,8 @@ export class ORM extends SerializableClass {
|
|
|
131
164
|
const ref = await findOne({
|
|
132
165
|
orm: this,
|
|
133
166
|
table: getEntityTableName(entity),
|
|
134
|
-
where: Serialize.where(options
|
|
135
|
-
orderBy: options
|
|
167
|
+
where: Serialize.where(options.where),
|
|
168
|
+
orderBy: options.orderBy,
|
|
136
169
|
});
|
|
137
170
|
if (!ref)
|
|
138
171
|
return null;
|
package/dist/models/ORM.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ORM.js","sourceRoot":"","sources":["../../src/models/ORM.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,GAKlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"ORM.js","sourceRoot":"","sources":["../../src/models/ORM.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../src/models/Ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAWnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAKhC,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,KAAK;IAC3C,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;CACf;AAED,qBAAa,GAAG,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAFH,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,kBAAkB;IAK7B,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACpD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../src/models/Ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAWnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAKhC,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,KAAK;IAC3C,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;CACf;AAED,qBAAa,GAAG,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAFH,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,kBAAkB;IAK7B,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACpD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAQrB,IAAI,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EACxC,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAS7B,OAAO,CAAC,YAAY;IAIP,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,cAAc,CAAC,UAAU,EAAE,UAAU;;;;;cAQlC,gBAAgB,CAC9B,YAAY,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACjE,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
|
package/dist/models/Ref.js
CHANGED
|
@@ -20,7 +20,6 @@ export class Ref extends SerializableClass {
|
|
|
20
20
|
this.ref = ref;
|
|
21
21
|
}
|
|
22
22
|
async getSnapshot(options) {
|
|
23
|
-
// TypeScript cannot match two instances of the recursive Populate<T>
|
|
24
23
|
const [snapshot] = await this.toCollection().getSnapshots(options);
|
|
25
24
|
return (snapshot ?? null);
|
|
26
25
|
}
|
|
@@ -34,11 +33,13 @@ export class Ref extends SerializableClass {
|
|
|
34
33
|
async update(data) {
|
|
35
34
|
const keys = Object.keys(data);
|
|
36
35
|
const row = applyDefaultProperties(data, getEntityMetadata(this.entity), keys);
|
|
37
|
-
|
|
36
|
+
assertConstraints(this.entity, [row], {
|
|
38
37
|
keys,
|
|
39
38
|
});
|
|
40
39
|
Serialize.assertRelations(this.entity, [row], { keys });
|
|
41
40
|
const [serialized] = Serialize.relations(this.entity, [row]);
|
|
41
|
+
if (!serialized)
|
|
42
|
+
throw new Error('Cannot update: the row did not serialize');
|
|
42
43
|
await update({
|
|
43
44
|
orm: this.orm,
|
|
44
45
|
table: getEntityTableName(this.entity),
|
package/dist/models/Ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ref.js","sourceRoot":"","sources":["../../src/models/Ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,GAIlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAanD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;AAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;AAM9C,MAAM,OAAO,GAAO,SAAQ,iBAAiB;IAExB;IACA;IACA;IAHnB,YACmB,GAAQ,EACR,MAA4B,EAC5B,GAAuB;QAExC,KAAK,EAAE,CAAA;QAJU,QAAG,GAAH,GAAG,CAAK;QACR,WAAM,GAAN,MAAM,CAAsB;QAC5B,QAAG,GAAH,GAAG,CAAoB;IAG1C,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,OAA+B;QAE/B,
|
|
1
|
+
{"version":3,"file":"Ref.js","sourceRoot":"","sources":["../../src/models/Ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefCollection.d.ts","sourceRoot":"","sources":["../../src/models/RefCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAUvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAKhC,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAEnB,cAAc,CAAC,UAAU,EAAE,UAAU;;;;;
|
|
1
|
+
{"version":3,"file":"RefCollection.d.ts","sourceRoot":"","sources":["../../src/models/RefCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAUvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAKhC,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAEnB,cAAc,CAAC,UAAU,EAAE,UAAU;;;;;cAUlC,gBAAgB,CAC9B,YAAY,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACjE,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;gBAWd,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,kBAAkB,EAAE;IAc5B,OAAO,KAAK,OAAO,GAElB;IAEY,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAoBzB,IAAI,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EACxC,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAmC7B,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;IAI1B,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,EAAE,CAAC;IAIF,OAAO,CAClB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC;IAMH,MAAM,CACjB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC7D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAQb,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAG7C"}
|
|
@@ -18,18 +18,19 @@ export class RefCollection extends SerializableClass {
|
|
|
18
18
|
return {
|
|
19
19
|
orm: await serializer(this.orm),
|
|
20
20
|
table: getEntityTableName(this.entity),
|
|
21
|
-
refs: await Promise.all(this.refs.map(ref => serializer(ref))),
|
|
21
|
+
refs: await Promise.all(this.refs.map(ref => Promise.resolve(serializer(ref)))),
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
async fromSerializable(serializable, deserializer) {
|
|
25
25
|
Object.assign(this, {
|
|
26
26
|
orm: await deserializer(serializable.orm),
|
|
27
27
|
entity: getEntityByTableName(serializable.table),
|
|
28
|
-
refs: await Promise.all(serializable.refs.map(ref => deserializer(ref))),
|
|
28
|
+
refs: await Promise.all(serializable.refs.map(ref => Promise.resolve(deserializer(ref)))),
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
constructor(orm, entity, refs) {
|
|
32
32
|
super();
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- fromSerializable calls the constructor with no arguments
|
|
33
34
|
if (!refs)
|
|
34
35
|
return;
|
|
35
36
|
Object.assign(this, {
|
|
@@ -91,10 +92,11 @@ export class RefCollection extends SerializableClass {
|
|
|
91
92
|
return Promise.all(this.refs.map(fn));
|
|
92
93
|
}
|
|
93
94
|
async forEach(fn) {
|
|
94
|
-
await Promise.all(this.refs.map(fn));
|
|
95
|
+
await Promise.all(this.refs.map((ref, index) => Promise.resolve(fn(ref, index))));
|
|
95
96
|
}
|
|
96
97
|
async filter(fn) {
|
|
97
|
-
|
|
98
|
+
const matches = await Promise.all(this.refs.map((ref, index) => Promise.resolve(fn(ref, index))));
|
|
99
|
+
return this.refs.filter((_, index) => matches[index]);
|
|
98
100
|
}
|
|
99
101
|
[Symbol.iterator]() {
|
|
100
102
|
return this.refs[Symbol.iterator]();
|