joist-orm 1.37.7 → 1.37.9

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 (33) hide show
  1. package/build/src/BaseEntity.js +9 -2
  2. package/build/src/BaseEntity.js.map +1 -1
  3. package/build/src/Entity.d.ts +1 -1
  4. package/build/src/dataloaders/oneToManyDataLoader.js +0 -1
  5. package/build/src/dataloaders/oneToManyDataLoader.js.map +1 -1
  6. package/build/src/getProperties.js +2 -1
  7. package/build/src/getProperties.js.map +1 -1
  8. package/build/src/relations/CustomCollection.d.ts +1 -1
  9. package/build/src/relations/CustomCollection.js +26 -14
  10. package/build/src/relations/CustomCollection.js.map +1 -1
  11. package/build/src/relations/CustomReference.d.ts +1 -1
  12. package/build/src/relations/CustomReference.js +25 -13
  13. package/build/src/relations/CustomReference.js.map +1 -1
  14. package/build/src/relations/ManyToManyCollection.d.ts +3 -2
  15. package/build/src/relations/ManyToManyCollection.js +52 -33
  16. package/build/src/relations/ManyToManyCollection.js.map +1 -1
  17. package/build/src/relations/ManyToOneReference.d.ts +2 -2
  18. package/build/src/relations/ManyToOneReference.js +44 -28
  19. package/build/src/relations/ManyToOneReference.js.map +1 -1
  20. package/build/src/relations/OneToManyCollection.d.ts +3 -4
  21. package/build/src/relations/OneToManyCollection.js +56 -36
  22. package/build/src/relations/OneToManyCollection.js.map +1 -1
  23. package/build/src/relations/OneToOneReference.d.ts +3 -2
  24. package/build/src/relations/OneToOneReference.js +35 -16
  25. package/build/src/relations/OneToOneReference.js.map +1 -1
  26. package/build/src/relations/hasAsyncProperty.d.ts +1 -1
  27. package/build/src/relations/hasAsyncProperty.js +18 -5
  28. package/build/src/relations/hasAsyncProperty.js.map +1 -1
  29. package/build/src/relations/hasPersistedAsyncProperty.d.ts +1 -1
  30. package/build/src/relations/hasPersistedAsyncProperty.js +25 -11
  31. package/build/src/relations/hasPersistedAsyncProperty.js.map +1 -1
  32. package/build/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +2 -2
@@ -9,14 +9,21 @@ const index_1 = require("./index");
9
9
  */
