joist-core 2.0.3-next.8 → 2.0.3-next.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.
@@ -6,6 +6,16 @@ export declare function hasManyToMany<T extends Entity, U extends Entity>(): Col
6
6
  export declare class ManyToManyCollection<T extends Entity, U extends Entity> extends AbstractRelationImpl<T, U[]> implements Collection<T, U> {
7
7
  #private;
8
8
  constructor(entity: T, field: ManyToManyField);
9
+ /** @internal */
10
+ percolateAdd(other: U): void;
11
+ /** @internal */
12
+ percolateRemove(other: U): void;
13
+ /** @internal */
14
+ registerJoinRowAdd(other: U): void;
15
+ /** @internal */
16
+ registerJoinRowRemove(other: U): void;
17
+ /** @internal */
18
+ markPendingSet(): void;
9
19
  /** Removes pending-hard-delete or soft-deleted entities, unless explicitly asked for. */
10
20
  private filterDeleted;
11
21
  load(opts?: {
@@ -28,7 +38,6 @@ export declare class ManyToManyCollection<T extends Entity, U extends Entity> ex
28
38
  setFromOpts(others: U[]): void;
29
39
  maybeCascadeDelete(): void;
30
40
  cleanupOnEntityDeleted(): Promise<void>;
31
- private maybeApplyAddedAndRemovedBeforeLoaded;
32
41
  get meta(): EntityMetadata;
33
42
  get otherMeta(): EntityMetadata;
34
43
  get joinTableName(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ManyToManyCollection.d.ts","sourceRoot":"","sources":["../../src/relations/ManyToManyCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,MAAM,EACN,cAAc,EAId,IAAI,EACJ,eAAe,EAEhB,MAAM,KAAK,CAAC;AAKb,OAAO,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElD,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpF;AAED,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAClE,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CACnC,YAAW,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;;gBAcf,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe;IAQ7C,yFAAyF;IACzF,OAAO,CAAC,aAAa;IAMf,IAAI,CAAC,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAgB5F,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAqBzC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1C,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,UAAQ,GAAG,IAAI;IAiBvC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,UAAQ,GAAG,IAAI;IAgB1C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,IAAI,IAAI;IAKf,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,KAAK,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI;IAOjH,OAAO,CAAC,KAAK;IAYb,IAAI,cAAc,IAAI,CAAC,EAAE,CAExB;IAED,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI;IA0B/B,SAAS,IAAI,IAAI;IAYjB,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI;IAK9B,kBAAkB;IAMZ,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7C,OAAO,CAAC,qCAAqC;IAmC7C,IAAI,IAAI,IAAI,cAAc,CAEzB;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,MAAM,CAAC,CAErC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAMD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,QAAQ,IAAI,MAAM;IASlB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAS;IACvB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAS;CACxB"}
1
+ {"version":3,"file":"ManyToManyCollection.d.ts","sourceRoot":"","sources":["../../src/relations/ManyToManyCollection.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,8 @@ function hasManyToMany() {
18
18
  }
19
19
  class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
20
20
  #field;
21
- #loaded;
22
- #addedBeforeLoaded;
23
- #removedBeforeLoaded;
24
- #pendingSet;
25
- #hasBeenSet = false;
21
+ #loadPromise;
22
+ #state;
26
23
  // I.e. when entity = Book:
27
24
  // fieldName == tags, because it's our collection to tags
28
25
  // columnName = book_id, what we use as the `where book_id = us` to find our join table rows
@@ -32,8 +29,31 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
32
29
  super(entity);
33
30
  this.#field = field;
34
31
  if ((0, __1.getInstanceData)(entity).isOrWasNew) {
35
- this.#loaded = [];
32
+ this.#state = new LoadedState(this, [], false);
36
33
  }
34
+ else {
35
+ this.#state = new UnloadedPristineState(this);
36
+ }
37
+ }
38
+ /** @internal */
39
+ percolateAdd(other) {
40
+ other[this.otherFieldName].add(this.entity, true);
41
+ }
42
+ /** @internal */
43
+ percolateRemove(other) {
44
+ other[this.otherFieldName].remove(this.entity, true);
45
+ }
46
+ /** @internal */
47
+ registerJoinRowAdd(other) {
48
+ (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addNew(this, this.entity, other);
49
+ }
50
+ /** @internal */
51
+ registerJoinRowRemove(other) {
52
+ (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addRemove(this, this.entity, other);
53
+ }
54
+ /** @internal */
55
+ markPendingSet() {
56
+ (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).markPendingSet(this);
37
57
  }
38
58
  /** Removes pending-hard-delete or soft-deleted entities, unless explicitly asked for. */
39
59
  filterDeleted(entities, opts) {
@@ -43,126 +63,82 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
43
63
  }
44
64
  async load(opts = {}) {
45
65
  (0, __1.ensureNotDeleted)(this.entity, "pending");
46
- if (this.#loaded === undefined || (opts.forceReload && !this.entity.isNewEntity)) {
66
+ if (!this.#state.isLoaded || (opts.forceReload && !this.entity.isNewEntity)) {
47
67
  const key = `${this.columnName}=${this.entity.id}`;
48
- this.#loaded =
49
- this.#getPreloaded() ??
50
- (await (0, manyToManyDataLoader_1.manyToManyDataLoader)(this.entity.em, this)
51
- .load(key)
52
- .catch(function load(err) {
53
- throw (0, __1.appendStack)(err, new Error());
54
- }));
55
- this.maybeApplyAddedAndRemovedBeforeLoaded();
68
+ const maybePreloaded = this.#getPreloaded();
69
+ if (maybePreloaded) {
70
+ this.#state = this.#state.applyLoad(maybePreloaded);
71
+ }
72
+ else {
73
+ await (this.#loadPromise ??= (0, manyToManyDataLoader_1.manyToManyDataLoader)(this.entity.em, this)
74
+ .load(key)
75
+ .then((dbEntities) => {
76
+ this.#state = this.#state.applyLoad(dbEntities);
77
+ this.#loadPromise = undefined;
78
+ })
79
+ .catch(function load(err) {
80
+ throw (0, __1.appendStack)(err, new Error());
81
+ }));
82
+ }
56
83
  }
57
- return this.filterDeleted(this.#loaded, opts);
84
+ return this.filterDeleted(this.#state.doGet(), opts);
58
85
  }
59
86
  async find(id) {
60
87
  (0, __1.ensureNotDeleted)(this.entity, "pending");
61
- if (this.#loaded !== undefined) {
62
- return this.#loaded.find((u) => u.id === id);
63
- }
64
- else {
65
- const added = this.#addedBeforeLoaded?.find((u) => u.id === id);
66
- if (added) {
67
- return added;
68
- }
69
- // Make a cacheable tuple to look up this specific m2m row
70
- const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${id}`;
71
- const includes = await (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
72
- .load(key)
73
- .catch(function load(err) {
74
- throw (0, __1.appendStack)(err, new Error());
75
- });
76
- const taggedId = (0, __1.toTaggedId)(this.otherMeta, id);
77
- return includes ? this.entity.em.load(taggedId) : undefined;
78
- }
88
+ const inMemory = this.#state.find(id);
89
+ if (inMemory)
90
+ return inMemory;
91
+ if (this.#state.isLoaded)
92
+ return undefined;
93
+ const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${id}`;
94
+ const includes = await (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
95
+ .load(key)
96
+ .catch(function load(err) {
97
+ throw (0, __1.appendStack)(err, new Error());
98
+ });
99
+ const taggedId = (0, __1.toTaggedId)(this.otherMeta, id);
100
+ return includes ? this.entity.em.load(taggedId) : undefined;
79
101
  }
80
102
  async includes(other) {
81
103
  (0, __1.ensureNotDeleted)(this.entity, "pending");
82
- if (this.#loaded !== undefined) {
83
- return this.#loaded.includes(other);
84
- }
85
- else {
86
- if (this.#addedBeforeLoaded?.includes(other)) {
87
- return true;
88
- }
89
- else if (other.isNewEntity) {
90
- return false;
91
- }
92
- // Make a cacheable tuple to look up this specific m2m row
93
- const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${other.id}`;
94
- return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
95
- .load(key)
96
- .catch(function includes(err) {
97
- throw (0, __1.appendStack)(err, new Error());
98
- });
99
- }
104
+ const inMemory = this.#state.includesInMemory(other);
105
+ if (inMemory !== undefined)
106
+ return inMemory;
107
+ if (other.isNewEntity)
108
+ return false;
109
+ const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${other.id}`;
110
+ return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
111
+ .load(key)
112
+ .catch(function includes(err) {
113
+ throw (0, __1.appendStack)(err, new Error());
114
+ });
100
115
  }
101
116
  add(other, percolated = false) {
102
117
  (0, __1.ensureNotDeleted)(this.entity);
103
- if (this.#loaded !== undefined) {
104
- if (this.#loaded.includes(other))
105
- return;
106
- this.#loaded.push(other);
107
- }
108
- else if (this.#pendingSet !== undefined) {
109
- if (!this.#pendingSet.includes(other))
110
- this.#pendingSet.push(other);
111
- }
112
- else {
113
- if (this.#removedBeforeLoaded)
114
- (0, utils_1.remove)(this.#removedBeforeLoaded, other);
115
- if (!(this.#addedBeforeLoaded ??= []).includes(other))
116
- this.#addedBeforeLoaded.push(other);
117
- }
118
- if (!percolated) {
119
- (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addNew(this, this.entity, other);
120
- other[this.otherFieldName].add(this.entity, true);
121
- }
118
+ this.#state = this.#state.add(other, percolated);
122
119
  }
123
120
  remove(other, percolated = false) {
124
121
  (0, __1.ensureNotDeleted)(this.entity, "pending");
125
- if (!percolated) {
126
- (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addRemove(this, this.entity, other);
127
- other[this.otherFieldName].remove(this.entity, true);
128
- }
129
- if (this.#pendingSet !== undefined) {
130
- (0, utils_1.remove)(this.#pendingSet, other);
131
- }
132
- else if (this.#loaded !== undefined) {
133
- (0, utils_1.remove)(this.#loaded, other);
134
- }
135
- else {
136
- (0, utils_1.maybeRemove)(this.#addedBeforeLoaded, other);
137
- (0, utils_1.maybeAdd)((this.#removedBeforeLoaded ??= []), other);
138
- }
122
+ this.#state = this.#state.remove(other, percolated);
139
123
  }
140
124
  get isLoaded() {
141
- return this.#loaded !== undefined;
125
+ return this.#state.isLoaded;
142
126
  }
143
127
  get isPreloaded() {
144
128
  return !!this.#getPreloaded();
145
129
  }
146
130
  preload() {
147
- this.#loaded = this.#getPreloaded();
148
- this.maybeApplyAddedAndRemovedBeforeLoaded();
131
+ const preloaded = this.#getPreloaded();
132
+ if (preloaded) {
133
+ this.#state = this.#state.applyLoad(preloaded);
134
+ }
149
135
  }
150
136
  import(other, _, mapEntities) {
151
- this.#loaded = mapEntities(other.#loaded);
152
- this.#addedBeforeLoaded = mapEntities(other.#addedBeforeLoaded);
153
- this.#removedBeforeLoaded = mapEntities(other.#removedBeforeLoaded);
154
- this.#pendingSet = mapEntities(other.#pendingSet);
137
+ this.#state = other.#state.import(this, mapEntities);
155
138
  }
156
139
  doGet() {
157
140
  (0, __1.ensureNotDeleted)(this.entity, "pending");
158
- if (this.#pendingSet !== undefined) {
159
- return this.#pendingSet;
160
- }
161
- if (this.#loaded === undefined) {
162
- // This should only be callable in the type system if we've already resolved this to an instance
163
- throw new Error(`${this.entity}.${this.fieldName}.get was called when not loaded`);
164
- }
165
- return this.#loaded;
141
+ return this.#state.doGet();
166
142
  }
167
143
  get getWithDeleted() {
168
144
  return this.filterDeleted(this.doGet(), { withDeleted: true });
@@ -172,53 +148,28 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
172
148
  }
173
149
  set(values) {
174
150
  (0, __1.ensureNotDeleted)(this.entity);
175
- this.#hasBeenSet = true;
176
- if (this.#loaded === undefined) {
177
- // Store the pending set for later resolution at flush or load time
178
- this.#pendingSet = [...values];
179
- // Clear any prior add/remove tracking since set supersedes them
180
- this.#addedBeforeLoaded = undefined;
181
- this.#removedBeforeLoaded = undefined;
182
- // Mark our JoinRows as needing to load this m2m before flush
183
- (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).markPendingSet(this);
184
- }
185
- else {
186
- // Make a copy for safe iteration
187
- const loaded = new Set([...this.#loaded]);
188
- // Remove old values
189
- const valuesSet = new Set(values);
190
- for (const other of loaded) {
191
- if (!valuesSet.has(other))
192
- this.remove(other);
193
- }
194
- // Add new values
195
- for (const other of values) {
196
- if (!loaded.has(other))
197
- this.add(other);
198
- }
199
- }
151
+ this.#state = this.#state.set(values);
200
152
  }
201
153
  removeAll() {
202
154
  (0, __1.ensureNotDeleted)(this.entity);
203
- if (this.#loaded === undefined) {
155
+ if (!this.#state.isLoaded) {
204
156
  throw new Error("removeAll was called when not loaded");
205
157
  }
206
- for (const other of [...this.#loaded]) {
158
+ for (const other of [...this.#state.doGet()]) {
207
159
  this.remove(other);
208
160
  }
209
161
  }
210
162
  // impl details
211
163
  setFromOpts(others) {
212
- this.#loaded = [];
164
+ this.#state = new LoadedState(this, [], false);
213
165
  others.forEach((o) => this.add(o));
214
166
  }
215
167
  maybeCascadeDelete() {
216
168
  if (this.#isCascadeDelete) {
217
- this.#current({ withDeleted: true }).forEach((e) => this.entity.em.delete(e));
169
+ this.filterDeleted(this.#state.current({ withDeleted: true }), { withDeleted: true }).forEach((e) => this.entity.em.delete(e));
218
170
  }
219
171
  }
220
172
  async cleanupOnEntityDeleted() {
221
- // if we are going to delete this relation as well, then we don't need to clean it up
222
173
  if (this.#isCascadeDelete)
223
174
  return;
224
175
  const entities = await this.load({ withDeleted: true });
@@ -226,43 +177,10 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
226
177
  const m2m = other[this.otherFieldName];
227
178
  m2m.remove(this.entity);
228
179
  });
229
- this.#loaded = [];
230
- }
231
- maybeApplyAddedAndRemovedBeforeLoaded() {
232
- if (this.#loaded) {
233
- // If there's a pending set, apply it now that we're loaded
234
- if (this.#pendingSet !== undefined) {
235
- const pending = this.#pendingSet;
236
- this.#pendingSet = undefined;
237
- // Remove entities not in the pending set
238
- for (const other of [...this.#loaded]) {
239
- if (!pending.includes(other))
240
- this.remove(other);
241
- }
242
- // Add entities from the pending set not already loaded
243
- for (const other of pending) {
244
- if (!this.#loaded.includes(other))
245
- this.add(other);
246
- }
247
- return;
248
- }
249
- this.#addedBeforeLoaded?.forEach((e) => {
250
- if (!this.#loaded?.includes(e)) {
251
- // Push on the end to better match the db order of "newer things come last"
252
- this.#loaded?.unshift(e);
253
- (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addNew(this, this.entity, e);
254
- }
255
- });
256
- this.#removedBeforeLoaded?.forEach((e) => {
257
- (0, utils_1.remove)(this.#loaded, e);
258
- (0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addRemove(this, this.entity, e);
259
- });
260
- this.#removedBeforeLoaded = undefined;
180
+ if (this.#state instanceof LoadedState) {
181
+ this.#state.setLoaded([]);
261
182
  }
262
183
  }
263
- #current(opts) {
264
- return this.filterDeleted(this.#loaded ?? this.#pendingSet ?? this.#addedBeforeLoaded ?? [], opts);
265
- }
266
184
  get meta() {
267
185
  return (0, __1.getMetadata)(this.entity);
268
186
  }
@@ -288,7 +206,7 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
288
206
  return (0, AbstractRelationImpl_1.isCascadeDelete)(this, this.fieldName);
289
207
  }
290
208
  get hasBeenSet() {
291
- return this.#hasBeenSet;
209
+ return this.#state.hasBeenSet;
292
210
  }
293
211
  toString() {
294
212
  return `OneToManyCollection(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.otherMeta.type}, otherFieldName: ${this.otherFieldName})`;
@@ -302,4 +220,263 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
302
220
  [Relation_1.RelationU] = null;
303
221
  }
304
222
  exports.ManyToManyCollection = ManyToManyCollection;
223
+ /** Initial state for existing entities - no data loaded yet. */
224
+ class UnloadedPristineState {
225
+ isLoaded = false;
226
+ hasBeenSet = false;
227
+ #m2m;
228
+ constructor(m2m) {
229
+ this.#m2m = m2m;
230
+ }
231
+ add(other, percolated) {
232
+ const newState = new UnloadedAddedRemovedState(this.#m2m, [other], []);
233
+ if (!percolated) {
234
+ this.#m2m.registerJoinRowAdd(other);
235
+ this.#m2m.percolateAdd(other);
236
+ }
237
+ return newState;
238
+ }
239
+ remove(other, percolated) {
240
+ if (!percolated) {
241
+ this.#m2m.registerJoinRowRemove(other);
242
+ this.#m2m.percolateRemove(other);
243
+ }
244
+ return new UnloadedAddedRemovedState(this.#m2m, [], [other]);
245
+ }
246
+ set(values) {
247
+ this.#m2m.markPendingSet();
248
+ return new PendingSetState(this.#m2m, [...values]);
249
+ }
250
+ doGet() {
251
+ throw new Error(`${this.#m2m.entity}.${this.#m2m.fieldName}.get was called when not loaded`);
252
+ }
253
+ find(_id) {
254
+ return undefined;
255
+ }
256
+ includesInMemory(_other) {
257
+ return undefined;
258
+ }
259
+ applyLoad(dbEntities) {
260
+ return new LoadedState(this.#m2m, dbEntities, false);
261
+ }
262
+ current(_opts) {
263
+ return [];
264
+ }
265
+ import(m2m, _mapEntities) {
266
+ return new UnloadedPristineState(m2m);
267
+ }
268
+ }
269
+ /** State when add/remove called before load - tracks changes to merge later. */
270
+ class UnloadedAddedRemovedState {
271
+ isLoaded = false;
272
+ hasBeenSet = false;
273
+ #m2m;
274
+ #added;
275
+ #removed;
276
+ constructor(m2m, added, removed) {
277
+ this.#m2m = m2m;
278
+ this.#added = added;
279
+ this.#removed = removed;
280
+ }
281
+ add(other, percolated) {
282
+ (0, utils_1.maybeRemove)(this.#removed, other);
283
+ if (!this.#added.includes(other)) {
284
+ this.#added.push(other);
285
+ }
286
+ if (!percolated) {
287
+ this.#m2m.registerJoinRowAdd(other);
288
+ this.#m2m.percolateAdd(other);
289
+ }
290
+ return this;
291
+ }
292
+ remove(other, percolated) {
293
+ if (!percolated) {
294
+ this.#m2m.registerJoinRowRemove(other);
295
+ this.#m2m.percolateRemove(other);
296
+ }
297
+ (0, utils_1.maybeRemove)(this.#added, other);
298
+ (0, utils_1.maybeAdd)(this.#removed, other);
299
+ return this;
300
+ }
301
+ set(values) {
302
+ this.#m2m.markPendingSet();
303
+ return new PendingSetState(this.#m2m, [...values]);
304
+ }
305
+ doGet() {
306
+ throw new Error(`${this.#m2m.entity}.${this.#m2m.fieldName}.get was called when not loaded`);
307
+ }
308
+ find(id) {
309
+ return this.#added.find((u) => u.id === id);
310
+ }
311
+ includesInMemory(other) {
312
+ if (this.#added.includes(other))
313
+ return true;
314
+ return undefined;
315
+ }
316
+ applyLoad(dbEntities) {
317
+ const loaded = [...dbEntities];
318
+ for (const e of this.#added) {
319
+ if (!loaded.includes(e)) {
320
+ loaded.unshift(e);
321
+ this.#m2m.registerJoinRowAdd(e);
322
+ }
323
+ }
324
+ for (const e of this.#removed) {
325
+ (0, utils_1.remove)(loaded, e);
326
+ this.#m2m.registerJoinRowRemove(e);
327
+ }
328
+ return new LoadedState(this.#m2m, loaded, false);
329
+ }
330
+ current(_opts) {
331
+ return this.#added;
332
+ }
333
+ import(m2m, mapEntities) {
334
+ const added = mapEntities(this.#added);
335
+ const removed = mapEntities(this.#removed);
336
+ return new UnloadedAddedRemovedState(m2m, added ?? [], removed ?? []);
337
+ }
338
+ }
339
+ /** State when set() called before load - holds pending values to diff on load. */
340
+ class PendingSetState {
341
+ isLoaded = false;
342
+ hasBeenSet = true;
343
+ #m2m;
344
+ #pendingSet;
345
+ constructor(m2m, pendingSet) {
346
+ this.#m2m = m2m;
347
+ this.#pendingSet = pendingSet;
348
+ }
349
+ add(other, percolated) {
350
+ if (!this.#pendingSet.includes(other)) {
351
+ this.#pendingSet.push(other);
352
+ }
353
+ if (!percolated) {
354
+ this.#m2m.registerJoinRowAdd(other);
355
+ this.#m2m.percolateAdd(other);
356
+ }
357
+ return this;
358
+ }
359
+ remove(other, percolated) {
360
+ if (!percolated) {
361
+ this.#m2m.registerJoinRowRemove(other);
362
+ this.#m2m.percolateRemove(other);
363
+ }
364
+ (0, utils_1.remove)(this.#pendingSet, other);
365
+ return this;
366
+ }
367
+ set(values) {
368
+ this.#pendingSet = [...values];
369
+ return this;
370
+ }
371
+ doGet() {
372
+ return this.#pendingSet;
373
+ }
374
+ find(id) {
375
+ return this.#pendingSet.find((u) => u.id === id);
376
+ }
377
+ includesInMemory(other) {
378
+ return this.#pendingSet.includes(other);
379
+ }
380
+ applyLoad(dbEntities) {
381
+ const loaded = [...dbEntities];
382
+ const pending = this.#pendingSet;
383
+ for (const other of [...loaded]) {
384
+ if (!pending.includes(other)) {
385
+ (0, utils_1.remove)(loaded, other);
386
+ this.#m2m.registerJoinRowRemove(other);
387
+ this.#m2m.percolateRemove(other);
388
+ }
389
+ }
390
+ for (const other of pending) {
391
+ if (!loaded.includes(other)) {
392
+ loaded.push(other);
393
+ this.#m2m.registerJoinRowAdd(other);
394
+ this.#m2m.percolateAdd(other);
395
+ }
396
+ }
397
+ return new LoadedState(this.#m2m, loaded, true);
398
+ }
399
+ current(_opts) {
400
+ return this.#pendingSet;
401
+ }
402
+ import(m2m, mapEntities) {
403
+ const pendingSet = mapEntities(this.#pendingSet);
404
+ return new PendingSetState(m2m, pendingSet ?? []);
405
+ }
406
+ }
407
+ /** State when collection is loaded - all operations work directly on loaded array. */
408
+ class LoadedState {
409
+ isLoaded = true;
410
+ #m2m;
411
+ #loaded;
412
+ #hasBeenSet;
413
+ constructor(m2m, loaded, hasBeenSet) {
414
+ this.#m2m = m2m;
415
+ this.#loaded = loaded;
416
+ this.#hasBeenSet = hasBeenSet;
417
+ }
418
+ get hasBeenSet() {
419
+ return this.#hasBeenSet;
420
+ }
421
+ add(other, percolated) {
422
+ if (this.#loaded.includes(other))
423
+ return this;
424
+ this.#loaded.push(other);
425
+ if (!percolated) {
426
+ this.#m2m.registerJoinRowAdd(other);
427
+ this.#m2m.percolateAdd(other);
428
+ }
429
+ return this;
430
+ }
431
+ remove(other, percolated) {
432
+ if (!percolated) {
433
+ this.#m2m.registerJoinRowRemove(other);
434
+ this.#m2m.percolateRemove(other);
435
+ }
436
+ (0, utils_1.remove)(this.#loaded, other);
437
+ return this;
438
+ }
439
+ set(values) {
440
+ this.#hasBeenSet = true;
441
+ const loaded = new Set([...this.#loaded]);
442
+ const valuesSet = new Set(values);
443
+ for (const other of loaded) {
444
+ if (!valuesSet.has(other)) {
445
+ this.remove(other, false);
446
+ }
447
+ }
448
+ for (const other of values) {
449
+ if (!loaded.has(other)) {
450
+ this.add(other, false);
451
+ }
452
+ }
453
+ return this;
454
+ }
455
+ doGet() {
456
+ return this.#loaded;
457
+ }
458
+ find(id) {
459
+ return this.#loaded.find((u) => u.id === id);
460
+ }
461
+ includesInMemory(other) {
462
+ return this.#loaded.includes(other);
463
+ }
464
+ applyLoad(dbEntities) {
465
+ this.#loaded = dbEntities;
466
+ return this;
467
+ }
468
+ current(_opts) {
469
+ return this.#loaded;
470
+ }
471
+ import(m2m, mapEntities) {
472
+ const loaded = mapEntities(this.#loaded);
473
+ return new LoadedState(m2m, loaded ?? [], this.#hasBeenSet);
474
+ }
475
+ getLoaded() {
476
+ return this.#loaded;
477
+ }
478
+ setLoaded(entities) {
479
+ this.#loaded = entities;
480
+ }
481
+ }
305
482
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-core",
3
- "version": "2.0.3-next.8",
3
+ "version": "2.0.3-next.9",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "build"
21
21
  ],
22
22
  "peerDependencies": {
23
- "joist-utils": "2.0.3-next.8"
23
+ "joist-utils": "2.0.3-next.9"
24
24
  },
25
25
  "dependencies": {
26
26
  "@types/object-hash": "^3.0.6",