joist-orm 1.0.680 → 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.
Files changed (44) hide show
  1. package/build/src/EntityManager.d.ts +7 -4
  2. package/build/src/EntityManager.js +10 -3
  3. package/build/src/EntityManager.js.map +1 -1
  4. package/build/src/dataloaders/oneToOneDataLoader.d.ts +2 -2
  5. package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
  6. package/build/src/drivers/InMemoryDriver.d.ts +3 -2
  7. package/build/src/drivers/InMemoryDriver.js.map +1 -1
  8. package/build/src/drivers/PostgresDriver.d.ts +3 -2
  9. package/build/src/drivers/PostgresDriver.js.map +1 -1
  10. package/build/src/drivers/driver.d.ts +2 -2
  11. package/build/src/index.d.ts +1 -1
  12. package/build/src/index.js.map +1 -1
  13. package/build/src/relations/CustomCollection.d.ts +3 -0
  14. package/build/src/relations/CustomCollection.js +5 -0
  15. package/build/src/relations/CustomCollection.js.map +1 -1
  16. package/build/src/relations/CustomReference.d.ts +5 -0
  17. package/build/src/relations/CustomReference.js +7 -0
  18. package/build/src/relations/CustomReference.js.map +1 -1
  19. package/build/src/relations/ManyToManyCollection.d.ts +3 -0
  20. package/build/src/relations/ManyToManyCollection.js +5 -0
  21. package/build/src/relations/ManyToManyCollection.js.map +1 -1
  22. package/build/src/relations/ManyToOneReference.d.ts +20 -3
  23. package/build/src/relations/ManyToOneReference.js +16 -4
  24. package/build/src/relations/ManyToOneReference.js.map +1 -1
  25. package/build/src/relations/OneToManyCollection.d.ts +3 -0
  26. package/build/src/relations/OneToManyCollection.js +5 -0
  27. package/build/src/relations/OneToManyCollection.js.map +1 -1
  28. package/build/src/relations/OneToOneReference.d.ts +30 -3
  29. package/build/src/relations/OneToOneReference.js +23 -4
  30. package/build/src/relations/OneToOneReference.js.map +1 -1
  31. package/build/src/relations/PolymorphicReference.d.ts +19 -2
  32. package/build/src/relations/PolymorphicReference.js +16 -4
  33. package/build/src/relations/PolymorphicReference.js.map +1 -1
  34. package/build/src/relations/Reference.d.ts +4 -13
  35. package/build/src/relations/Reference.js +6 -5
  36. package/build/src/relations/Reference.js.map +1 -1
  37. package/build/src/relations/Relation.d.ts +4 -5
  38. package/build/src/relations/Relation.js +3 -3
  39. package/build/src/relations/Relation.js.map +1 -1
  40. package/build/src/relations/index.d.ts +3 -3
  41. package/build/src/relations/index.js +5 -3
  42. package/build/src/relations/index.js.map +1 -1
  43. package/build/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":";;;AACA,oCAA6E;AAC7E,iEAA8D;AAU9D;;;;;;;;;;GAUG;AACH,MAAa,eACX,SAAQ,2CAAuB;IAQ/B,YAAmB,MAAS,EAAU,IAAkC;QACtE,KAAK,EAAE,CAAC;QADS,WAAM,GAAN,MAAM,CAAG;QAAU,SAAI,GAAJ,IAAI,CAA8B;QAFhE,cAAS,GAAG,KAAK,CAAC;IAI1B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgC;QACzC,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,WAAW,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;iBAAM;gBACL,MAAM,IAAI,CAAC,WAAW,CAAC;aACxB;SACF;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sBAAsB;QACpB,4FAA4F;QAC5F,4FAA4F;QAC5F,2FAA2F;QAC3F,gGAAgG;QAChG,yBAAyB;IAC3B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAA,YAAI,EAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAA,YAAI,EAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,UAAU;QACZ,yFAAyF;QACzF,OAAO,IAAI,CAAC,EAAE,IAAI,IAAA,sBAAc,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAA,YAAI,EAAC,gDAAgD,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,KAAK;QACP,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;SACrD;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,KAAQ;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,sBAAsB,KAAmB,CAAC;IAChD,kBAAkB,KAAU,CAAC;IAC7B,KAAK,CAAC,eAAe,KAAmB,CAAC;IAEzC,0GAA0G;IAC1G,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,QAAQ;QACN,OAAO,2BAA2B,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,IAAgC;QAC5C,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa,CAAC,MAAa,EAAE,IAAgC;QACnE,OAAO,IAAI,EAAE,WAAW,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,SAAe,CAAC;IACnH,CAAC;CACF;AA5GD,0CA4GC;AAED,SAAS,iBAAiB,CAAC,SAAyC;IAClE,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACzD,gGAAgG;QAChG,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,SAAS,iBAAiB,CAAC,CAAC;KAC9E;AACH,CAAC"}