10
10
  class BaseEntity {
11
11
  constructor(em, metadata, defaultValues, opts) {
12
- this.__orm = { em, metadata, data: { ...defaultValues }, originalData: {}, isNew: true, isTouched: false };
12
+ Object.defineProperty(this, "__orm", {
13
+ value: { em, metadata, data: { ...defaultValues }, originalData: {}, isNew: true, isTouched: false },
14
+ enumerable: false,
15
+ });
16
+ Object.defineProperty(this, "entity", {
17
+ value: this,
18
+ enumerable: false,
19
+ writable: false,
20
+ });
13
21
  // Ensure we have at least id set so the `EntityManager.register` works
14
22
  if (typeof opts === "string") {
15
23
  this.__orm.data["id"] = opts;
16
24
  this.__orm.isNew = false;
17
25
  }
18
26
  em.register(metadata, this);
19
- this.entity = this;
20
27
  }
21
28
  get idUntagged() {
22
29
  if (this.id) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../src/BaseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../../src/BaseEntity.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export interface Entity {
15
15
  idTaggedOrFail: string;
16
16
  idOrFail: string;
17
17
  /** Joist internal metadata, should be considered a private implementation detail. */
18
- __orm: EntityOrmField;
18
+ readonly __orm: EntityOrmField;
19
19
  readonly em: EntityManager<any>;
20
20
  readonly isNewEntity: boolean;
21
21
  readonly isDeletedEntity: boolean;
@@ -16,7 +16,6 @@ function oneToManyDataLoader(em, collection) {
16
16
  const { otherMeta } = collection;
17
17
  (0, index_1.assertIdsAreTagged)(_keys);
18
18
  const keys = (0, index_1.deTagIds)(meta, _keys);
19
- const { em } = collection.entity;
20
19
  const rows = await em.driver.loadOneToMany(em, collection, keys);
21
20
  const entities = rows.map((row) => em.hydrate(otherMeta.cstr, row, { overwriteExisting: false }));
22
21
  // .filter((e) => !e.isDeletedEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"oneToManyDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/oneToManyDataLoader.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AAGpC,oCAAwG;AACxG,oCAA6C;AAE7C,SAAgB,mBAAmB,CACjC,EAAiB,EACjB,UAAqC;IAErC,2DAA2D;IAC3D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IACpD,OAAO,IAAA,gBAAQ,EAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE;QAC/C,OAAO,IAAI,oBAAU,CAAc,KAAK,EAAE,KAAK,EAAE,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;YAEjC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEnC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAClG,sCAAsC;YAEtC,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,wEAAwE;gBACxE,MAAM,OAAO,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxF,yFAAyF;gBACzF,uFAAuF;gBACvF,0FAA0F;gBAC1F,sFAAsF;gBACtF,0FAA0F;gBAC1F,qFAAqF;gBACrF,eAAe;gBACf,OAAO,OAAO,IAAI,oBAAoB,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnCD,kDAmCC"}
1
+ {"version":3,"file":"oneToManyDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/oneToManyDataLoader.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AAGpC,oCAAwG;AACxG,oCAA6C;AAE7C,SAAgB,mBAAmB,CACjC,EAAiB,EACjB,UAAqC;IAErC,2DAA2D;IAC3D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IACpD,OAAO,IAAA,gBAAQ,EAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE;QAC/C,OAAO,IAAI,oBAAU,CAAc,KAAK,EAAE,KAAK,EAAE,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;YAEjC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEnC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAClG,sCAAsC;YAEtC,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC5C,wEAAwE;gBACxE,MAAM,OAAO,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxF,yFAAyF;gBACzF,uFAAuF;gBACvF,0FAA0F;gBAC1F,sFAAsF;gBACtF,0FAA0F;gBAC1F,qFAAqF;gBACrF,eAAe;gBACf,OAAO,OAAO,IAAI,oBAAoB,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAlCD,kDAkCC"}
@@ -66,7 +66,8 @@ function getFakeInstance(meta) {
66
66
  return (fakeInstances[_a = meta.cstr.name] ?? (fakeInstances[_a] = new meta.cstr({
67
67
  register: (metadata, entity) => {
68
68
  em.currentlyInstantiatingEntity = entity;
69
- entity.__orm = { metadata: meta, data: {} };
69
+ entity.__orm.metadata = meta;
70
+ entity.__orm.data = {};
70
71
  },
71
72
  }, {})));
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getProperties.js","sourceRoot":"","sources":["../../src/getProperties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAsC;AAGtC,uDAAuD;AACvD,MAAM,EAAE,GAAG,EAAE,CAAC;AAEd;;;;;GAKG;AACH,SAAgB,aAAa,CAAmB,IAAuB;IACrE,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACjC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAChD,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,8EAA8E;QAC9E,sEAAsE;QACtE,IAAI;YACF,OAAO,CAAC,GAAG,EAAG,QAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;QACF,sGAAsG;SACrG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CACvC,CAAC;IACF,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AArBD,sCAqBC;AAED,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD,MAAM,aAAa,GAA2B,EAAE,CAAC;AAEjD;;;GAGG;AACH,SAAgB,eAAe,CAAmB,IAAuB;;IACvE,OAAO,CAAC,aAAa,MAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAA5B,aAAa,OAAqB,IAAI,IAAI,CAAC,IAAI,CACrD;QACE,QAAQ,EAAE,CAAC,QAAa,EAAE,MAAW,EAAE,EAAE;YACvC,EAAE,CAAC,4BAA4B,GAAG,MAAM,CAAC;YACzC,MAAM,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC9C,CAAC;KACK,EACR,EAAE,CACH,EAAM,CAAC;AACV,CAAC;AAVD,0CAUC"}
1
+ {"version":3,"file":"getProperties.js","sourceRoot":"","sources":["../../src/getProperties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAsC;AAGtC,uDAAuD;AACvD,MAAM,EAAE,GAAG,EAAE,CAAC;AAEd;;;;;GAKG;AACH,SAAgB,aAAa,CAAmB,IAAuB;IACrE,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACjC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAChD,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,8EAA8E;QAC9E,sEAAsE;QACtE,IAAI;YACF,OAAO,CAAC,GAAG,EAAG,QAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;QACF,sGAAsG;SACrG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CACvC,CAAC;IACF,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AArBD,sCAqBC;AAED,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD,MAAM,aAAa,GAA2B,EAAE,CAAC;AAEjD;;;GAGG;AACH,SAAgB,eAAe,CAAmB,IAAuB;;IACvE,OAAO,CAAC,aAAa,MAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAA5B,aAAa,OAAqB,IAAI,IAAI,CAAC,IAAI,CACrD;QACE,QAAQ,EAAE,CAAC,QAAa,EAAE,MAAW,EAAE,EAAE;YACvC,EAAE,CAAC,4BAA4B,GAAG,MAAM,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACzB,CAAC;KACK,EACR,EAAE,CACH,EAAM,CAAC;AACV,CAAC;AAXD,0CAWC"}
@@ -27,7 +27,7 @@ export declare type CustomCollectionOpts<T extends Entity, U extends Entity> = {
27
27
  * abstractions like `hasManyThrough`, which are built on `CustomCollection`.
28
28
  */
29
29
  export declare class CustomCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<U[]> implements Collection<T, U> {
30
- entity: T;
30
+ #private;
31
31
  private opts;
32
32
  private loadPromise;
33
33
  private _isLoaded;
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CustomCollection_entity, _a, _b;
3
14
  Object.defineProperty(exports, "__esModule", { value: true });
4
15
  exports.CustomCollection = void 0;
5
16
  const index_1 = require("../index");
@@ -19,11 +30,12 @@ const Relation_1 = require("./Relation");
19
30
  class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
20
31
  constructor(entity, opts) {
21
32
  super();
22
- this.entity = entity;
23
33
  this.opts = opts;
34
+ _CustomCollection_entity.set(this, void 0);
24
35
  this._isLoaded = false;
25
36
  this[_a] = null;
26
37
  this[_b] = null;
38
+ __classPrivateFieldSet(this, _CustomCollection_entity, entity, "f");
27
39
  }
28
40
  get get() {
29
41
  return this.doGet({ withDeleted: false });
@@ -35,10 +47,10 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
35
47
  return this._isLoaded;
36
48
  }
37
49
  async load(opts = {}) {
38
- (0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
50
+ (0, index_1.ensureNotDeleted)(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), { ignore: "pending" });
39
51
  if (!this.isLoaded || opts.forceReload) {
40
52
  if (this.loadPromise === undefined) {
41
- this.loadPromise = this.opts.load(this.entity, opts);
53
+ this.loadPromise = this.opts.load(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), opts);
42
54
  await this.loadPromise;
43
55
  this.loadPromise = undefined;
44
56
  this._isLoaded = true;
@@ -60,7 +72,7 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
60
72
  this.ensureNewOrLoaded();
61
73
  const { set, add, remove } = this.opts;
62
74
  if (set !== undefined) {
63
- set(this.entity, values);
75
+ set(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), values);
64
76
  }
65
77
  else if (add !== undefined && remove !== undefined) {
66
78
  const current = this.get;
@@ -83,7 +95,7 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
83
95
  return this.doGet().find((other) => other.id === id);
84
96
  }
85
97
  else {
86
- return find(this.entity, id);
98
+ return find(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), id);
87
99
  }
88
100
  }
89
101
  async includes(other) {
@@ -95,7 +107,7 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
95
107
  if (add === undefined) {
96
108
  (0, index_1.fail)(`'add' not implemented on ${this}`);
97
109
  }
98
- add(this.entity, other);
110
+ add(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), other);
99
111
  }
100
112
  remove(other) {
101
113
  this.ensureNewOrLoaded();
@@ -103,22 +115,22 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
103
115
  if (remove === undefined) {
104
116
  (0, index_1.fail)(`'add' not implemented on ${this}`);
105
117
  }
106
- remove(this.entity, other);
118
+ remove(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), other);
107
119
  }
108
120
  // these callbacks should be no-ops as they ought to be handled by the underlying relations
109
121
  async cleanupOnEntityDeleted() { }
110
122
  maybeCascadeDelete() { }
111
123
  /** Finds this CustomCollections field name by looking in the entity for the key that we're assigned to. */
112
124
  get fieldName() {
113
- return Object.entries(this.entity).filter((e) => e[1] === this)[0][0];
125
+ return Object.entries(__classPrivateFieldGet(this, _CustomCollection_entity, "f")).filter((e) => e[1] === this)[0][0];
114
126
  }
115
127
  toString() {
116
- return `CustomCollection(entity: ${this.entity}, fieldName: ${this.fieldName})`;
128
+ return `CustomCollection(entity: ${__classPrivateFieldGet(this, _CustomCollection_entity, "f")}, fieldName: ${this.fieldName})`;
117
129
  }
118
130
  doGet(opts) {
119
- (0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
131
+ (0, index_1.ensureNotDeleted)(__classPrivateFieldGet(this, _CustomCollection_entity, "f"), { ignore: "pending" });
120
132
  this.ensureNewOrLoaded();
121
- return this.filterDeleted(this.opts.get(this.entity), opts);
133
+ return this.filterDeleted(this.opts.get(__classPrivateFieldGet(this, _CustomCollection_entity, "f")), opts);
122
134
  }
123
135
  filterDeleted(entities, opts) {
124
136
  return entities.filter((entity) => opts?.withDeleted === true || !entity.isDeletedEntity);
@@ -128,9 +140,9 @@ class CustomCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
128
140
  if (this.isLoaded || (this.opts.isLoaded && this.opts.isLoaded())) {
129
141
  return;
130
142
  }
131
- (0, index_1.fail)(`${this.entity}.${this.fieldName} was not loaded`);
143
+ (0, index_1.fail)(`${__classPrivateFieldGet(this, _CustomCollection_entity, "f")}.${this.fieldName} was not loaded`);
132
144
  }
133
145
  }
134
146
  exports.CustomCollection = CustomCollection;
135
- _a = Relation_1.RelationT, _b = Relation_1.RelationU;
147
+ _CustomCollection_entity = new WeakMap(), _a = Relation_1.RelationT, _b = Relation_1.RelationU;
136
148
  //# sourceMappingURL=CustomCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCollection.js","sourceRoot":"","sources":["../../../src/relations/CustomCollection.ts"],"names":[],"mappings":";;;;AAEA,oCAA8D;AAC9D,iEAA8D;AAC9D,yCAAkD;AAelD;;;;;;;;;;GAUG;AACH,MAAa,gBACX,SAAQ,2CAAyB;IAQjC,YAAmB,MAAS,EAAU,IAAgC;QACpE,KAAK,EAAE,CAAC;QADS,WAAM,GAAN,MAAM,CAAG;QAAU,SAAI,GAAJ,IAAI,CAA4B;QAF9D,cAAS,GAAG,KAAK,CAAC;QA4H1B,QAAW,GAAM,IAAK,CAAC;QACvB,QAAW,GAAM,IAAK,CAAC;IAzHvB,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,OAAyD,EAAE;QACpE,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrD,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;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sBAAsB;QACpB,6FAA6F;QAC7F,4FAA4F;QAC5F,2FAA2F;QAC3F,gGAAgG;QAChG,yBAAyB;IAC3B,CAAC;IAED,GAAG,CAAC,MAAW;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACvC,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC1B;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACxF;aAAM;YACL,IAAA,YAAI,EAAC,mEAAmE,IAAI,EAAE,CAAC,CAAC;SACjF;IACH,CAAC;IAED,WAAW,CAAC,MAAW;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAW;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAQ;QACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,IAAA,YAAI,EAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;SAC1C;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAQ;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAA,YAAI,EAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;SAC1C;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,sBAAsB,KAAmB,CAAC;IAChD,kBAAkB,KAAU,CAAC;IAE7B,2GAA2G;IAC3G,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,4BAA4B,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC;IAClF,CAAC;IAEO,KAAK,CAAC,IAAgC;QAC5C,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa,CAAC,QAAsB,EAAE,IAAgC;QAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5F,CAAC;IAEO,iBAAiB;QACvB,gGAAgG;QAChG,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;YACjE,OAAO;SACR;QACD,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,iBAAiB,CAAC,CAAC;IAC1D,CAAC;CAIF;AArID,4CAqIC;KAFE,oBAAS,OACT,oBAAS"}
1
+ {"version":3,"file":"CustomCollection.js","sourceRoot":"","sources":["../../../src/relations/CustomCollection.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare type CustomReferenceOpts<T extends Entity, U extends Entity, N ex
25
25
  * abstractions like `hasOneThrough`, which are built on `CustomReference.
26
26
  */
27
27
  export declare class CustomReference<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<U> implements Reference<T, U, N> {
28
- entity: T;
28
+ #private;
29
29
  private opts;
30
30
  private loadPromise;
31
31
  private _isLoaded;
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
- var _a, _b, _c;
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CustomReference_entity, _a, _b, _c;
3
14
  Object.defineProperty(exports, "__esModule", { value: true });
4
15
  exports.CustomReference = void 0;
5
16
  const index_1 = require("../index");
@@ -20,12 +31,13 @@ const Relation_1 = require("./Relation");
20
31
  class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
21
32
  constructor(entity, opts) {
22
33
  super();
23
- this.entity = entity;
24
34
  this.opts = opts;
35
+ _CustomReference_entity.set(this, void 0);
25
36
  this._isLoaded = false;
26
37
  this[_a] = null;
27
38
  this[_b] = null;
28
39
  this[_c] = null;
40
+ __classPrivateFieldSet(this, _CustomReference_entity, entity, "f");
29
41
  }
30
42
  get get() {
31
43
  return this.doGet({ withDeleted: false });
@@ -37,10 +49,10 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
37
49
  return this._isLoaded;
38
50
  }
39
51
  async load(opts = {}) {
40
- (0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
52
+ (0, index_1.ensureNotDeleted)(__classPrivateFieldGet(this, _CustomReference_entity, "f"), { ignore: "pending" });
41
53
  if (!this.isLoaded || opts.forceReload) {
42
54
  if (this.loadPromise === undefined) {
43
- this.loadPromise = this.opts.load(this.entity, opts);
55
+ this.loadPromise = this.opts.load(__classPrivateFieldGet(this, _CustomReference_entity, "f"), opts);
44
56
  await this.loadPromise;
45
57
  this.loadPromise = undefined;
46
58
  this._isLoaded = true;
@@ -74,18 +86,18 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
74
86
  get isSet() {
75
87
  this.ensureNewOrLoaded();
76
88
  const { get } = this.opts;
77
- return get(this.entity) !== undefined;
89
+ return get(__classPrivateFieldGet(this, _CustomReference_entity, "f")) !== undefined;
78
90
  }
79
91
  set(value) {
80
92
  // We allow setting CustomReferences on new entities w/o being loaded
81
- if (!this.entity.isNewEntity) {
93
+ if (!__classPrivateFieldGet(this, _CustomReference_entity, "f").isNewEntity) {
82
94
  this.ensureNewOrLoaded();
83
95
  }
84
96
  const { set } = this.opts;
85
97
  if (set === undefined) {
86
98
  throw new Error(`'set' not implemented on ${this}`);
87
99
  }
88
- set(this.entity, value);
100
+ set(__classPrivateFieldGet(this, _CustomReference_entity, "f"), value);
89
101
  }
90
102
  setFromOpts(value) {
91
103
  this.set(value);
@@ -95,15 +107,15 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
95
107
  maybeCascadeDelete() { }
96
108
  /** Finds this CustomReferences field name by looking in the entity for the key that we're assigned to. */
97
109
  get fieldName() {
98
- return Object.entries(this.entity).filter((e) => e[1] === this)[0][0];
110
+ return Object.entries(__classPrivateFieldGet(this, _CustomReference_entity, "f")).filter((e) => e[1] === this)[0][0];
99
111
  }
100
112
  toString() {
101
- return `CustomReference(entity: ${this.entity}, fieldName: ${this.fieldName})`;
113
+ return `CustomReference(entity: ${__classPrivateFieldGet(this, _CustomReference_entity, "f")}, fieldName: ${this.fieldName})`;
102
114
  }
103
115
  doGet(opts) {
104
- (0, index_1.ensureNotDeleted)(this.entity, { ignore: "pending" });
116
+ (0, index_1.ensureNotDeleted)(__classPrivateFieldGet(this, _CustomReference_entity, "f"), { ignore: "pending" });
105
117
  this.ensureNewOrLoaded();
106
- return this.filterDeleted(this.opts.get(this.entity), opts);
118
+ return this.filterDeleted(this.opts.get(__classPrivateFieldGet(this, _CustomReference_entity, "f")), opts);
107
119
  }
108
120
  filterDeleted(entity, opts) {
109
121
  return opts?.withDeleted === true || entity === undefined || !entity.isDeletedEntity ? entity : undefined;
@@ -113,9 +125,9 @@ class CustomReference extends AbstractRelationImpl_1.AbstractRelationImpl {
113
125
  if (this.isLoaded || (this.opts.isLoaded && this.opts.isLoaded())) {
114
126
  return;
115
127
  }
116
- (0, index_1.fail)(`${this.entity}.${this.fieldName} was not loaded`);
128
+ (0, index_1.fail)(`${__classPrivateFieldGet(this, _CustomReference_entity, "f")}.${this.fieldName} was not loaded`);
117
129
  }
118
130
  }
119
131
  exports.CustomReference = CustomReference;
120
- _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
132
+ _CustomReference_entity = new WeakMap(), _a = Relation_1.RelationT, _b = Relation_1.RelationU, _c = Reference_1.ReferenceN;
121
133
  //# sourceMappingURL=CustomReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomReference.js","sourceRoot":"","sources":["../../../src/relations/CustomReference.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,10 @@ import { RelationT, RelationU } from "./Relation";
4
4
  /** An alias for creating `ManyToManyCollections`s. */
5
5
  export declare function hasManyToMany<T extends Entity, U extends Entity>(joinTableName: string, fieldName: keyof T & string, columnName: string, otherMeta: EntityMetadata<U>, otherFieldName: keyof U & string, otherColumnName: string): Collection<T, U>;
6
6
  export declare class ManyToManyCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<U[]> implements Collection<T, U> {
7
+ #private;
7
8
  joinTableName: string;
8
- entity: T;
9
9
  fieldName: keyof T & string;
10
10
  columnName: string;
11
- otherMeta: EntityMetadata<U>;
12
11
  otherFieldName: keyof U & string;
13
12
  otherColumnName: string;
14
13
  private loaded;
@@ -39,7 +38,9 @@ export declare class ManyToManyCollection<T extends Entity, U extends Entity> ex
39
38
  current(opts?: {
40
39
  withDeleted?: boolean;
41
40
  }): U[];
41
+ get entity(): T;
42
42
  get meta(): EntityMetadata<T>;
43
+ get otherMeta(): EntityMetadata<U>;
43
44
  toString(): string;
44
45
  [RelationT]: T;
45
46
  [RelationU]: U;
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _ManyToManyCollection_entity, _ManyToManyCollection_otherMeta, _a, _b;
3
14
  Object.defineProperty(exports, "__esModule", { value: true });
4
15
  exports.ManyToManyCollection = exports.hasManyToMany = void 0;
5
16
  const __1 = require("../");
@@ -24,32 +35,34 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
24
35
  entity, fieldName, columnName, otherMeta, otherFieldName, otherColumnName) {
25
36
  super();
26
37
  this.joinTableName = joinTableName;
27
- this.entity = entity;
28
38
  this.fieldName = fieldName;
29
39
  this.columnName = columnName;
30
- this.otherMeta = otherMeta;
31
40
  this.otherFieldName = otherFieldName;
32
41
  this.otherColumnName = otherColumnName;
42
+ _ManyToManyCollection_entity.set(this, void 0);
33
43
  this.addedBeforeLoaded = [];
34
44
  this.removedBeforeLoaded = [];
45
+ _ManyToManyCollection_otherMeta.set(this, void 0);
35
46
  this[_a] = null;
36
47
  this[_b] = null;
48
+ __classPrivateFieldSet(this, _ManyToManyCollection_entity, entity, "f");
49
+ __classPrivateFieldSet(this, _ManyToManyCollection_otherMeta, otherMeta, "f");
37
50
  this.isCascadeDelete = otherMeta?.config.__data.cascadeDeleteFields.includes(fieldName);
38
51
  }
39
52
  filterDeleted(entities, opts) {
40
53
  return opts?.withDeleted === true ? [...entities] : entities.filter((e) => !e.isDeletedEntity);
41
54
  }
42
55
  async load(opts = {}) {
43
- (0, __1.ensureNotDeleted)(this.entity, { ignore: "pending" });
56
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), { ignore: "pending" });
44
57
  if (this.loaded === undefined || opts.forceReload) {
45
- const key = `${this.columnName}=${this.entity.id}`;
46
- this.loaded = await (0, manyToManyDataLoader_1.manyToManyDataLoader)(this.entity.em, this).load(key);
58
+ const key = `${this.columnName}=${__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").id}`;
59
+ this.loaded = await (0, manyToManyDataLoader_1.manyToManyDataLoader)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em, this).load(key);
47
60
  this.maybeApplyAddedAndRemovedBeforeLoaded();
48
61
  }
49
62
  return this.filterDeleted(this.loaded, opts);
50
63
  }
51
64
  async find(id) {
52
- (0, __1.ensureNotDeleted)(this.entity, { ignore: "pending" });
65
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), { ignore: "pending" });
53
66
  if (this.loaded !== undefined) {
54
67
  return this.loaded.find((u) => u.id === id);
55
68
  }
@@ -59,13 +72,13 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
59
72
  return added;
60
73
  }
61
74
  // Make a cacheable tuple to look up this specific m2m row
62
- const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${id}`;
63
- const includes = await (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this).load(key);
64
- return includes ? this.entity.em.load(id) : undefined;
75
+ const key = `${this.columnName}=${__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").id},${this.otherColumnName}=${id}`;
76
+ const includes = await (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em, this).load(key);
77
+ return includes ? __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em.load(id) : undefined;
65
78
  }
66
79
  }
67
80
  async includes(other) {
68
- (0, __1.ensureNotDeleted)(this.entity, { ignore: "pending" });
81
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), { ignore: "pending" });
69
82
  if (this.loaded !== undefined) {
70
83
  return this.loaded.includes(other);
71
84
  }
@@ -77,12 +90,12 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
77
90
  return false;
78
91
  }
