joist-orm 1.0.677 → 1.0.681
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/build/src/EntityManager.d.ts +7 -4
- package/build/src/EntityManager.js +25 -12
- package/build/src/EntityManager.js.map +1 -1
- package/build/src/QueryBuilder.js +8 -10
- package/build/src/QueryBuilder.js.map +1 -1
- package/build/src/dataloaders/oneToManyDataLoader.js +1 -1
- package/build/src/dataloaders/oneToManyDataLoader.js.map +1 -1
- package/build/src/dataloaders/oneToOneDataLoader.d.ts +2 -2
- package/build/src/dataloaders/oneToOneDataLoader.js +2 -2
- package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
- package/build/src/drivers/InMemoryDriver.d.ts +3 -2
- package/build/src/drivers/InMemoryDriver.js +4 -7
- package/build/src/drivers/InMemoryDriver.js.map +1 -1
- package/build/src/drivers/PostgresDriver.d.ts +3 -2
- package/build/src/drivers/PostgresDriver.js +2 -3
- package/build/src/drivers/PostgresDriver.js.map +1 -1
- package/build/src/drivers/driver.d.ts +2 -2
- package/build/src/index.d.ts +3 -73
- package/build/src/index.js +2 -49
- package/build/src/index.js.map +1 -1
- package/build/src/keys.js +2 -2
- package/build/src/keys.js.map +1 -1
- package/build/src/loadLens.d.ts +2 -2
- package/build/src/loadLens.js +1 -1
- package/build/src/loadLens.js.map +1 -1
- package/build/src/relations/Collection.d.ts +23 -0
- package/build/src/relations/Collection.js +19 -0
- package/build/src/relations/Collection.js.map +1 -0
- package/build/src/relations/CustomCollection.d.ts +3 -0
- package/build/src/relations/CustomCollection.js +6 -1
- package/build/src/relations/CustomCollection.js.map +1 -1
- package/build/src/relations/CustomReference.d.ts +5 -0
- package/build/src/relations/CustomReference.js +8 -1
- package/build/src/relations/CustomReference.js.map +1 -1
- package/build/src/relations/ManyToManyCollection.d.ts +5 -0
- package/build/src/relations/ManyToManyCollection.js +13 -2
- package/build/src/relations/ManyToManyCollection.js.map +1 -1
- package/build/src/relations/ManyToOneReference.d.ts +21 -2
- package/build/src/relations/ManyToOneReference.js +25 -9
- package/build/src/relations/ManyToOneReference.js.map +1 -1
- package/build/src/relations/OneToManyCollection.d.ts +5 -0
- package/build/src/relations/OneToManyCollection.js +14 -3
- package/build/src/relations/OneToManyCollection.js.map +1 -1
- package/build/src/relations/OneToOneReference.d.ts +31 -2
- package/build/src/relations/OneToOneReference.js +30 -6
- package/build/src/relations/OneToOneReference.js.map +1 -1
- package/build/src/relations/PolymorphicReference.d.ts +19 -1
- package/build/src/relations/PolymorphicReference.js +28 -15
- package/build/src/relations/PolymorphicReference.js.map +1 -1
- package/build/src/relations/Reference.d.ts +29 -0
- package/build/src/relations/Reference.js +23 -0
- package/build/src/relations/Reference.js.map +1 -0
- package/build/src/relations/Relation.d.ts +10 -0
- package/build/src/relations/Relation.js +13 -0
- package/build/src/relations/Relation.js.map +1 -0
- package/build/src/relations/hasAsyncProperty.d.ts +4 -0
- package/build/src/relations/hasAsyncProperty.js +13 -4
- package/build/src/relations/hasAsyncProperty.js.map +1 -1
- package/build/src/relations/hasManyDerived.js +1 -1
- package/build/src/relations/hasManyDerived.js.map +1 -1
- package/build/src/relations/index.d.ts +9 -15
- package/build/src/relations/index.js +21 -34
- package/build/src/relations/index.js.map +1 -1
- package/build/src/serde.js +8 -16
- package/build/src/serde.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
+
exports.PolymorphicReferenceImpl = exports.isPolymorphicReference = exports.hasOnePolymorphic = void 0;
|
|
4
5
|
const EntityManager_1 = require("../EntityManager");
|
|
5
6
|
const index_1 = require("../index");
|
|
6
7
|
const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
|
|
7
8
|
const OneToManyCollection_1 = require("./OneToManyCollection");
|
|
9
|
+
const Reference_1 = require("./Reference");
|
|
10
|
+
const Relation_1 = require("./Relation");
|
|
11
|
+
function hasOnePolymorphic(fieldName) {
|
|
12
|
+
const entity = EntityManager_1.currentlyInstantiatingEntity;
|
|
13
|
+
return new PolymorphicReferenceImpl(entity, fieldName);
|
|
14
|
+
}
|
|
15
|
+
exports.hasOnePolymorphic = hasOnePolymorphic;
|
|
16
|
+
/** Type guard utility for determining if an entity field is a PolymorphicReference. */
|
|
17
|
+
function isPolymorphicReference(maybeReference) {
|
|
18
|
+
return maybeReference instanceof PolymorphicReferenceImpl;
|
|
19
|
+
}
|
|
20
|
+
exports.isPolymorphicReference = isPolymorphicReference;
|
|
8
21
|
/**
|
|
9
22
|
* Manages a set of foreign keys from one entity to another, i.e. `Comment.parent --> Book | BookReview`.
|
|
10
23
|
*
|
|
@@ -16,13 +29,16 @@ const OneToManyCollection_1 = require("./OneToManyCollection");
|
|
|
16
29
|
* essentially be half of a one-to-one relationship, but we'll keep using this reference on the "owning" side; the other
|
|
17
30
|
* side, i.e. `BookReview.comment` will use a `OneToOneReference` to point back to us.
|
|
18
31
|
*/
|
|
19
|
-
class
|
|
32
|
+
class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
20
33
|
constructor(entity, fieldName) {
|
|
21
34
|
super();
|
|
22
35
|
this.entity = entity;
|
|
23
36
|
this.fieldName = fieldName;
|
|
24
37
|
// We need a separate boolean to b/c loaded == undefined can still mean "_isLoaded" for nullable fks.
|
|
25
38
|
this._isLoaded = false;
|
|
39
|
+
this[_a] = null;
|
|
40
|
+
this[_b] = null;
|
|
41
|
+
this[_c] = null;
|
|
26
42
|
this.field = (0, EntityManager_1.getMetadata)(entity).fields.find((f) => f.fieldName === this.fieldName);
|
|
27
43
|
}
|
|
28
44
|
get currentComponent() {
|
|
@@ -30,8 +46,7 @@ class PolymorphicReference extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
30
46
|
return this.field.components.find((c) => c.otherMetadata().cstr === cstr);
|
|
31
47
|
}
|
|
32
48
|
get isCascadeDelete() {
|
|
33
|
-
|
|
34
|
-
return ((_b = (_a = this.currentComponent) === null || _a === void 0 ? void 0 : _a.otherMetadata().config.__data.cascadeDeleteFields.includes(this.fieldName)) !== null && _b !== void 0 ? _b : false);
|
|
49
|
+
return (this.currentComponent?.otherMetadata().config.__data.cascadeDeleteFields.includes(this.fieldName) ?? false);
|
|
35
50
|
}
|
|
36
51
|
async load(opts) {
|
|
37
52
|
(0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
|
|
@@ -131,18 +146,17 @@ class PolymorphicReference extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
131
146
|
}
|
|
132
147
|
// Internal method used by PolymorphicReference
|
|
133
148
|
setImpl(other) {
|
|
134
|
-
|
|
135
|
-
if ((other === null || other === void 0 ? void 0 : other.isNewEntity) ? other === this.loaded : this.id === (other === null || other === void 0 ? void 0 : other.id)) {
|
|
149
|
+
if (other?.isNewEntity ? other === this.loaded : this.id === other?.id) {
|
|
136
150
|
return;
|
|
137
151
|
}
|
|
138
152
|
if (other !== undefined && !this.field.components.some((c) => other instanceof c.otherMetadata().cstr)) {
|
|
139
153
|
(0, index_1.fail)(`${other} cannot be set as '${this.field.fieldName}' on ${this.entity}`);
|
|
140
154
|
}
|
|
141
155
|
// we may not be loaded yet, but our previous entity might already be in the UoW
|
|
142
|
-
const previousLoaded =
|
|
156
|
+
const previousLoaded = this.loaded ?? this.maybeFindExisting();
|
|
143
157
|
(0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
|
|
144
158
|
// Prefer to keep the id in our data hash, but if this is a new entity w/o an id, use the entity itself
|
|
145
|
-
const changed = (0, index_1.setField)(this.entity, this.fieldName,
|
|
159
|
+
const changed = (0, index_1.setField)(this.entity, this.fieldName, other?.id ?? other);
|
|
146
160
|
if (!changed) {
|
|
147
161
|
return;
|
|
148
162
|
}
|
|
@@ -170,28 +184,27 @@ class PolymorphicReference extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
170
184
|
}
|
|
171
185
|
// We need to keep U in data[fieldName] to handle entities without an id assigned yet.
|
|
172
186
|
current(opts) {
|
|
173
|
-
|
|
174
|
-
const current = this.entity.__orm.data[(_a = this.fieldName) !== null && _a !== void 0 ? _a : ""];
|
|
187
|
+
const current = this.entity.__orm.data[this.fieldName ?? ""];
|
|
175
188
|
if (current !== undefined && (0, EntityManager_1.isEntity)(current)) {
|
|
176
189
|
return this.filterDeleted(current, opts);
|
|
177
190
|
}
|
|
178
191
|
return current;
|
|
179
192
|
}
|
|
180
193
|
toString() {
|
|
181
|
-
|
|
182
|
-
return `PolymorphicReference(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${(_a = this.currentComponent) === null || _a === void 0 ? void 0 : _a.otherMetadata().type}, otherFieldName: ${(_b = this.currentComponent) === null || _b === void 0 ? void 0 : _b.otherFieldName}, id: ${this.id})`;
|
|
194
|
+
return `PolymorphicReference(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.currentComponent?.otherMetadata().type}, otherFieldName: ${this.currentComponent?.otherFieldName}, id: ${this.id})`;
|
|
183
195
|
}
|
|
184
196
|
filterDeleted(entity, opts) {
|
|
185
|
-
return
|
|
197
|
+
return opts?.withDeleted === true || entity === undefined || !entity.isDeletedEntity ? entity : undefined;
|
|
186
198
|
}
|
|
187
199
|
/** Returns the other relation that points back at us, i.e. we're `comment.parent_book_id` and this is `Book.comments`. */
|
|
188
200
|
getOtherRelation(other) {
|
|
189
201
|
const component = this.field.components.find((c) => c.otherMetadata().cstr === other.constructor);
|
|
190
|
-
return other[component
|
|
202
|
+
return other[component?.otherFieldName];
|
|
191
203
|
}
|
|
192
204
|
maybeFindExisting() {
|
|
193
205
|
return this.id !== undefined ? (0, index_1.getEm)(this.entity)["findExistingInstance"](this.id) : undefined;
|
|
194
206
|
}
|
|
195
207
|
}
|
|
196
|
-
exports.
|
|
208
|
+
exports.PolymorphicReferenceImpl = PolymorphicReferenceImpl;
|
|
209
|
+
_a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
|
|
197
210
|
//# sourceMappingURL=PolymorphicReference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Entity, IdOf } from "../EntityManager";
|
|
2
|
+
import { Relation } from "./Relation";
|
|
3
|
+
export declare const ReferenceN: unique symbol;
|
|
4
|
+
/**
|
|
5
|
+
* A many-to-one / foreign key from `T` to `U`, i.e. book to author.
|
|
6
|
+
*
|
|
7
|
+
* The `N` generic is for whether the field is optional (i.e. the foreign key column is
|
|
8
|
+
* nullable). If it is optional, `N` will be `undefined`, which makes the return types
|
|
9
|
+
* `U | undefined`. If it is not optional, `N` will be `never`, making the return types
|
|
10
|
+
* `U | never` which becomes just `U`.
|
|
11
|
+
*/
|
|
12
|
+
export interface Reference<T extends Entity, U extends Entity, N extends never | undefined> extends Relation<T, U> {
|
|
13
|
+
readonly isLoaded: boolean;
|
|
14
|
+
load(opts?: {
|
|
15
|
+
withDeleted: boolean;
|
|
16
|
+
}): Promise<U | N>;
|
|
17
|
+
set(other: U | N): void;
|
|
18
|
+
[ReferenceN]: N;
|
|
19
|
+
}
|
|
20
|
+
/** Adds a known-safe `get` accessor. */
|
|
21
|
+
export interface LoadedReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
|
|
22
|
+
id: IdOf<U> | N;
|
|
23
|
+
get: U | N;
|
|
24
|
+
getWithDeleted: U | N;
|
|
25
|
+
}
|
|
26
|
+
/** Type guard utility for determining if an entity field is a Reference. */
|
|
27
|
+
export declare function isReference(maybeReference: any): maybeReference is Reference<any, any, any>;
|
|
28
|
+
/** Type guard utility for determining if an entity field is a loaded Reference. */
|
|
29
|
+
export declare function isLoadedReference(maybeReference: any): maybeReference is Reference<any, any, any> & LoadedReference<any, any, any>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLoadedReference = exports.isReference = exports.ReferenceN = void 0;
|
|
4
|
+
const CustomReference_1 = require("./CustomReference");
|
|
5
|
+
const ManyToOneReference_1 = require("./ManyToOneReference");
|
|
6
|
+
const OneToOneReference_1 = require("./OneToOneReference");
|
|
7
|
+
const PolymorphicReference_1 = require("./PolymorphicReference");
|
|
8
|
+
// Exported and used in sub-interfaces/types per https://stackoverflow.com/a/70437874/355031
|
|
9
|
+
exports.ReferenceN = Symbol();
|
|
10
|
+
/** Type guard utility for determining if an entity field is a Reference. */
|
|
11
|
+
function isReference(maybeReference) {
|
|
12
|
+
return (maybeReference instanceof OneToOneReference_1.OneToOneReferenceImpl ||
|
|
13
|
+
maybeReference instanceof ManyToOneReference_1.ManyToOneReferenceImpl ||
|
|
14
|
+
maybeReference instanceof CustomReference_1.CustomReference ||
|
|
15
|
+
maybeReference instanceof PolymorphicReference_1.PolymorphicReferenceImpl);
|
|
16
|
+
}
|
|
17
|
+
exports.isReference = isReference;
|
|
18
|
+
/** Type guard utility for determining if an entity field is a loaded Reference. */
|
|
19
|
+
function isLoadedReference(maybeReference) {
|
|
20
|
+
return isReference(maybeReference) && maybeReference.isLoaded;
|
|
21
|
+
}
|
|
22
|
+
exports.isLoadedReference = isLoadedReference;
|
|
23
|
+
//# sourceMappingURL=Reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/relations/Reference.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AACpD,6DAA8D;AAC9D,2DAA4D;AAC5D,iEAAkE;AAGlE,4FAA4F;AAC/E,QAAA,UAAU,GAAG,MAAM,EAAE,CAAC;AAqCnC,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,cAAmB;IAC7C,OAAO,CACL,cAAc,YAAY,yCAAqB;QAC/C,cAAc,YAAY,2CAAsB;QAChD,cAAc,YAAY,iCAAe;QACzC,cAAc,YAAY,+CAAwB,CACnD,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,mFAAmF;AACnF,SAAgB,iBAAiB,CAC/B,cAAmB;IAEnB,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC;AAChE,CAAC;AAJD,8CAIC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Entity } from "../EntityManager";
|
|
2
|
+
export declare const RelationT: unique symbol;
|
|
3
|
+
export declare const RelationU: unique symbol;
|
|
4
|
+
/** A relationship from `T` to `U`, could be any of many-to-one, one-to-many, or many-to-many. */
|
|
5
|
+
export interface Relation<T extends Entity, U extends Entity> {
|
|
6
|
+
[RelationT]: T;
|
|
7
|
+
[RelationU]: U;
|
|
8
|
+
}
|
|
9
|
+
/** Type guard utility for determining if an entity field is a Relation. */
|
|
10
|
+
export declare function isRelation(maybeRelation: any): maybeRelation is Relation<any, any>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRelation = exports.RelationU = exports.RelationT = void 0;
|
|
4
|
+
const Collection_1 = require("./Collection");
|
|
5
|
+
const Reference_1 = require("./Reference");
|
|
6
|
+
exports.RelationT = Symbol();
|
|
7
|
+
exports.RelationU = Symbol();
|
|
8
|
+
/** Type guard utility for determining if an entity field is a Relation. */
|
|
9
|
+
function isRelation(maybeRelation) {
|
|
10
|
+
return (0, Reference_1.isReference)(maybeRelation) || (0, Collection_1.isCollection)(maybeRelation);
|
|
11
|
+
}
|
|
12
|
+
exports.isRelation = isRelation;
|
|
13
|
+
//# sourceMappingURL=Relation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../src/relations/Relation.ts"],"names":[],"mappings":";;;AACA,6CAA4C;AAC5C,2CAA0C;AAE7B,QAAA,SAAS,GAAG,MAAM,EAAE,CAAC;AACrB,QAAA,SAAS,GAAG,MAAM,EAAE,CAAC;AAclC,2EAA2E;AAC3E,SAAgB,UAAU,CAAC,aAAkB;IAC3C,OAAO,IAAA,uBAAW,EAAC,aAAa,CAAC,IAAI,IAAA,yBAAY,EAAC,aAAa,CAAC,CAAC;AACnE,CAAC;AAFD,gCAEC"}
|
|
@@ -28,4 +28,8 @@ export declare class AsyncPropertyImpl<T extends Entity, H extends LoadHint<T>,
|
|
|
28
28
|
get get(): V;
|
|
29
29
|
get isLoaded(): boolean;
|
|
30
30
|
}
|
|
31
|
+
/** Type guard utility for determining if an entity field is an AsyncProperty. */
|
|
32
|
+
export declare function isAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any>;
|
|
33
|
+
/** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
|
|
34
|
+
export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any> & LoadedProperty<any, any>;
|
|
31
35
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncPropertyImpl = exports.hasAsyncProperty = void 0;
|
|
3
|
+
exports.isLoadedAsyncProperty = exports.isAsyncProperty = exports.AsyncPropertyImpl = exports.hasAsyncProperty = void 0;
|
|
4
4
|
const index_1 = require("../index");
|
|
5
5
|
const I = Symbol();
|
|
6
6
|
/**
|
|
@@ -23,15 +23,14 @@ class AsyncPropertyImpl {
|
|
|
23
23
|
this.loaded = false;
|
|
24
24
|
}
|
|
25
25
|
load() {
|
|
26
|
-
var _a;
|
|
27
26
|
const { entity, loadHint, fn } = this;
|
|
28
27
|
if (!this.loaded) {
|
|
29
|
-
return (
|
|
28
|
+
return (this.loadPromise ?? (this.loadPromise = (0, index_1.getEm)(entity)
|
|
30
29
|
.populate(entity, loadHint)
|
|
31
30
|
.then((loaded) => {
|
|
32
31
|
this.loaded = true;
|
|
33
32
|
return fn(loaded);
|
|
34
|
-
}));
|
|
33
|
+
})));
|
|
35
34
|
}
|
|
36
35
|
return Promise.resolve(this.get);
|
|
37
36
|
}
|
|
@@ -44,4 +43,14 @@ class AsyncPropertyImpl {
|
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
45
|
exports.AsyncPropertyImpl = AsyncPropertyImpl;
|
|
46
|
+
/** Type guard utility for determining if an entity field is an AsyncProperty. */
|
|
47
|
+
function isAsyncProperty(maybeAsyncProperty) {
|
|
48
|
+
return maybeAsyncProperty instanceof AsyncPropertyImpl;
|
|
49
|
+
}
|
|
50
|
+
exports.isAsyncProperty = isAsyncProperty;
|
|
51
|
+
/** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
|
|
52
|
+
function isLoadedAsyncProperty(maybeAsyncProperty) {
|
|
53
|
+
return isAsyncProperty(maybeAsyncProperty) && maybeAsyncProperty.isLoaded;
|
|
54
|
+
}
|
|
55
|
+
exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
|
|
47
56
|
//# sourceMappingURL=hasAsyncProperty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasAsyncProperty.js","sourceRoot":"","sources":["../../../src/relations/hasAsyncProperty.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAYnB;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,QAAW,EACX,EAA+B;IAE/B,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAND,4CAMC;AAED,MAAa,iBAAiB;IAG5B,YAAoB,MAAS,EAAU,QAAW,EAAU,EAA+B;QAAvE,WAAM,GAAN,MAAM,CAAG;QAAU,aAAQ,GAAR,QAAQ,CAAG;QAAU,OAAE,GAAF,EAAE,CAA6B;QAFnF,WAAM,GAAG,KAAK,CAAC;IAEuE,CAAC;IAE/F,IAAI
|
|
1
|
+
{"version":3,"file":"hasAsyncProperty.js","sourceRoot":"","sources":["../../../src/relations/hasAsyncProperty.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAYnB;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,QAAW,EACX,EAA+B;IAE/B,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAND,4CAMC;AAED,MAAa,iBAAiB;IAG5B,YAAoB,MAAS,EAAU,QAAW,EAAU,EAA+B;QAAvE,WAAM,GAAN,MAAM,CAAG;QAAU,aAAQ,GAAR,QAAQ,CAAG;QAAU,OAAE,GAAF,EAAE,CAA6B;QAFnF,WAAM,GAAG,KAAK,CAAC;IAEuE,CAAC;IAE/F,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,WAAW,KAAhB,IAAI,CAAC,WAAW,GAAK,IAAA,aAAK,EAAC,MAAM,CAAC;iBACvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;iBAC1B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,EAAC,CAAC;SACP;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG;QACL,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC5B,OAAO,EAAE,CAAC,MAAsB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AA1BD,8CA0BC;AAED,iFAAiF;AACjF,SAAgB,eAAe,CAAC,kBAAuB;IACrD,OAAO,kBAAkB,YAAY,iBAAiB,CAAC;AACzD,CAAC;AAFD,0CAEC;AAED,uFAAuF;AACvF,SAAgB,qBAAqB,CACnC,kBAAuB;IAEvB,OAAO,eAAe,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAJD,sDAIC"}
|
|
@@ -14,7 +14,7 @@ function hasManyDerived(loadHint, opts) {
|
|
|
14
14
|
const entity = __1.currentlyInstantiatingEntity;
|
|
15
15
|
const { load, ...rest } = opts;
|
|
16
16
|
return new CustomCollection_1.CustomCollection(entity, {
|
|
17
|
-
load: load
|
|
17
|
+
load: load ?? ((entity) => (0, __1.getEm)(entity).populate(entity, loadHint)),
|
|
18
18
|
...rest,
|
|
19
19
|
});
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasManyDerived.js","sourceRoot":"","sources":["../../../src/relations/hasManyDerived.ts"],"names":[],"mappings":";;;AAAA,2BAAsE;AAEtE,yDAAsD;AAUtD;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,QAAW,EACX,IAAiC;IAEjC,MAAM,MAAM,GAAM,gCAAiC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,mCAAgB,CAAO,MAAM,EAAE;QACxC,IAAI,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"hasManyDerived.js","sourceRoot":"","sources":["../../../src/relations/hasManyDerived.ts"],"names":[],"mappings":";;;AAAA,2BAAsE;AAEtE,yDAAsD;AAUtD;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,QAAW,EACX,IAAiC;IAEjC,MAAM,MAAM,GAAM,gCAAiC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,mCAAgB,CAAO,MAAM,EAAE;QACxC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,SAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,GAAI,IAAY;KACjB,CAAC,CAAC;AACL,CAAC;AAVD,wCAUC"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
export { Collection, isCollection, isLoadedCollection, LoadedCollection } from "./Collection";
|
|
2
2
|
export { CustomCollection } from "./CustomCollection";
|
|
3
3
|
export { CustomReference } from "./CustomReference";
|
|
4
|
-
export { AsyncProperty, hasAsyncProperty, LoadedProperty } from "./hasAsyncProperty";
|
|
4
|
+
export { AsyncProperty, hasAsyncProperty, isAsyncProperty, isLoadedAsyncProperty, LoadedProperty, } from "./hasAsyncProperty";
|
|
5
5
|
export { hasManyDerived } from "./hasManyDerived";
|
|
6
6
|
export { hasManyThrough } from "./hasManyThrough";
|
|
7
7
|
export { hasOneDerived } from "./hasOneDerived";
|
|
8
8
|
export { hasOneThrough } from "./hasOneThrough";
|
|
9
|
-
export { ManyToManyCollection } from "./ManyToManyCollection";
|
|
10
|
-
export { ManyToOneReference } from "./ManyToOneReference";
|
|
11
|
-
export { OneToManyCollection } from "./OneToManyCollection";
|
|
12
|
-
export { OneToOneReference } from "./OneToOneReference";
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
export declare function hasOne<T extends Entity, U extends Entity, N extends never | undefined>(otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U): Reference<T, U, N>;
|
|
17
|
-
export declare function hasOnePolymorphic<T extends Entity, U extends Entity, N extends never | undefined>(fieldName: keyof T): Reference<T, U, N>;
|
|
18
|
-
/** An alias for creating `OneToOneReference`s. */
|
|
19
|
-
export declare function hasOneToOne<T extends Entity, U extends Entity>(otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U, otherColumnName: string): Reference<T, U, undefined>;
|
|
20
|
-
/** An alias for creating `ManyToManyCollections`s. */
|
|
21
|
-
export declare function hasManyToMany<T extends Entity, U extends Entity>(joinTableName: string, fieldName: keyof T, columnName: string, otherMeta: EntityMetadata<U>, otherFieldName: keyof U, otherColumnName: string): Collection<T, U>;
|
|
9
|
+
export { hasManyToMany, ManyToManyCollection } from "./ManyToManyCollection";
|
|
10
|
+
export { hasOne, isManyToOneReference, ManyToOneReference } from "./ManyToOneReference";
|
|
11
|
+
export { hasMany, OneToManyCollection } from "./OneToManyCollection";
|
|
12
|
+
export { hasOneToOne, isLoadedOneToOneReference, isOneToOneReference, OneToOneReference } from "./OneToOneReference";
|
|
13
|
+
export { hasOnePolymorphic, isPolymorphicReference, PolymorphicReference } from "./PolymorphicReference";
|
|
14
|
+
export { isLoadedReference, isReference, LoadedReference, Reference } from "./Reference";
|
|
15
|
+
export { isRelation, Relation } from "./Relation";
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
exports.isRelation = exports.isReference = exports.isLoadedReference = exports.isPolymorphicReference = exports.hasOnePolymorphic = exports.isOneToOneReference = exports.isLoadedOneToOneReference = exports.hasOneToOne = exports.OneToManyCollection = exports.hasMany = exports.isManyToOneReference = exports.hasOne = exports.ManyToManyCollection = exports.hasManyToMany = exports.hasOneThrough = exports.hasOneDerived = exports.hasManyThrough = exports.hasManyDerived = exports.isLoadedAsyncProperty = exports.isAsyncProperty = exports.hasAsyncProperty = exports.CustomReference = exports.CustomCollection = exports.isLoadedCollection = exports.isCollection = void 0;
|
|
4
|
+
var Collection_1 = require("./Collection");
|
|
5
|
+
Object.defineProperty(exports, "isCollection", { enumerable: true, get: function () { return Collection_1.isCollection; } });
|
|
6
|
+
Object.defineProperty(exports, "isLoadedCollection", { enumerable: true, get: function () { return Collection_1.isLoadedCollection; } });
|
|
6
7
|
var CustomCollection_1 = require("./CustomCollection");
|
|
7
8
|
Object.defineProperty(exports, "CustomCollection", { enumerable: true, get: function () { return CustomCollection_1.CustomCollection; } });
|
|
8
9
|
var CustomReference_1 = require("./CustomReference");
|
|
9
10
|
Object.defineProperty(exports, "CustomReference", { enumerable: true, get: function () { return CustomReference_1.CustomReference; } });
|
|
10
11
|
var hasAsyncProperty_1 = require("./hasAsyncProperty");
|
|
11
12
|
Object.defineProperty(exports, "hasAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.hasAsyncProperty; } });
|
|
13
|
+
Object.defineProperty(exports, "isAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.isAsyncProperty; } });
|
|
14
|
+
Object.defineProperty(exports, "isLoadedAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.isLoadedAsyncProperty; } });
|
|
12
15
|
var hasManyDerived_1 = require("./hasManyDerived");
|
|
13
16
|
Object.defineProperty(exports, "hasManyDerived", { enumerable: true, get: function () { return hasManyDerived_1.hasManyDerived; } });
|
|
14
17
|
var hasManyThrough_1 = require("./hasManyThrough");
|
|
@@ -18,40 +21,24 @@ Object.defineProperty(exports, "hasOneDerived", { enumerable: true, get: functio
|
|
|
18
21
|
var hasOneThrough_1 = require("./hasOneThrough");
|
|
19
22
|
Object.defineProperty(exports, "hasOneThrough", { enumerable: true, get: function () { return hasOneThrough_1.hasOneThrough; } });
|
|
20
23
|
var ManyToManyCollection_1 = require("./ManyToManyCollection");
|
|
24
|
+
Object.defineProperty(exports, "hasManyToMany", { enumerable: true, get: function () { return ManyToManyCollection_1.hasManyToMany; } });
|
|
21
25
|
Object.defineProperty(exports, "ManyToManyCollection", { enumerable: true, get: function () { return ManyToManyCollection_1.ManyToManyCollection; } });
|
|
22
26
|
var ManyToOneReference_1 = require("./ManyToOneReference");
|
|
23
|
-
Object.defineProperty(exports, "
|
|
27
|
+
Object.defineProperty(exports, "hasOne", { enumerable: true, get: function () { return ManyToOneReference_1.hasOne; } });
|
|
28
|
+
Object.defineProperty(exports, "isManyToOneReference", { enumerable: true, get: function () { return ManyToOneReference_1.isManyToOneReference; } });
|
|
24
29
|
var OneToManyCollection_1 = require("./OneToManyCollection");
|
|
30
|
+
Object.defineProperty(exports, "hasMany", { enumerable: true, get: function () { return OneToManyCollection_1.hasMany; } });
|
|
25
31
|
Object.defineProperty(exports, "OneToManyCollection", { enumerable: true, get: function () { return OneToManyCollection_1.OneToManyCollection; } });
|
|
26
32
|
var OneToOneReference_1 = require("./OneToOneReference");
|
|
27
|
-
Object.defineProperty(exports, "
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
exports.hasOne = hasOne;
|
|
40
|
-
function hasOnePolymorphic(fieldName) {
|
|
41
|
-
const entity = __1.currentlyInstantiatingEntity;
|
|
42
|
-
return new PolymorphicReference_1.PolymorphicReference(entity, fieldName);
|
|
43
|
-
}
|
|
44
|
-
exports.hasOnePolymorphic = hasOnePolymorphic;
|
|
45
|
-
/** An alias for creating `OneToOneReference`s. */
|
|
46
|
-
function hasOneToOne(otherMeta, fieldName, otherFieldName, otherColumnName) {
|
|
47
|
-
const entity = __1.currentlyInstantiatingEntity;
|
|
48
|
-
return new __1.OneToOneReference(entity, otherMeta, fieldName, otherFieldName, otherColumnName);
|
|
49
|
-
}
|
|
50
|
-
exports.hasOneToOne = hasOneToOne;
|
|
51
|
-
/** An alias for creating `ManyToManyCollections`s. */
|
|
52
|
-
function hasManyToMany(joinTableName, fieldName, columnName, otherMeta, otherFieldName, otherColumnName) {
|
|
53
|
-
const entity = __1.currentlyInstantiatingEntity;
|
|
54
|
-
return new __1.ManyToManyCollection(joinTableName, entity, fieldName, columnName, otherMeta, otherFieldName, otherColumnName);
|
|
55
|
-
}
|
|
56
|
-
exports.hasManyToMany = hasManyToMany;
|
|
33
|
+
Object.defineProperty(exports, "hasOneToOne", { enumerable: true, get: function () { return OneToOneReference_1.hasOneToOne; } });
|
|
34
|
+
Object.defineProperty(exports, "isLoadedOneToOneReference", { enumerable: true, get: function () { return OneToOneReference_1.isLoadedOneToOneReference; } });
|
|
35
|
+
Object.defineProperty(exports, "isOneToOneReference", { enumerable: true, get: function () { return OneToOneReference_1.isOneToOneReference; } });
|
|
36
|
+
var PolymorphicReference_1 = require("./PolymorphicReference");
|
|
37
|
+
Object.defineProperty(exports, "hasOnePolymorphic", { enumerable: true, get: function () { return PolymorphicReference_1.hasOnePolymorphic; } });
|
|
38
|
+
Object.defineProperty(exports, "isPolymorphicReference", { enumerable: true, get: function () { return PolymorphicReference_1.isPolymorphicReference; } });
|
|
39
|
+
var Reference_1 = require("./Reference");
|
|
40
|
+
Object.defineProperty(exports, "isLoadedReference", { enumerable: true, get: function () { return Reference_1.isLoadedReference; } });
|
|
41
|
+
Object.defineProperty(exports, "isReference", { enumerable: true, get: function () { return Reference_1.isReference; } });
|
|
42
|
+
var Relation_1 = require("./Relation");
|
|
43
|
+
Object.defineProperty(exports, "isRelation", { enumerable: true, get: function () { return Relation_1.isRelation; } });
|
|
57
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relations/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relations/index.ts"],"names":[],"mappings":";;;AAAA,2CAA8F;AAAzE,0GAAA,YAAY,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACrD,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uDAM4B;AAJ1B,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAGvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+DAA6E;AAApE,qHAAA,aAAa,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAC5C,2DAAwF;AAA/E,4GAAA,MAAM,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACrC,6DAAqE;AAA5D,8GAAA,OAAO,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACrC,yDAAqH;AAA5G,gHAAA,WAAW,OAAA;AAAE,8HAAA,yBAAyB,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AACpE,+DAAyG;AAAhG,yHAAA,iBAAiB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AAClD,yCAAyF;AAAhF,8GAAA,iBAAiB,OAAA;AAAE,wGAAA,WAAW,OAAA;AACvC,uCAAkD;AAAzC,sGAAA,UAAU,OAAA"}
|
package/build/src/serde.js
CHANGED
|
@@ -101,8 +101,7 @@ class PolymorphicKeySerde {
|
|
|
101
101
|
}
|
|
102
102
|
setOnEntity(data, row) {
|
|
103
103
|
var _a;
|
|
104
|
-
|
|
105
|
-
(_a = data[_b = this.fieldName]) !== null && _a !== void 0 ? _a : (data[_b] = (0, index_1.keyToString)(this.otherMeta(), row[this.columnName]));
|
|
104
|
+
data[_a = this.fieldName] ?? (data[_a] = (0, index_1.keyToString)(this.otherMeta(), row[this.columnName]));
|
|
106
105
|
}
|
|
107
106
|
setOnRow(data, row) {
|
|
108
107
|
const id = (0, index_1.maybeResolveReferenceToId)(data[this.fieldName]);
|
|
@@ -128,20 +127,16 @@ class EnumFieldSerde {
|
|
|
128
127
|
this.enumObject = enumObject;
|
|
129
128
|
}
|
|
130
129
|
setOnEntity(data, row) {
|
|
131
|
-
|
|
132
|
-
data[this.fieldName] = (_a = this.enumObject.findById(row[this.columnName])) === null || _a === void 0 ? void 0 : _a.code;
|
|
130
|
+
data[this.fieldName] = this.enumObject.findById(row[this.columnName])?.code;
|
|
133
131
|
}
|
|
134
132
|
setOnRow(data, row) {
|
|
135
|
-
|
|
136
|
-
row[this.columnName] = (_a = this.enumObject.findByCode(data[this.fieldName])) === null || _a === void 0 ? void 0 : _a.id;
|
|
133
|
+
row[this.columnName] = this.enumObject.findByCode(data[this.fieldName])?.id;
|
|
137
134
|
}
|
|
138
135
|
getFromEntity(data) {
|
|
139
|
-
|
|
140
|
-
return (_a = this.enumObject.findByCode(data[this.fieldName])) === null || _a === void 0 ? void 0 : _a.id;
|
|
136
|
+
return this.enumObject.findByCode(data[this.fieldName])?.id;
|
|
141
137
|
}
|
|
142
138
|
mapToDb(value) {
|
|
143
|
-
|
|
144
|
-
return (_a = this.enumObject.findByCode(value)) === null || _a === void 0 ? void 0 : _a.id;
|
|
139
|
+
return this.enumObject.findByCode(value)?.id;
|
|
145
140
|
}
|
|
146
141
|
}
|
|
147
142
|
exports.EnumFieldSerde = EnumFieldSerde;
|
|
@@ -152,16 +147,13 @@ class EnumArrayFieldSerde {
|
|
|
152
147
|
this.enumObject = enumObject;
|
|
153
148
|
}
|
|
154
149
|
setOnEntity(data, row) {
|
|
155
|
-
|
|
156
|
-
data[this.fieldName] = ((_a = row[this.columnName]) === null || _a === void 0 ? void 0 : _a.map((id) => this.enumObject.findById(id).code)) || [];
|
|
150
|
+
data[this.fieldName] = row[this.columnName]?.map((id) => this.enumObject.findById(id).code) || [];
|
|
157
151
|
}
|
|
158
152
|
setOnRow(data, row) {
|
|
159
|
-
|
|
160
|
-
row[this.columnName] = ((_a = data[this.fieldName]) === null || _a === void 0 ? void 0 : _a.map((code) => this.enumObject.getByCode(code).id)) || [];
|
|
153
|
+
row[this.columnName] = data[this.fieldName]?.map((code) => this.enumObject.getByCode(code).id) || [];
|
|
161
154
|
}
|
|
162
155
|
getFromEntity(data) {
|
|
163
|
-
|
|
164
|
-
return ((_a = data[this.fieldName]) === null || _a === void 0 ? void 0 : _a.map((code) => this.enumObject.getByCode(code).id)) || [];
|
|
156
|
+
return data[this.fieldName]?.map((code) => this.enumObject.getByCode(code).id) || [];
|
|
165
157
|
}
|
|
166
158
|
mapToDb(value) {
|
|
167
159
|
return !value ? [] : value.map((code) => this.enumObject.getByCode(code).id);
|
package/build/src/serde.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serde.js","sourceRoot":"","sources":["../../src/serde.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serde.js","sourceRoot":"","sources":["../../src/serde.ts"],"names":[],"mappings":"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"}
|