1
+ {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Collection, Entity, EntityMetadata, IdOf } from "../";
2
2
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
3
+ import { RelationT, RelationU } from "./Relation";
3
4
  /** An alias for creating `ManyToManyCollections`s. */
4
5
  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>;
5
6
  export declare class ManyToManyCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<U[]> implements Collection<T, U> {
@@ -39,6 +40,8 @@ export declare class ManyToManyCollection<T extends Entity, U extends Entity> ex
39
40
  }): U[];
40
41
  get meta(): EntityMetadata<T>;
41
42
  toString(): string;
43
+ [RelationT]: T;
44
+ [RelationU]: U;
42
45
  }
43
46
  export declare type JoinRow = {
44
47
  id: number | undefined;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.ManyToManyCollection = exports.hasManyToMany = void 0;
4
5
  const __1 = require("../");
5
6
  const manyToManyDataLoader_1 = require("../dataloaders/manyToManyDataLoader");
6
7
  const utils_1 = require("../utils");
7
8
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
9
+ const Relation_1 = require("./Relation");
8
10
  /** An alias for creating `ManyToManyCollections`s. */
9
11
  function hasManyToMany(joinTableName, fieldName, columnName, otherMeta, otherFieldName, otherColumnName) {
10
12
  const entity = __1.currentlyInstantiatingEntity;
@@ -29,6 +31,8 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
29
31
  this.otherColumnName = otherColumnName;
30
32
  this.addedBeforeLoaded = [];
31
33
  this.removedBeforeLoaded = [];
34
+ this[_a] = null;
35
+ this[_b] = null;
32
36
  this.isCascadeDelete = otherMeta.config.__data.cascadeDeleteFields.includes(fieldName);
33
37
  }
34
38
  filterDeleted(entities, opts) {
@@ -208,4 +212,5 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
208
212
  }
209
213
  }
210
214
  exports.ManyToManyCollection = ManyToManyCollection;
215
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU;
211
216
  //# sourceMappingURL=ManyToManyCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToManyCollection.js","sourceRoot":"","sources":["../../../src/relations/ManyToManyCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManyToManyCollection.js","sourceRoot":"","sources":["../../../src/relations/ManyToManyCollection.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,22 @@
1
1
  import { Entity, EntityMetadata, IdOf } from "../EntityManager";
2
2
  import { Reference } from "../index";
3
3
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
4
+ import { ReferenceN } from "./Reference";
5
+ import { RelationT, RelationU } from "./Relation";
4
6
  /** An alias for creating `ManyToOneReference`s. */
5
- 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>;
7
+ export declare function hasOne<T extends Entity, U extends Entity, N extends never | undefined>(otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U): ManyToOneReference<T, U, N>;
8
+ /** Type guard utility for determining if an entity field is a ManyToOneReference. */
9
+ export declare function isManyToOneReference(maybeReference: any): maybeReference is ManyToOneReference<any, any, any>;
10
+ export interface ManyToOneReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
11
+ /** Returns the id of the current assigned entity (or `undefined` if its new and has no id yet), or `undefined` if this column is nullable and currently unset. */
12
+ id: IdOf<U> | undefined;
13
+ /** Returns the id of the current assigned entity or a runtime error if it's either 1) unset or 2) set to a new entity that doesn't have an `id` yet. */
14
+ idOrFail: IdOf<U>;
15
+ idUntagged: string | undefined;
16
+ idUntaggedOrFail: string;
17
+ /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
18
+ readonly isSet: boolean;
19
+ }
6
20
  /**
7
21
  * Manages a foreign key from one entity to another, i.e. `Book.author --> Author`.
8
22
  *
@@ -14,14 +28,14 @@ export declare function hasOne<T extends Entity, U extends Entity, N extends nev
14
28
  * be half of a one-to-one relationship, but we'll keep using this `ManyToOneReference` on the "many"
15
29
  * side, and the other side, i.e. `Author.image` will use a `OneToOneReference` to point back to us.
16
30
  */