79
92
  // Make a cacheable tuple to look up this specific m2m row
80
- const key = `${this.columnName}=${this.entity.idOrFail},${this.otherColumnName}=${other.idOrFail}`;
81
- return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this).load(key);
93
+ const key = `${this.columnName}=${__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").idOrFail},${this.otherColumnName}=${other.idOrFail}`;
94
+ return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em, this).load(key);
82
95
  }
83
96
  }
84
97
  add(other, percolated = false) {
85
- (0, __1.ensureNotDeleted)(this.entity);
98
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
86
99
  if (this.loaded !== undefined) {
87
100
  if (this.loaded.includes(other)) {
88
101
  return;
@@ -99,18 +112,18 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
99
112
  const joinRow = {
100
113
  id: undefined,
101
114
  m2m: this,
102
- [this.columnName]: this.entity,
115
+ [this.columnName]: __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"),
103
116
  [this.otherColumnName]: other,
104
117
  };
105
- (0, utils_1.getOrSet)(this.entity.em.__data.joinRows, this.joinTableName, []).push(joinRow);
106
- other[this.otherFieldName].add(this.entity, true);
118
+ (0, utils_1.getOrSet)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em.__data.joinRows, this.joinTableName, []).push(joinRow);
119
+ other[this.otherFieldName].add(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), true);
107
120
  }
