joist-core 2.0.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/AliasAssigner.d.ts +3 -0
- package/build/AliasAssigner.d.ts.map +1 -1
- package/build/AliasAssigner.js +12 -3
- package/build/AliasAssigner.js.map +1 -1
- package/build/EntityGraphQLFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.js +1 -2
- package/build/EntityGraphQLFilter.js.map +1 -1
- package/build/EntityManager.d.ts +25 -10
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +242 -159
- package/build/EntityManager.js.map +1 -1
- package/build/IndexManager.d.ts +1 -0
- package/build/IndexManager.d.ts.map +1 -1
- package/build/IndexManager.js +6 -3
- package/build/IndexManager.js.map +1 -1
- package/build/JoinRows.d.ts.map +1 -1
- package/build/JoinRows.js +1 -2
- package/build/JoinRows.js.map +1 -1
- package/build/PendingChanges.d.ts +26 -0
- package/build/PendingChanges.d.ts.map +1 -0
- package/build/PendingChanges.js +3 -0
- package/build/PendingChanges.js.map +1 -0
- package/build/ReactionsManager.d.ts +1 -1
- package/build/ReactionsManager.d.ts.map +1 -1
- package/build/ReactionsManager.js +8 -5
- package/build/ReactionsManager.js.map +1 -1
- package/build/batchloaders/BatchLoader.d.ts +14 -0
- package/build/batchloaders/BatchLoader.d.ts.map +1 -0
- package/build/batchloaders/BatchLoader.js +49 -0
- package/build/batchloaders/BatchLoader.js.map +1 -0
- package/build/batchloaders/loadBatchLoader.d.ts +17 -0
- package/build/batchloaders/loadBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/loadBatchLoader.js +55 -0
- package/build/batchloaders/loadBatchLoader.js.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.ts +7 -0
- package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.js +57 -0
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -0
- package/build/batchloaders/oneToManyBatchLoader.d.ts +7 -0
- package/build/batchloaders/oneToManyBatchLoader.d.ts.map +1 -0
- package/build/{dataloaders/oneToManyDataLoader.js → batchloaders/oneToManyBatchLoader.js} +9 -18
- package/build/batchloaders/oneToManyBatchLoader.js.map +1 -0
- package/build/batchloaders/oneToOneBatchLoader.d.ts +7 -0
- package/build/batchloaders/oneToOneBatchLoader.d.ts.map +1 -0
- package/build/{dataloaders/oneToOneDataLoader.js → batchloaders/oneToOneBatchLoader.js} +10 -16
- package/build/batchloaders/oneToOneBatchLoader.js.map +1 -0
- package/build/{dataloaders/populateDataLoader.d.ts → batchloaders/populateBatchLoader.d.ts} +5 -5
- package/build/batchloaders/populateBatchLoader.d.ts.map +1 -0
- package/build/{dataloaders/populateDataLoader.js → batchloaders/populateBatchLoader.js} +97 -54
- package/build/batchloaders/populateBatchLoader.js.map +1 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +7 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -0
- package/build/{dataloaders/recursiveChildrenDataLoader.js → batchloaders/recursiveChildrenBatchLoader.js} +4 -6
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts +7 -0
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/recursiveM2mBatchLoader.js +84 -0
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts +7 -0
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -0
- package/build/{dataloaders/recursiveParentsDataLoader.js → batchloaders/recursiveParentsBatchLoader.js} +4 -5
- package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -0
- package/build/changes.js +2 -2
- package/build/changes.js.map +1 -1
- package/build/config.d.ts +13 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +26 -1
- package/build/config.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findIdsDataLoader.js +7 -5
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +3 -2
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/build/logging/ReactionLogger.d.ts +8 -4
- package/build/logging/ReactionLogger.d.ts.map +1 -1
- package/build/logging/ReactionLogger.js +11 -4
- package/build/logging/ReactionLogger.js.map +1 -1
- package/build/newTestInstance.d.ts +15 -0
- package/build/newTestInstance.d.ts.map +1 -1
- package/build/newTestInstance.js +49 -6
- package/build/newTestInstance.js.map +1 -1
- package/build/preloading/JsonAggregatePreloader.js +29 -24
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +25 -0
- package/build/reactiveHints.js.map +1 -1
- package/build/relations/Collection.d.ts +6 -1
- package/build/relations/Collection.d.ts.map +1 -1
- package/build/relations/Collection.js.map +1 -1
- package/build/relations/ManyToManyCollection.d.ts +8 -1
- package/build/relations/ManyToManyCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyCollection.js +338 -130
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToOneReference.d.ts +2 -6
- package/build/relations/ManyToOneReference.d.ts.map +1 -1
- package/build/relations/ManyToOneReference.js +115 -78
- package/build/relations/ManyToOneReference.js.map +1 -1
- package/build/relations/OneToManyCollection.d.ts +8 -4
- package/build/relations/OneToManyCollection.d.ts.map +1 -1
- package/build/relations/OneToManyCollection.js +415 -173
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToOneReference.d.ts.map +1 -1
- package/build/relations/OneToOneReference.js +12 -7
- package/build/relations/OneToOneReference.js.map +1 -1
- package/build/relations/ReactiveManyToMany.js +4 -4
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.js +3 -3
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/ReadOnlyCollection.d.ts.map +1 -1
- package/build/relations/ReadOnlyCollection.js +2 -1
- package/build/relations/ReadOnlyCollection.js.map +1 -1
- package/build/relations/RecursiveCollection.d.ts +29 -1
- package/build/relations/RecursiveCollection.d.ts.map +1 -1
- package/build/relations/RecursiveCollection.js +160 -9
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/index.d.ts +1 -1
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +2 -1
- package/build/relations/index.js.map +1 -1
- package/package.json +2 -2
- package/build/dataloaders/loadDataLoader.d.ts +0 -11
- package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
- package/build/dataloaders/loadDataLoader.js +0 -54
- package/build/dataloaders/loadDataLoader.js.map +0 -1
- package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
- package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
- package/build/dataloaders/manyToManyDataLoader.js +0 -74
- package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
- package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
- package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
- package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
- package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
- package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
- package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
- package/build/dataloaders/populateDataLoader.js.map +0 -1
- package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
- package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
- package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
- package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
- package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
- package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ManyToManyCollection = void 0;
|
|
4
4
|
exports.hasManyToMany = hasManyToMany;
|
|
5
5
|
const __1 = require("../");
|
|
6
|
-
const
|
|
6
|
+
const manyToManyBatchLoader_1 = require("../batchloaders/manyToManyBatchLoader");
|
|
7
7
|
const manyToManyFindDataLoader_1 = require("../dataloaders/manyToManyFindDataLoader");
|
|
8
8
|
const newEntity_1 = require("../newEntity");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
@@ -18,10 +18,8 @@ function hasManyToMany() {
|
|
|
18
18
|
}
|
|
19
19
|
class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
20
20
|
#field;
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#removedBeforeLoaded;
|
|
24
|
-
#hasBeenSet = false;
|
|
21
|
+
#loadPromise;
|
|
22
|
+
#state;
|
|
25
23
|
// I.e. when entity = Book:
|
|
26
24
|
// fieldName == tags, because it's our collection to tags
|
|
27
25
|
// columnName = book_id, what we use as the `where book_id = us` to find our join table rows
|
|
@@ -31,9 +29,28 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
31
29
|
super(entity);
|
|
32
30
|
this.#field = field;
|
|
33
31
|
if ((0, __1.getInstanceData)(entity).isOrWasNew) {
|
|
34
|
-
this.#
|
|
32
|
+
this.#state = new LoadedState(this, [], false);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.#state = new UnloadedPristineState(this);
|
|
35
36
|
}
|
|
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
|
+
}
|
|
37
54
|
/** Removes pending-hard-delete or soft-deleted entities, unless explicitly asked for. */
|
|
38
55
|
filterDeleted(entities, opts) {
|
|
39
56
|
return opts?.withDeleted === true
|
|
@@ -42,115 +59,81 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
42
59
|
}
|
|
43
60
|
async load(opts = {}) {
|
|
44
61
|
(0, __1.ensureNotDeleted)(this.entity, "pending");
|
|
45
|
-
if (this.#
|
|
62
|
+
if (!this.#state.isLoaded || (opts.forceReload && !this.entity.isNewEntity)) {
|
|
46
63
|
const key = `${this.columnName}=${this.entity.id}`;
|
|
47
|
-
this.#
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
const maybePreloaded = this.#getPreloaded();
|
|
65
|
+
if (maybePreloaded) {
|
|
66
|
+
this.#state = this.#state.applyLoad(maybePreloaded);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
await (this.#loadPromise ??= (0, manyToManyBatchLoader_1.manyToManyBatchLoader)(this.entity.em, this).load(key))
|
|
70
|
+
.then(() => this.preload())
|
|
71
|
+
.catch(function load(err) {
|
|
72
|
+
throw (0, __1.appendStack)(err, new Error());
|
|
73
|
+
})
|
|
74
|
+
.finally(() => {
|
|
75
|
+
this.#loadPromise = undefined;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
55
78
|
}
|
|
56
|
-
return this.filterDeleted(this.#
|
|
79
|
+
return this.filterDeleted(this.#state.doGet(), opts);
|
|
57
80
|
}
|
|
58
81
|
async find(id) {
|
|
59
82
|
(0, __1.ensureNotDeleted)(this.entity, "pending");
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
throw (0, __1.appendStack)(err, new Error());
|
|
74
|
-
});
|
|
75
|
-
const taggedId = (0, __1.toTaggedId)(this.otherMeta, id);
|
|
76
|
-
return includes ? this.entity.em.load(taggedId) : undefined;
|
|
77
|
-
}
|
|
83
|
+
const inMemory = this.#state.find(id);
|
|
84
|
+
if (inMemory)
|
|
85
|
+
return inMemory;
|
|
86
|
+
if (this.#state.isLoaded)
|
|
87
|
+
return undefined;
|
|
88
|
+
const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${id}`;
|
|
89
|
+
const includes = await (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
|
|
90
|
+
.load(key)
|
|
91
|
+
.catch(function load(err) {
|
|
92
|
+
throw (0, __1.appendStack)(err, new Error());
|
|
93
|
+
});
|
|
94
|
+
const taggedId = (0, __1.toTaggedId)(this.otherMeta, id);
|
|
95
|
+
return includes ? this.entity.em.load(taggedId) : undefined;
|
|
78
96
|
}
|
|
79
97
|
async includes(other) {
|
|
80
98
|
(0, __1.ensureNotDeleted)(this.entity, "pending");
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${other.id}`;
|
|
93
|
-
return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
|
|
94
|
-
.load(key)
|
|
95
|
-
.catch(function includes(err) {
|
|
96
|
-
throw (0, __1.appendStack)(err, new Error());
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
+
const inMemory = this.#state.includesInMemory(other);
|
|
100
|
+
if (inMemory !== undefined)
|
|
101
|
+
return inMemory;
|
|
102
|
+
if (other.isNewEntity)
|
|
103
|
+
return false;
|
|
104
|
+
const key = `${this.columnName}=${this.entity.id},${this.otherColumnName}=${other.id}`;
|
|
105
|
+
return (0, manyToManyFindDataLoader_1.manyToManyFindDataLoader)(this.entity.em, this)
|
|
106
|
+
.load(key)
|
|
107
|
+
.catch(function includes(err) {
|
|
108
|
+
throw (0, __1.appendStack)(err, new Error());
|
|
109
|
+
});
|
|
99
110
|
}
|
|
100
111
|
add(other, percolated = false) {
|
|
101
112
|
(0, __1.ensureNotDeleted)(this.entity);
|
|
102
|
-
|
|
103
|
-
if (this.#loaded.includes(other))
|
|
104
|
-
return;
|
|
105
|
-
this.#loaded.push(other);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
if (this.#removedBeforeLoaded)
|
|
109
|
-
(0, utils_1.remove)(this.#removedBeforeLoaded, other);
|
|
110
|
-
if (!(this.#addedBeforeLoaded ??= []).includes(other))
|
|
111
|
-
this.#addedBeforeLoaded.push(other);
|
|
112
|
-
}
|
|
113
|
-
if (!percolated) {
|
|
114
|
-
(0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addNew(this, this.entity, other);
|
|
115
|
-
other[this.otherFieldName].add(this.entity, true);
|
|
116
|
-
}
|
|
113
|
+
this.#state = this.#state.add(other, percolated);
|
|
117
114
|
}
|
|
118
115
|
remove(other, percolated = false) {
|
|
119
116
|
(0, __1.ensureNotDeleted)(this.entity, "pending");
|
|
120
|
-
|
|
121
|
-
(0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addRemove(this, this.entity, other);
|
|
122
|
-
other[this.otherFieldName].remove(this.entity, true);
|
|
123
|
-
}
|
|
124
|
-
if (this.#loaded !== undefined) {
|
|
125
|
-
(0, utils_1.remove)(this.#loaded, other);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
(0, utils_1.maybeRemove)(this.#addedBeforeLoaded, other);
|
|
129
|
-
(0, utils_1.maybeAdd)((this.#removedBeforeLoaded ??= []), other);
|
|
130
|
-
}
|
|
117
|
+
this.#state = this.#state.remove(other, percolated);
|
|
131
118
|
}
|
|
132
119
|
get isLoaded() {
|
|
133
|
-
return this.#
|
|
120
|
+
return this.#state.isLoaded;
|
|
134
121
|
}
|
|
135
122
|
get isPreloaded() {
|
|
136
123
|
return !!this.#getPreloaded();
|
|
137
124
|
}
|
|
138
125
|
preload() {
|
|
139
|
-
|
|
140
|
-
|
|
126
|
+
const preloaded = this.#getPreloaded();
|
|
127
|
+
if (preloaded) {
|
|
128
|
+
this.#state = this.#state.applyLoad(preloaded);
|
|
129
|
+
}
|
|
141
130
|
}
|
|
142
131
|
import(other, _, mapEntities) {
|
|
143
|
-
this.#
|
|
144
|
-
this.#addedBeforeLoaded = mapEntities(other.#addedBeforeLoaded);
|
|
145
|
-
this.#removedBeforeLoaded = mapEntities(other.#removedBeforeLoaded);
|
|
132
|
+
this.#state = other.#state.import(this, mapEntities);
|
|
146
133
|
}
|
|
147
134
|
doGet() {
|
|
148
135
|
(0, __1.ensureNotDeleted)(this.entity, "pending");
|
|
149
|
-
|
|
150
|
-
// This should only be callable in the type system if we've already resolved this to an instance
|
|
151
|
-
throw new Error(`${this.entity}.${this.fieldName}.get was called when not loaded`);
|
|
152
|
-
}
|
|
153
|
-
return this.#loaded;
|
|
136
|
+
return this.#state.doGet();
|
|
154
137
|
}
|
|
155
138
|
get getWithDeleted() {
|
|
156
139
|
return this.filterDeleted(this.doGet(), { withDeleted: true });
|
|
@@ -160,44 +143,28 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
160
143
|
}
|
|
161
144
|
set(values) {
|
|
162
145
|
(0, __1.ensureNotDeleted)(this.entity);
|
|
163
|
-
|
|
164
|
-
throw new Error("set was called when not loaded");
|
|
165
|
-
}
|
|
166
|
-
this.#hasBeenSet = true;
|
|
167
|
-
// Make a copy for safe iteration
|
|
168
|
-
const loaded = [...this.#loaded];
|
|
169
|
-
// Remove old values
|
|
170
|
-
for (const other of loaded) {
|
|
171
|
-
if (!values.includes(other))
|
|
172
|
-
this.remove(other);
|
|
173
|
-
}
|
|
174
|
-
// Add new values
|
|
175
|
-
for (const other of values) {
|
|
176
|
-
if (!loaded.includes(other))
|
|
177
|
-
this.add(other);
|
|
178
|
-
}
|
|
146
|
+
this.#state = this.#state.set(values);
|
|
179
147
|
}
|
|
180
148
|
removeAll() {
|
|
181
149
|
(0, __1.ensureNotDeleted)(this.entity);
|
|
182
|
-
if (this.#
|
|
150
|
+
if (!this.#state.isLoaded) {
|
|
183
151
|
throw new Error("removeAll was called when not loaded");
|
|
184
152
|
}
|
|
185
|
-
for (const other of [...this.#
|
|
153
|
+
for (const other of [...this.#state.doGet()]) {
|
|
186
154
|
this.remove(other);
|
|
187
155
|
}
|
|
188
156
|
}
|
|
189
157
|
// impl details
|
|
190
158
|
setFromOpts(others) {
|
|
191
|
-
this.#
|
|
159
|
+
this.#state = new LoadedState(this, [], false);
|
|
192
160
|
others.forEach((o) => this.add(o));
|
|
193
161
|
}
|
|
194
162
|
maybeCascadeDelete() {
|
|
195
163
|
if (this.#isCascadeDelete) {
|
|
196
|
-
this.#current({ withDeleted: true }).forEach((e) => this.entity.em.delete(e));
|
|
164
|
+
this.filterDeleted(this.#state.current({ withDeleted: true }), { withDeleted: true }).forEach((e) => this.entity.em.delete(e));
|
|
197
165
|
}
|
|
198
166
|
}
|
|
199
167
|
async cleanupOnEntityDeleted() {
|
|
200
|
-
// if we are going to delete this relation as well, then we don't need to clean it up
|
|
201
168
|
if (this.#isCascadeDelete)
|
|
202
169
|
return;
|
|
203
170
|
const entities = await this.load({ withDeleted: true });
|
|
@@ -205,27 +172,10 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
205
172
|
const m2m = other[this.otherFieldName];
|
|
206
173
|
m2m.remove(this.entity);
|
|
207
174
|
});
|
|
208
|
-
this.#
|
|
209
|
-
|
|
210
|
-
maybeApplyAddedAndRemovedBeforeLoaded() {
|
|
211
|
-
if (this.#loaded) {
|
|
212
|
-
this.#addedBeforeLoaded?.forEach((e) => {
|
|
213
|
-
if (!this.#loaded?.includes(e)) {
|
|
214
|
-
// Push on the end to better match the db order of "newer things come last"
|
|
215
|
-
this.#loaded?.unshift(e);
|
|
216
|
-
(0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addNew(this, this.entity, e);
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
this.#removedBeforeLoaded?.forEach((e) => {
|
|
220
|
-
(0, utils_1.remove)(this.#loaded, e);
|
|
221
|
-
(0, __1.getEmInternalApi)(this.entity.em).joinRows(this).addRemove(this, this.entity, e);
|
|
222
|
-
});
|
|
223
|
-
this.#removedBeforeLoaded = undefined;
|
|
175
|
+
if (this.#state instanceof LoadedState) {
|
|
176
|
+
this.#state.setLoaded([]);
|
|
224
177
|
}
|
|
225
178
|
}
|
|
226
|
-
#current(opts) {
|
|
227
|
-
return this.filterDeleted(this.#loaded ?? this.#addedBeforeLoaded ?? [], opts);
|
|
228
|
-
}
|
|
229
179
|
get meta() {
|
|
230
180
|
return (0, __1.getMetadata)(this.entity);
|
|
231
181
|
}
|
|
@@ -251,7 +201,7 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
251
201
|
return (0, AbstractRelationImpl_1.isCascadeDelete)(this, this.fieldName);
|
|
252
202
|
}
|
|
253
203
|
get hasBeenSet() {
|
|
254
|
-
return this.#hasBeenSet;
|
|
204
|
+
return this.#state.hasBeenSet;
|
|
255
205
|
}
|
|
256
206
|
toString() {
|
|
257
207
|
return `OneToManyCollection(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.otherMeta.type}, otherFieldName: ${this.otherFieldName})`;
|
|
@@ -265,4 +215,262 @@ class ManyToManyCollection extends AbstractRelationImpl_1.AbstractRelationImpl {
|
|
|
265
215
|
[Relation_1.RelationU] = null;
|
|
266
216
|
}
|
|
267
217
|
exports.ManyToManyCollection = ManyToManyCollection;
|
|
218
|
+
/** Initial state for existing entities - no data loaded yet. */
|
|
219
|
+
class UnloadedPristineState {
|
|
220
|
+
isLoaded = false;
|
|
221
|
+
hasBeenSet = false;
|
|
222
|
+
#m2m;
|
|
223
|
+
constructor(m2m) {
|
|
224
|
+
this.#m2m = m2m;
|
|
225
|
+
}
|
|
226
|
+
add(other, percolated) {
|
|
227
|
+
const newState = new UnloadedAddedRemovedState(this.#m2m, [other], []);
|
|
228
|
+
if (!percolated) {
|
|
229
|
+
this.#m2m.registerJoinRowAdd(other);
|
|
230
|
+
this.#m2m.percolateAdd(other);
|
|
231
|
+
}
|
|
232
|
+
return newState;
|
|
233
|
+
}
|
|
234
|
+
remove(other, percolated) {
|
|
235
|
+
if (!percolated) {
|
|
236
|
+
this.#m2m.registerJoinRowRemove(other);
|
|
237
|
+
this.#m2m.percolateRemove(other);
|
|
238
|
+
}
|
|
239
|
+
return new UnloadedAddedRemovedState(this.#m2m, [], [other]);
|
|
240
|
+
}
|
|
241
|
+
set(values) {
|
|
242
|
+
return new PendingSetState(this.#m2m, [...values]);
|
|
243
|
+
}
|
|
244
|
+
doGet() {
|
|
245
|
+
throw new Error(`${this.#m2m.entity}.${this.#m2m.fieldName}.get was called when not loaded`);
|
|
246
|
+
}
|
|
247
|
+
find(_id) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
includesInMemory(_other) {
|
|
251
|
+
return undefined;
|
|
252
|
+
}
|
|
253
|
+
applyLoad(dbEntities) {
|
|
254
|
+
return new LoadedState(this.#m2m, dbEntities, false);
|
|
255
|
+
}
|
|
256
|
+
current(_opts) {
|
|
257
|
+
return [];
|
|
258
|
+
}
|
|
259
|
+
import(m2m, _mapEntities) {
|
|
260
|
+
return new UnloadedPristineState(m2m);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/** State when add/remove called before load - tracks changes to merge later. */
|
|
264
|
+
class UnloadedAddedRemovedState {
|
|
265
|
+
isLoaded = false;
|
|
266
|
+
hasBeenSet = false;
|
|
267
|
+
#m2m;
|
|
268
|
+
#added;
|
|
269
|
+
#removed;
|
|
270
|
+
constructor(m2m, added, removed) {
|
|
271
|
+
this.#m2m = m2m;
|
|
272
|
+
this.#added = added;
|
|
273
|
+
this.#removed = removed;
|
|
274
|
+
}
|
|
275
|
+
add(other, percolated) {
|
|
276
|
+
(0, utils_1.maybeRemove)(this.#removed, other);
|
|
277
|
+
if (!this.#added.includes(other)) {
|
|
278
|
+
this.#added.push(other);
|
|
279
|
+
}
|
|
280
|
+
if (!percolated) {
|
|
281
|
+
this.#m2m.registerJoinRowAdd(other);
|
|
282
|
+
this.#m2m.percolateAdd(other);
|
|
283
|
+
}
|
|
284
|
+
return this;
|
|
285
|
+
}
|
|
286
|
+
remove(other, percolated) {
|
|
287
|
+
if (!percolated) {
|
|
288
|
+
this.#m2m.registerJoinRowRemove(other);
|
|
289
|
+
this.#m2m.percolateRemove(other);
|
|
290
|
+
}
|
|
291
|
+
(0, utils_1.maybeRemove)(this.#added, other);
|
|
292
|
+
(0, utils_1.maybeAdd)(this.#removed, other);
|
|
293
|
+
return this;
|
|
294
|
+
}
|
|
295
|
+
set(values) {
|
|
296
|
+
return new PendingSetState(this.#m2m, [...values]);
|
|
297
|
+
}
|
|
298
|
+
doGet() {
|
|
299
|
+
throw new Error(`${this.#m2m.entity}.${this.#m2m.fieldName}.get was called when not loaded`);
|
|
300
|
+
}
|
|
301
|
+
find(id) {
|
|
302
|
+
return this.#added.find((u) => u.id === id);
|
|
303
|
+
}
|
|
304
|
+
includesInMemory(other) {
|
|
305
|
+
if (this.#added.includes(other))
|
|
306
|
+
return true;
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
applyLoad(dbEntities) {
|
|
310
|
+
const loaded = [...dbEntities];
|
|
311
|
+
for (const e of this.#added) {
|
|
312
|
+
if (!loaded.includes(e)) {
|
|
313
|
+
loaded.unshift(e);
|
|
314
|
+
this.#m2m.registerJoinRowAdd(e);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
for (const e of this.#removed) {
|
|
318
|
+
(0, utils_1.remove)(loaded, e);
|
|
319
|
+
this.#m2m.registerJoinRowRemove(e);
|
|
320
|
+
}
|
|
321
|
+
return new LoadedState(this.#m2m, loaded, false);
|
|
322
|
+
}
|
|
323
|
+
current(_opts) {
|
|
324
|
+
return this.#added;
|
|
325
|
+
}
|
|
326
|
+
import(m2m, mapEntities) {
|
|
327
|
+
const added = mapEntities(this.#added);
|
|
328
|
+
const removed = mapEntities(this.#removed);
|
|
329
|
+
return new UnloadedAddedRemovedState(m2m, added ?? [], removed ?? []);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/** State when set() called before load - holds pending values to diff on load. */
|
|
333
|
+
class PendingSetState {
|
|
334
|
+
isLoaded = false;
|
|
335
|
+
hasBeenSet = true;
|
|
336
|
+
#m2m;
|
|
337
|
+
#pendingSet;
|
|
338
|
+
constructor(m2m, pendingSet) {
|
|
339
|
+
this.#m2m = m2m;
|
|
340
|
+
this.#pendingSet = pendingSet;
|
|
341
|
+
(0, __1.getEmInternalApi)(m2m.entity.em).pendingLoads.add(m2m);
|
|
342
|
+
}
|
|
343
|
+
add(other, percolated) {
|
|
344
|
+
if (!this.#pendingSet.includes(other)) {
|
|
345
|
+
this.#pendingSet.push(other);
|
|
346
|
+
}
|
|
347
|
+
if (!percolated) {
|
|
348
|
+
this.#m2m.registerJoinRowAdd(other);
|
|
349
|
+
this.#m2m.percolateAdd(other);
|
|
350
|
+
}
|
|
351
|
+
return this;
|
|
352
|
+
}
|
|
353
|
+
remove(other, percolated) {
|
|
354
|
+
if (!percolated) {
|
|
355
|
+
this.#m2m.registerJoinRowRemove(other);
|
|
356
|
+
this.#m2m.percolateRemove(other);
|
|
357
|
+
}
|
|
358
|
+
(0, utils_1.remove)(this.#pendingSet, other);
|
|
359
|
+
return this;
|
|
360
|
+
}
|
|
361
|
+
set(values) {
|
|
362
|
+
this.#pendingSet = [...values];
|
|
363
|
+
return this;
|
|
364
|
+
}
|
|
365
|
+
doGet() {
|
|
366
|
+
return this.#pendingSet;
|
|
367
|
+
}
|
|
368
|
+
find(id) {
|
|
369
|
+
return this.#pendingSet.find((u) => u.id === id);
|
|
370
|
+
}
|
|
371
|
+
includesInMemory(other) {
|
|
372
|
+
return this.#pendingSet.includes(other);
|
|
373
|
+
}
|
|
374
|
+
applyLoad(dbEntities) {
|
|
375
|
+
const loaded = [...dbEntities];
|
|
376
|
+
const pending = this.#pendingSet;
|
|
377
|
+
for (const other of [...loaded]) {
|
|
378
|
+
if (!pending.includes(other)) {
|
|
379
|
+
(0, utils_1.remove)(loaded, other);
|
|
380
|
+
this.#m2m.registerJoinRowRemove(other);
|
|
381
|
+
this.#m2m.percolateRemove(other);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
for (const other of pending) {
|
|
385
|
+
if (!loaded.includes(other)) {
|
|
386
|
+
loaded.push(other);
|
|
387
|
+
this.#m2m.registerJoinRowAdd(other);
|
|
388
|
+
this.#m2m.percolateAdd(other);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return new LoadedState(this.#m2m, loaded, true);
|
|
392
|
+
}
|
|
393
|
+
current(_opts) {
|
|
394
|
+
return this.#pendingSet;
|
|
395
|
+
}
|
|
396
|
+
import(m2m, mapEntities) {
|
|
397
|
+
const pendingSet = mapEntities(this.#pendingSet);
|
|
398
|
+
return new PendingSetState(m2m, pendingSet ?? []);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
/** State when collection is loaded - all operations work directly on loaded array. */
|
|
402
|
+
class LoadedState {
|
|
403
|
+
isLoaded = true;
|
|
404
|
+
#m2m;
|
|
405
|
+
#loaded;
|
|
406
|
+
#hasBeenSet;
|
|
407
|
+
constructor(m2m, loaded, hasBeenSet) {
|
|
408
|
+
this.#m2m = m2m;
|
|
409
|
+
this.#loaded = loaded;
|
|
410
|
+
this.#hasBeenSet = hasBeenSet;
|
|
411
|
+
}
|
|
412
|
+
get hasBeenSet() {
|
|
413
|
+
return this.#hasBeenSet;
|
|
414
|
+
}
|
|
415
|
+
add(other, percolated) {
|
|
416
|
+
if (this.#loaded.includes(other))
|
|
417
|
+
return this;
|
|
418
|
+
this.#loaded.push(other);
|
|
419
|
+
if (!percolated) {
|
|
420
|
+
this.#m2m.registerJoinRowAdd(other);
|
|
421
|
+
this.#m2m.percolateAdd(other);
|
|
422
|
+
}
|
|
423
|
+
return this;
|
|
424
|
+
}
|
|
425
|
+
remove(other, percolated) {
|
|
426
|
+
if (!percolated) {
|
|
427
|
+
this.#m2m.registerJoinRowRemove(other);
|
|
428
|
+
this.#m2m.percolateRemove(other);
|
|
429
|
+
}
|
|
430
|
+
(0, utils_1.remove)(this.#loaded, other);
|
|
431
|
+
return this;
|
|
432
|
+
}
|
|
433
|
+
set(values) {
|
|
434
|
+
this.#hasBeenSet = true;
|
|
435
|
+
const loaded = new Set([...this.#loaded]);
|
|
436
|
+
const valuesSet = new Set(values);
|
|
437
|
+
for (const other of loaded) {
|
|
438
|
+
if (!valuesSet.has(other)) {
|
|
439
|
+
this.remove(other, false);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
for (const other of values) {
|
|
443
|
+
if (!loaded.has(other)) {
|
|
444
|
+
this.add(other, false);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
return this;
|
|
448
|
+
}
|
|
449
|
+
doGet() {
|
|
450
|
+
return this.#loaded;
|
|
451
|
+
}
|
|
452
|
+
find(id) {
|
|
453
|
+
return this.#loaded.find((u) => u.id === id);
|
|
454
|
+
}
|
|
455
|
+
includesInMemory(other) {
|
|
456
|
+
return this.#loaded.includes(other);
|
|
457
|
+
}
|
|
458
|
+
applyLoad(dbEntities) {
|
|
459
|
+
this.#loaded = dbEntities;
|
|
460
|
+
return this;
|
|
461
|
+
}
|
|
462
|
+
current(_opts) {
|
|
463
|
+
return this.#loaded;
|
|
464
|
+
}
|
|
465
|
+
import(m2m, mapEntities) {
|
|
466
|
+
const loaded = mapEntities(this.#loaded);
|
|
467
|
+
return new LoadedState(m2m, loaded ?? [], this.#hasBeenSet);
|
|
468
|
+
}
|
|
469
|
+
getLoaded() {
|
|
470
|
+
return this.#loaded;
|
|
471
|
+
}
|
|
472
|
+
setLoaded(entities) {
|
|
473
|
+
this.#loaded = entities;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
268
476
|
//# 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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"}
|
|
@@ -34,8 +34,6 @@ export interface ManyToOneReference<T extends Entity, U extends Entity, N extend
|
|
|
34
34
|
*/
|
|
35
35
|
export declare class ManyToOneReferenceImpl<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<T, U> implements ManyToOneReference<T, U, N> {
|
|
36
36
|
#private;
|
|
37
|
-
private loaded;
|
|
38
|
-
private _isLoaded;
|
|
39
37
|
constructor(entity: T, field: ManyToOneField);
|
|
40
38
|
load(opts?: {
|
|
41
39
|
withDeleted?: boolean;
|
|
@@ -47,7 +45,8 @@ export declare class ManyToOneReferenceImpl<T extends Entity, U extends Entity,
|
|
|
47
45
|
get isPreloaded(): boolean;
|
|
48
46
|
preload(): void;
|
|
49
47
|
private unload;
|
|
50
|
-
|
|
48
|
+
/** Copy another em's `source` relation into our state. */
|
|
49
|
+
import(source: ManyToOneReferenceImpl<T, U, N>, findEntity: (e: U) => U): void;
|
|
51
50
|
private doGet;
|
|
52
51
|
get getWithDeleted(): U | N;
|
|
53
52
|
get get(): U | N;
|
|
@@ -64,12 +63,9 @@ export declare class ManyToOneReferenceImpl<T extends Entity, U extends Entity,
|
|
|
64
63
|
get fieldName(): string;
|
|
65
64
|
get otherFieldName(): keyof U & string;
|
|
66
65
|
private get idUntaggedMaybe();
|
|
67
|
-
setImpl(_other: U | IdOf<U> | N): void;
|
|
68
66
|
setFromOpts(other: U | IdOf<U> | N): void;
|
|
69
67
|
maybeCascadeDelete(): void;
|
|
70
68
|
cleanupOnEntityDeleted(): Promise<void>;
|
|
71
|
-
maybeRemove(otherId: string | undefined, other: U | undefined): void;
|
|
72
|
-
maybeAdd(): void;
|
|
73
69
|
current(opts?: {
|
|
74
70
|
withDeleted?: boolean;
|
|
75
71
|
}): U | TaggedId | N;
|