17
- export declare class ManyToOneReference<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<U> implements Reference<T, U, N> {
31
+ export declare class ManyToOneReferenceImpl<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<U> implements ManyToOneReference<T, U, N> {
18
32
  private entity;
19
33
  otherMeta: EntityMetadata<U>;
20
34
  private fieldName;
21
35
  otherFieldName: keyof U;
22
36
  private loaded;
23
37
  private _isLoaded;
24
- private isCascadeDelete;
38
+ private readonly isCascadeDelete;
25
39
  constructor(entity: T, otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U);
26
40
  load(opts?: {
27
41
  withDeleted?: boolean;
@@ -57,4 +71,7 @@ export declare class ManyToOneReference<T extends Entity, U extends Entity, N ex
57
71
  * our reference is not specifically loaded.
58
72
  */
59
73
  maybeFindEntity(): U | undefined;
74
+ [RelationT]: T;
75
+ [RelationU]: U;
76
+ [ReferenceN]: N;
60
77
  }
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
+ var _a, _b, _c;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManyToOneReference = exports.hasOne = void 0;
4
+ exports.ManyToOneReferenceImpl = exports.isManyToOneReference = exports.hasOne = 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");
8
11
  /** An alias for creating `ManyToOneReference`s. */
9
12
  function hasOne(otherMeta, fieldName, otherFieldName) {
10
13
  const entity = EntityManager_1.currentlyInstantiatingEntity;
11
- return new ManyToOneReference(entity, otherMeta, fieldName, otherFieldName);
14
+ return new ManyToOneReferenceImpl(entity, otherMeta, fieldName, otherFieldName);
12
15
  }
13
16
  exports.hasOne = hasOne;
17
+ /** Type guard utility for determining if an entity field is a ManyToOneReference. */
18
+ function isManyToOneReference(maybeReference) {
19
+ return maybeReference instanceof ManyToOneReferenceImpl;
20
+ }
21
+ exports.isManyToOneReference = isManyToOneReference;
14
22
  /**
15
23
  * Manages a foreign key from one entity to another, i.e. `Book.author --> Author`.
16
24
  *
@@ -22,7 +30,7 @@ exports.hasOne = hasOne;
22
30
  * be half of a one-to-one relationship, but we'll keep using this `ManyToOneReference` on the "many"
23
31
  * side, and the other side, i.e. `Author.image` will use a `OneToOneReference` to point back to us.
24
32
  */
25
- class ManyToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
33
+ class ManyToOneReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
26
34
  constructor(entity, otherMeta, fieldName, otherFieldName) {
27
35
  super();
28
36
  this.entity = entity;
@@ -31,6 +39,9 @@ class ManyToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
31
39
  this.otherFieldName = otherFieldName;
32
40
  // We need a separate boolean to b/c loaded == undefined can still mean "_isLoaded" for nullable fks.
33
41
  this._isLoaded = false;
42
+ this[_a] = null;
43
+ this[_b] = null;
44
+ this[_c] = null;
34
45
  this.isCascadeDelete = otherMeta.config.__data.cascadeDeleteFields.includes(fieldName);
35
46
  }
36
47
  async load(opts) {
@@ -209,5 +220,6 @@ class ManyToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
209
220
  return this.loaded ?? (this.id !== undefined ? (0, index_1.getEm)(this.entity)["findExistingInstance"](this.id) : undefined);
210
221
  }
211
222
  }
212
- exports.ManyToOneReference = ManyToOneReference;
223
+ exports.ManyToOneReferenceImpl = ManyToOneReferenceImpl;
224
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
213
225
  //# sourceMappingURL=ManyToOneReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToOneReference.js","sourceRoot":"","sources":["../../../src/relations/ManyToOneReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManyToOneReference.js","sourceRoot":"","sources":["../../../src/relations/ManyToOneReference.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Collection, Entity, EntityMetadata, IdOf } from "../index";
2
2
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
3
+ import { RelationT, RelationU } from "./Relation";
3
4
  /** An alias for creating `OneToManyCollection`s. */
4
5
  export declare function hasMany<T extends Entity, U extends Entity>(otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U, otherColumnName: string): Collection<T, U>;
5
6
  export declare class OneToManyCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<U[]> implements Collection<T, U> {
@@ -40,4 +41,6 @@ export declare class OneToManyCollection<T extends Entity, U extends Entity> ext
40
41
  private filterDeleted;
41
42
  /** Returns the other relation that points back at us, i.e. we're `Author.image` and this is `Image.author_id`. */
42
43
  private getOtherRelation;
44
+ [RelationT]: T;
45
+ [RelationU]: U;
43
46
  }
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.OneToManyCollection = exports.hasMany = void 0;
4
5
  const oneToManyDataLoader_1 = require("../dataloaders/oneToManyDataLoader");
5
6
  const index_1 = require("../index");
6
7
  const utils_1 = require("../utils");
7
8
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
9
+ const Relation_1 = require("./Relation");
8
10
  /** An alias for creating `OneToManyCollection`s. */
9
11
  function hasMany(otherMeta, fieldName, otherFieldName, otherColumnName) {
10
12
  const entity = index_1.currentlyInstantiatingEntity;
@@ -26,6 +28,8 @@ class OneToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
26
28
  // groups the hydrated rows by their _current parent m2o field value_, which for a removed child will no
27
29
  // longer be us, so it will effectively not show up in our post-load `loaded` array.
28
30
  this.addedBeforeLoaded = [];
31
+ this[_a] = null;
32
+ this[_b] = null;
29
33
  this.isCascadeDelete = (0, index_1.getMetadata)(entity).config.__data.cascadeDeleteFields.includes(fieldName);
30
34
  }
31
35
  // opts is an internal parameter
@@ -189,4 +193,5 @@ class OneToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
189
193
  }
190
194
  }