108
121
  }
109
122
  remove(other, percolated = false) {
110
- (0, __1.ensureNotDeleted)(this.entity, { ignore: "pending" });
123
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), { ignore: "pending" });
111
124
  if (!percolated) {
112
- const joinRows = (0, utils_1.getOrSet)(this.entity.em.__data.joinRows, this.joinTableName, []);
113
- const row = joinRows.find((r) => r[this.columnName] === this.entity && r[this.otherColumnName] === other);
125
+ const joinRows = (0, utils_1.getOrSet)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em.__data.joinRows, this.joinTableName, []);
126
+ const row = joinRows.find((r) => r[this.columnName] === __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f") && r[this.otherColumnName] === other);
114
127
  if (row) {
115
128
  row.deleted = true;
116
129
  }
@@ -119,13 +132,13 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
119
132
  // Use -1 to force the sortJoinRows to notice us as dirty ("delete: true but id is set")
120
133
  id: -1,
121
134
  m2m: this,
122
- [this.columnName]: this.entity,
135
+ [this.columnName]: __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"),
123
136
  [this.otherColumnName]: other,
124
137
  deleted: true,
125
138
  };
126
- (0, utils_1.getOrSet)(this.entity.em.__data.joinRows, this.joinTableName, []).push(joinRow);
139
+ (0, utils_1.getOrSet)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em.__data.joinRows, this.joinTableName, []).push(joinRow);
127
140
  }
128
- other[this.otherFieldName].remove(this.entity, true);
141
+ other[this.otherFieldName].remove(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"), true);
129
142
  }
130
143
  if (this.loaded !== undefined) {
131
144
  (0, utils_1.remove)(this.loaded, other);
@@ -141,7 +154,7 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
141
154
  return this.loaded !== undefined;
142
155
  }
143
156
  doGet() {
144
- (0, __1.ensureNotDeleted)(this.entity);
157
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
145
158
  if (this.loaded === undefined) {
146
159
  // This should only be callable in the type system if we've already resolved this to an instance
147
160
  throw new Error("get was called when not loaded");
@@ -155,7 +168,7 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
155
168
  return this.filterDeleted(this.doGet(), { withDeleted: false });
156
169
  }
157
170
  set(values) {
158
- (0, __1.ensureNotDeleted)(this.entity);
171
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
159
172
  if (this.loaded === undefined) {
160
173
  throw new Error("set was called when not loaded");
161
174
  }
@@ -174,7 +187,7 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
174
187
  }
175
188
  }
176
189
  removeAll() {
177
- (0, __1.ensureNotDeleted)(this.entity);
190
+ (0, __1.ensureNotDeleted)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
178
191
  if (this.loaded === undefined) {
179
192
  throw new Error("removeAll was called when not loaded");
180
193
  }
@@ -195,14 +208,14 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
195
208
  }