191
195
  exports.OneToManyCollection = OneToManyCollection;
196
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU;
192
197
  //# sourceMappingURL=OneToManyCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneToManyCollection.js","sourceRoot":"","sources":["../../../src/relations/OneToManyCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OneToManyCollection.js","sourceRoot":"","sources":["../../../src/relations/OneToManyCollection.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,30 @@
1
- import { IdOf, Reference } from "../";
1
+ import { IdOf, LoadedReference } from "../";
2
2
  import { Entity, EntityMetadata } from "../EntityManager";
3
3
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
4
+ import { Reference, ReferenceN } from "./Reference";
5
+ import { RelationT, RelationU } from "./Relation";
6
+ declare const OneToOne: unique symbol;
7
+ /** The lazy-loaded/lookup side of a one-to-one, i.e. the side w/o the unique foreign key column. */
8
+ export interface OneToOneReference<T extends Entity, U extends Entity> extends Reference<T, U, undefined> {
9
+ [OneToOne]: T;
10
+ }
11
+ /** Adds a known-safe `get` accessor. */
12
+ export interface LoadedOneToOneReference<T extends Entity, U extends Entity> extends LoadedReference<T, U, undefined> {
13
+ get: U | undefined;
14
+ getWithDeleted: U | undefined;
15
+ /** Returns the id of the current assigned entity or a runtime error if it's either a) unset or b) set to a new entity that doesn't have an `id` yet. */
16
+ idOrFail: IdOf<U>;
17
+ idUntagged: string | undefined;
18
+ idUntaggedOrFail: string;
19
+ /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
20
+ readonly isSet: boolean;
21
+ }
22
+ /** Type guard utility for determining if an entity field is a Reference. */
23
+ export declare function isOneToOneReference(maybeReference: any): maybeReference is OneToOneReference<any, any>;
24
+ /** Type guard utility for determining if an entity field is a loaded Reference. */
25
+ export declare function isLoadedOneToOneReference(maybeReference: any): maybeReference is Reference<any, any, any> & LoadedOneToOneReference<any, any>;
4
26
  /** An alias for creating `OneToOneReference`s. */