196
209
  maybeCascadeDelete() {
197
210
  if (this.isCascadeDelete) {
198
- this.current({ withDeleted: true }).forEach((e) => this.entity.em.delete(e));
211
+ this.current({ withDeleted: true }).forEach((e) => __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f").em.delete(e));
199
212
  }
200
213
  }
201
214
  async cleanupOnEntityDeleted() {
202
215
  const entities = await this.load({ withDeleted: true });
203
216
  entities.forEach((other) => {
204
217
  const m2m = other[this.otherFieldName];
205
- m2m.remove(this.entity);
218
+ m2m.remove(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
206
219
  });
207
220
  this.loaded = [];
208
221
  }
@@ -212,8 +225,8 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
212
225
  // this.addedBeforeLoaded = [];
213
226
  this.removedBeforeLoaded.forEach((e) => {
214
227
  (0, utils_1.remove)(this.loaded, e);
215
- const { em } = this.entity;
216
- const row = em.__data.joinRows[this.joinTableName].find((r) => r[this.columnName] === this.entity && r[this.otherColumnName] === e);
228
+ const { em } = __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f");
229
+ const row = em.__data.joinRows[this.joinTableName].find((r) => r[this.columnName] === __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f") && r[this.otherColumnName] === e);
217
230
  if (row) {
218
231
  row.deleted = true;
219
232
  }
@@ -224,13 +237,19 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
224
237
  current(opts) {
225
238
  return this.filterDeleted(this.loaded || this.addedBeforeLoaded, opts);
226
239
  }
240
+ get entity() {
241
+ return __classPrivateFieldGet(this, _ManyToManyCollection_entity, "f");
242
+ }
227
243
  get meta() {
228
- return (0, __1.getMetadata)(this.entity);
244
+ return (0, __1.getMetadata)(__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f"));
245
+ }
246
+ get otherMeta() {
247
+ return __classPrivateFieldGet(this, _ManyToManyCollection_otherMeta, "f");
229
248
  }
230
249
  toString() {
231
- return `OneToManyCollection(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.otherMeta.type}, otherFieldName: ${this.otherFieldName})`;
250
+ return `OneToManyCollection(entity: ${__classPrivateFieldGet(this, _ManyToManyCollection_entity, "f")}, fieldName: ${this.fieldName}, otherType: ${__classPrivateFieldGet(this, _ManyToManyCollection_otherMeta, "f").type}, otherFieldName: ${this.otherFieldName})`;
232
251
  }
233
252
  }
234
253
  exports.ManyToManyCollection = ManyToManyCollection;
235
- _a = Relation_1.RelationT, _b = Relation_1.RelationU;
254
+ _ManyToManyCollection_entity = new WeakMap(), _ManyToManyCollection_otherMeta = new WeakMap(), _a = Relation_1.RelationT, _b = Relation_1.RelationU;
236
255
  //# sourceMappingURL=ManyToManyCollection.js.map