5
- 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>;
27
+ export declare function hasOneToOne<T extends Entity, U extends Entity>(otherMeta: EntityMetadata<U>, fieldName: keyof T, otherFieldName: keyof U, otherColumnName: string): OneToOneReference<T, U>;
6
28
  /**
7
29
  * Represents the "many" side of a one-to-one relationship.
8
30
  *
@@ -20,7 +42,7 @@ export declare function hasOneToOne<T extends Entity, U extends Entity>(otherMet
20
42
  * Currently we enforce this with a runtime check, which is not great, but the trade-off of implementing
21
43
  * `Reference` seemed worth the downside of a un-type-safe `.id` property.
22
44
  */
23
- export declare class OneToOneReference<T extends Entity, U extends Entity> extends AbstractRelationImpl<U> implements Reference<T, U, undefined> {
45
+ export declare class OneToOneReferenceImpl<T extends Entity, U extends Entity> extends AbstractRelationImpl<U> implements OneToOneReference<T, U> {
24
46
  entity: T;
25
47
  otherMeta: EntityMetadata<U>;
26
48
  fieldName: keyof T;
@@ -52,4 +74,9 @@ export declare class OneToOneReference<T extends Entity, U extends Entity> exten
52
74
  private filterDeleted;
53
75
  /** Returns the other relation that points back at us, i.e. we're `Author.image` and this is `Image.author_id`. */
54
76
  private getOtherRelation;
77
+ [RelationT]: never;
78
+ [RelationU]: never;
79
+ [ReferenceN]: never;
80
+ [OneToOne]: never;
55
81
  }
82
+ export {};
@@ -1,14 +1,28 @@
1
1
  "use strict";
2
+ var _a, _b, _c, _d;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OneToOneReference = exports.hasOneToOne = void 0;
4
+ exports.OneToOneReferenceImpl = exports.hasOneToOne = exports.isLoadedOneToOneReference = exports.isOneToOneReference = void 0;
4
5
  const __1 = require("../");
5
6
  const oneToOneDataLoader_1 = require("../dataloaders/oneToOneDataLoader");
6
7
  const EntityManager_1 = require("../EntityManager");
7
8
  const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
9
+ const Reference_1 = require("./Reference");
10
+ const Relation_1 = require("./Relation");
11
+ const OneToOne = Symbol();
12
+ /** Type guard utility for determining if an entity field is a Reference. */
13
+ function isOneToOneReference(maybeReference) {
14
+ return maybeReference instanceof OneToOneReferenceImpl;
15
+ }
16
+ exports.isOneToOneReference = isOneToOneReference;
17
+ /** Type guard utility for determining if an entity field is a loaded Reference. */
18
+ function isLoadedOneToOneReference(maybeReference) {
19
+ return isOneToOneReference(maybeReference) && maybeReference.isLoaded;
20
+ }
21
+ exports.isLoadedOneToOneReference = isLoadedOneToOneReference;
8
22
  /** An alias for creating `OneToOneReference`s. */
9
23
  function hasOneToOne(otherMeta, fieldName, otherFieldName, otherColumnName) {
10
24
  const entity = __1.currentlyInstantiatingEntity;
11
- return new OneToOneReference(entity, otherMeta, fieldName, otherFieldName, otherColumnName);
25
+ return new OneToOneReferenceImpl(entity, otherMeta, fieldName, otherFieldName, otherColumnName);
12
26
  }
13
27
  exports.hasOneToOne = hasOneToOne;
14
28
  /**
@@ -28,7 +42,7 @@ exports.hasOneToOne = hasOneToOne;
28
42
  * Currently we enforce this with a runtime check, which is not great, but the trade-off of implementing
29
43
  * `Reference` seemed worth the downside of a un-type-safe `.id` property.
30
44
  */
31
- class OneToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
45
+ class OneToOneReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
32
46
  constructor(
33
47
  // These are public to our internal implementation but not exposed in the Collection API
34
48
  entity, otherMeta, fieldName, otherFieldName, otherColumnName) {
@@ -39,6 +53,10 @@ class OneToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
39
53
  this.otherFieldName = otherFieldName;
40
54
  this.otherColumnName = otherColumnName;
41
55
  this._isLoaded = false;
56
+ this[_a] = null;
57
+ this[_b] = null;
58
+ this[_c] = null;
59
+ this[_d] = null;
42
60
  this.isCascadeDelete = (0, EntityManager_1.getMetadata)(entity).config.__data.cascadeDeleteFields.includes(fieldName);
43
61
  }
44
62
  get id() {
@@ -145,5 +163,6 @@ class OneToOneReference extends AbstractRelationImpl_1.AbstractRelationImpl {
145
163
  return other[this.otherFieldName];
146
164
  }
147
165
  }
148
- exports.OneToOneReference = OneToOneReference;
166
+ exports.OneToOneReferenceImpl = OneToOneReferenceImpl;
167
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN, _d = OneToOne;
149
168
  //# sourceMappingURL=OneToOneReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OneToOneReference.js","sourceRoot":"","sources":["../../../src/relations/OneToOneReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OneToOneReference.js","sourceRoot":"","sources":["../../../src/relations/OneToOneReference.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,21 @@
1
1
  import { Entity, IdOf } from "../EntityManager";
2
2
  import { Reference } from "../index";
3
3
  import { AbstractRelationImpl } from "./AbstractRelationImpl";
4
- export declare function hasOnePolymorphic<T extends Entity, U extends Entity, N extends never | undefined>(fieldName: keyof T): Reference<T, U, N>;
4
+ import { ReferenceN } from "./Reference";
5
+ import { RelationT, RelationU } from "./Relation";
6
+ export declare function hasOnePolymorphic<T extends Entity, U extends Entity, N extends never | undefined>(fieldName: keyof T): PolymorphicReference<T, U, N>;
7
+ /** Type guard utility for determining if an entity field is a PolymorphicReference. */
8
+ export declare function isPolymorphicReference(maybeReference: any): maybeReference is PolymorphicReference<any, any, any>;
9
+ export interface PolymorphicReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
10
+ /** Returns the id of the current assigned entity (or `undefined` if its new and has no id yet), or `undefined` if this column is nullable and currently unset. */
11
+ id: IdOf<U> | undefined;
12
+ /** Returns the id of the current assigned entity or a runtime error if it's either 1) unset or 2) set to a new entity that doesn't have an `id` yet. */
13
+ idOrFail: IdOf<U>;
14
+ idUntagged: string | undefined;
15
+ idUntaggedOrFail: string;
16
+ /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
17
+ readonly isSet: boolean;
18
+ }
5
19
  /**
6
20
  * Manages a set of foreign keys from one entity to another, i.e. `Comment.parent --> Book | BookReview`.
7
21
  *
@@ -13,7 +27,7 @@ export declare function hasOnePolymorphic<T extends Entity, U extends Entity, N
13
27
  * essentially be half of a one-to-one relationship, but we'll keep using this reference on the "owning" side; the other
14
28
  * side, i.e. `BookReview.comment` will use a `OneToOneReference` to point back to us.
15
29
  */
16
- export declare class PolymorphicReference<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<U> implements Reference<T, U, N> {
30
+ export declare class PolymorphicReferenceImpl<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<U> implements PolymorphicReference<T, U, N> {
17
31
  private entity;
18
32
  private fieldName;
19
33
  private loaded;
@@ -49,4 +63,7 @@ export declare class PolymorphicReference<T extends Entity, U extends Entity, N
49
63
  /** Returns the other relation that points back at us, i.e. we're `comment.parent_book_id` and this is `Book.comments`. */
50
64
  private getOtherRelation;
51
65
  private maybeFindExisting;
66
+ [RelationT]: T;
67
+ [RelationU]: U;
68
+ [ReferenceN]: N;
52
69
  }
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
+ var _a, _b, _c;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PolymorphicReference = exports.hasOnePolymorphic = void 0;
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");
8
11
  function hasOnePolymorphic(fieldName) {
9
12
  const entity = EntityManager_1.currentlyInstantiatingEntity;
10
- return new PolymorphicReference(entity, fieldName);
13
+ return new PolymorphicReferenceImpl(entity, fieldName);
11
14
  }
12
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;
13
21
  /**
14
22
  * Manages a set of foreign keys from one entity to another, i.e. `Comment.parent --> Book | BookReview`.
15
23
  *
@@ -21,13 +29,16 @@ exports.hasOnePolymorphic = hasOnePolymorphic;
21
29
  * essentially be half of a one-to-one relationship, but we'll keep using this reference on the "owning" side; the other
22
30
  * side, i.e. `BookReview.comment` will use a `OneToOneReference` to point back to us.
23
31
  */
24
- class PolymorphicReference extends AbstractRelationImpl_1.AbstractRelationImpl {
32
+ class PolymorphicReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
25
33
  constructor(entity, fieldName) {
26
34
  super();
27
35
  this.entity = entity;
28
36
  this.fieldName = fieldName;
29
37
  // We need a separate boolean to b/c loaded == undefined can still mean "_isLoaded" for nullable fks.
30
38
  this._isLoaded = false;
39
+ this[_a] = null;
40
+ this[_b] = null;
41
+ this[_c] = null;
31
42
  this.field = (0, EntityManager_1.getMetadata)(entity).fields.find((f) => f.fieldName === this.fieldName);
32
43
  }
33
44
  get currentComponent() {
@@ -194,5 +205,6 @@ class PolymorphicReference extends AbstractRelationImpl_1.AbstractRelationImpl {
194
205
  return this.id !== undefined ? (0, index_1.getEm)(this.entity)["findExistingInstance"](this.id) : undefined;
195
206
  }
196
207
  }
197
- exports.PolymorphicReference = PolymorphicReference;
208
+ exports.PolymorphicReferenceImpl = PolymorphicReferenceImpl;
209
+ _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
198
210
  //# sourceMappingURL=PolymorphicReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolymorphicReference.js","sourceRoot":"","sources":["../../../src/relations/PolymorphicReference.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Entity, IdOf } from "../EntityManager";
2
2
  import { Relation } from "./Relation";
3
- declare const H: unique symbol;
3
+ export declare const ReferenceN: unique symbol;
4
4
  /**
5
5
  * A many-to-one / foreign key from `T` to `U`, i.e. book to author.
6
6
  *
@@ -10,24 +10,16 @@ declare const H: unique symbol;
10
10
  * `U | never` which becomes just `U`.
11
11
  */
12
12
  export interface Reference<T extends Entity, U extends Entity, N extends never | undefined> extends Relation<T, U> {
13
- /** Returns the id of the current assigned entity, or `undefined` if the assigned entity has no id yet, or `undefined` if this column is nullable and currently unset. */
14
- id: IdOf<U> | undefined;
15
- /** Returns the id of the current assigned entity or a runtime error if it's either a) unset or b) set to a new entity that doesn't have an `id` yet. */
16
- idOrFail: IdOf<U>;
17
- idUntagged: string | undefined;
18
- idUntaggedOrFail: string;
19
13
  readonly isLoaded: boolean;
20
14
  load(opts?: {
21
15
  withDeleted: boolean;
22
16
  }): Promise<U | N>;
23
17
  set(other: U | N): void;
24
- /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
25
- readonly isSet: boolean;
26
- [H]?: N;
18
+ [ReferenceN]: N;
27
19
  }
28
20
  /** Adds a known-safe `get` accessor. */
29
- export interface LoadedReference<T extends Entity, U extends Entity, N extends never | undefined> extends Omit<Reference<T, U, N>, "id"> {
30
- id: IdOf<T> | N;
21
+ export interface LoadedReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
22
+ id: IdOf<U> | N;
31
23
  get: U | N;
32
24
  getWithDeleted: U | N;
33
25
  }
@@ -35,4 +27,3 @@ export interface LoadedReference<T extends Entity, U extends Entity, N extends n
35
27
  export declare function isReference(maybeReference: any): maybeReference is Reference<any, any, any>;
36
28
  /** Type guard utility for determining if an entity field is a loaded Reference. */
37
29
  export declare function isLoadedReference(maybeReference: any): maybeReference is Reference<any, any, any> & LoadedReference<any, any, any>;
38
- export {};