joist-core 2.2.0-next.9 → 2.3.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/Aliases.d.ts.map +1 -1
- package/build/Aliases.js.map +1 -1
- package/build/BaseEntity.d.ts +2 -0
- package/build/BaseEntity.d.ts.map +1 -1
- package/build/BaseEntity.js.map +1 -1
- package/build/Entity.d.ts +1 -0
- package/build/Entity.d.ts.map +1 -1
- package/build/EntityFilter.d.ts +27 -8
- package/build/EntityFilter.d.ts.map +1 -1
- package/build/EntityFilter.js +18 -0
- package/build/EntityFilter.js.map +1 -1
- package/build/EntityGraphQLFilter.d.ts +3 -0
- package/build/EntityGraphQLFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.js.map +1 -1
- package/build/EntityManager.d.ts +14 -11
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +61 -28
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.d.ts +31 -1
- package/build/EntityMetadata.d.ts.map +1 -1
- package/build/EntityMetadata.js +17 -0
- package/build/EntityMetadata.js.map +1 -1
- package/build/IndexManager.d.ts +3 -3
- package/build/IndexManager.d.ts.map +1 -1
- package/build/IndexManager.js +30 -20
- package/build/IndexManager.js.map +1 -1
- package/build/InstanceData.d.ts +2 -0
- package/build/InstanceData.d.ts.map +1 -1
- package/build/InstanceData.js +3 -1
- package/build/InstanceData.js.map +1 -1
- package/build/JoinRows.d.ts +54 -12
- package/build/JoinRows.d.ts.map +1 -1
- package/build/JoinRows.js +114 -44
- package/build/JoinRows.js.map +1 -1
- package/build/QueryParser.d.ts +6 -1
- package/build/QueryParser.d.ts.map +1 -1
- package/build/QueryParser.js +293 -190
- package/build/QueryParser.js.map +1 -1
- package/build/QueryParser.test.d.ts +2 -0
- package/build/QueryParser.test.d.ts.map +1 -0
- package/build/QueryParser.test.js +27 -0
- package/build/QueryParser.test.js.map +1 -0
- package/build/Todo.d.ts +4 -0
- package/build/Todo.d.ts.map +1 -1
- package/build/Todo.js.map +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.ts +7 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.js +54 -0
- package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.js +10 -2
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/populateBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/populateBatchLoader.js +26 -8
- package/build/batchloaders/populateBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +2 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +1 -3
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +2 -0
- package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
- package/build/changes.d.ts +13 -0
- package/build/changes.d.ts.map +1 -1
- package/build/changes.js +49 -0
- package/build/changes.js.map +1 -1
- package/build/configure.d.ts +2 -0
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +6 -0
- package/build/configure.js.map +1 -1
- package/build/dataloaders/findCountDataLoader.d.ts +12 -2
- package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findCountDataLoader.js +45 -5
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.d.ts +44 -9
- package/build/dataloaders/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +123 -34
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.js +4 -4
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +2 -2
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.js +14 -8
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
- package/build/dataloaders/manyToManyFindDataLoader.js +7 -1
- package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/fields.d.ts +2 -0
- package/build/fields.d.ts.map +1 -1
- package/build/fields.js +2 -0
- package/build/fields.js.map +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -1
- package/build/index.js.map +1 -1
- package/build/loadHints.d.ts +4 -4
- package/build/loadHints.d.ts.map +1 -1
- package/build/loadHints.js.map +1 -1
- package/build/loadLens.d.ts.map +1 -1
- package/build/loadLens.js +20 -4
- package/build/loadLens.js.map +1 -1
- package/build/newEntity.d.ts.map +1 -1
- package/build/newEntity.js +16 -14
- package/build/newEntity.js.map +1 -1
- package/build/newTestInstance.d.ts.map +1 -1
- package/build/newTestInstance.js +3 -0
- package/build/newTestInstance.js.map +1 -1
- package/build/normalizeHints.d.ts +7 -0
- package/build/normalizeHints.d.ts.map +1 -1
- package/build/normalizeHints.js +40 -2
- package/build/normalizeHints.js.map +1 -1
- package/build/preloading/JsonAggregatePreloader.d.ts.map +1 -1
- package/build/preloading/JsonAggregatePreloader.js +91 -9
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/preloading/canPreload.d.ts +2 -2
- package/build/preloading/canPreload.d.ts.map +1 -1
- package/build/preloading/canPreload.js +3 -0
- package/build/preloading/canPreload.js.map +1 -1
- package/build/preloading/partitionHint.d.ts.map +1 -1
- package/build/preloading/partitionHint.js +10 -4
- package/build/preloading/partitionHint.js.map +1 -1
- package/build/reactiveHints.d.ts +2 -2
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +9 -0
- package/build/reactiveHints.js.map +1 -1
- package/build/relations/EnumCollection.d.ts +81 -0
- package/build/relations/EnumCollection.d.ts.map +1 -0
- package/build/relations/EnumCollection.js +211 -0
- package/build/relations/EnumCollection.js.map +1 -0
- package/build/relations/ManyToManyCollection.d.ts +1 -0
- package/build/relations/ManyToManyCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyCollection.js +5 -2
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToManyLargeCollection.d.ts +3 -2
- package/build/relations/ManyToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyLargeCollection.js +7 -4
- package/build/relations/ManyToManyLargeCollection.js.map +1 -1
- package/build/relations/OneToManyCollection.d.ts.map +1 -1
- package/build/relations/OneToManyCollection.js +2 -2
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/OneToManyLargeCollection.js +2 -1
- package/build/relations/OneToManyLargeCollection.js.map +1 -1
- package/build/relations/ReactiveManyToMany.d.ts +1 -0
- package/build/relations/ReactiveManyToMany.d.ts.map +1 -1
- package/build/relations/ReactiveManyToMany.js +4 -1
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.ts +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.js +4 -1
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/RecursiveCollection.d.ts +2 -6
- package/build/relations/RecursiveCollection.d.ts.map +1 -1
- package/build/relations/RecursiveCollection.js +9 -17
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/RecursiveCycleError.d.ts +13 -0
- package/build/relations/RecursiveCycleError.d.ts.map +1 -0
- package/build/relations/RecursiveCycleError.js +15 -0
- package/build/relations/RecursiveCycleError.js.map +1 -0
- package/build/relations/hasProperty.d.ts +2 -1
- package/build/relations/hasProperty.d.ts.map +1 -1
- package/build/relations/hasProperty.js +15 -5
- package/build/relations/hasProperty.js.map +1 -1
- package/build/relations/index.d.ts +1 -0
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +5 -2
- package/build/relations/index.js.map +1 -1
- package/build/rules.js +1 -1
- package/build/rules.js.map +1 -1
- package/build/scopes.d.ts +185 -0
- package/build/scopes.d.ts.map +1 -0
- package/build/scopes.js +302 -0
- package/build/scopes.js.map +1 -0
- package/build/temporal.d.ts +32 -2
- package/build/temporal.d.ts.map +1 -1
- package/build/temporal.js +18 -0
- package/build/temporal.js.map +1 -1
- package/build/upsert.d.ts.map +1 -1
- package/build/upsert.js +9 -2
- package/build/upsert.js.map +1 -1
- package/package.json +7 -7
package/build/JoinRows.js
CHANGED
|
@@ -5,6 +5,10 @@ const EntityManager_1 = require("./EntityManager");
|
|
|
5
5
|
const EntityMetadata_1 = require("./EntityMetadata");
|
|
6
6
|
const keys_1 = require("./keys");
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
|
+
/** Whether a join column points at a not-yet-inserted entity (enum ids are never "new"). */
|
|
9
|
+
function isNewColumn(value) {
|
|
10
|
+
return typeof value !== "number" && value.isNewEntity;
|
|
11
|
+
}
|
|
8
12
|
/** A small holder around m2m join rows, which we treat as psuedo-entities. */
|
|
9
13
|
class JoinRows {
|
|
10
14
|
m2m;
|
|
@@ -26,7 +30,6 @@ class JoinRows {
|
|
|
26
30
|
throw new Error(`Cannot add a m2m row with an entity that is ${e1}`);
|
|
27
31
|
if (!e2)
|
|
28
32
|
throw new Error(`Cannot add a m2m row with an entity that is ${e2}`);
|
|
29
|
-
const { em } = this.m2m.entity;
|
|
30
33
|
const existing = this.index.get(m2m, e1, e2);
|
|
31
34
|
if (existing) {
|
|
32
35
|
existing.deleted = false;
|
|
@@ -36,28 +39,20 @@ class JoinRows {
|
|
|
36
39
|
const row = {
|
|
37
40
|
op: JoinRowOperation.Pending,
|
|
38
41
|
id: undefined,
|
|
42
|
+
persisted: false,
|
|
39
43
|
columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },
|
|
40
44
|
};
|
|
41
45
|
this.rows.push(row);
|
|
42
46
|
this.index.add(m2m, e1, e2, row);
|
|
43
47
|
}
|
|
44
|
-
(
|
|
45
|
-
(0, EntityManager_1.getEmInternalApi)(e1.em).isLoadedCache.resetIsLoaded(e2, m2m.otherFieldName);
|
|
46
|
-
this.rm.queueDownstreamReactables(e1, m2m.fieldName);
|
|
47
|
-
this.rm.queueDownstreamReactables(e2, m2m.otherFieldName);
|
|
48
|
-
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(e1).some((meta) => meta.config.__data.touchOnChange.has(m2m.fieldName))) {
|
|
49
|
-
em.touch(e1);
|
|
50
|
-
}
|
|
51
|
-
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(e2).some((meta) => meta.config.__data.touchOnChange.has(m2m.otherFieldName))) {
|
|
52
|
-
em.touch(e2);
|
|
53
|
-
}
|
|
48
|
+
this.#reactToChange(m2m, e1, e2);
|
|
54
49
|
}
|
|
55
50
|
/** Adds a new remove to this table. */
|
|
56
51
|
addRemove(m2m, e1, e2) {
|
|
57
|
-
const { em } = this.m2m.entity;
|
|
58
52
|
const existing = this.index.get(m2m, e1, e2);
|
|
59
53
|
if (existing) {
|
|
60
|
-
if (!existing.
|
|
54
|
+
if (!existing.persisted) {
|
|
55
|
+
// It was only added in-memory and never persisted, so just drop it
|
|
61
56
|
(0, utils_1.remove)(this.rows, existing);
|
|
62
57
|
this.index.remove(existing);
|
|
63
58
|
}
|
|
@@ -67,40 +62,33 @@ class JoinRows {
|
|
|
67
62
|
existing.op = JoinRowOperation.Pending;
|
|
68
63
|
}
|
|
69
64
|
else {
|
|
70
|
-
//
|
|
65
|
+
// We're removing against an unloaded collection, so assume the row exists in the database
|
|
66
|
+
// (persisted: true) and queue a delete; the delete keys off the (col1, col2) composite.
|
|
71
67
|
const row = {
|
|
72
68
|
op: JoinRowOperation.Pending,
|
|
73
|
-
id:
|
|
69
|
+
id: undefined,
|
|
70
|
+
persisted: true,
|
|
74
71
|
columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },
|
|
75
72
|
deleted: true,
|
|
76
73
|
};
|
|
77
74
|
this.rows.push(row);
|
|
78
75
|
this.index.add(m2m, e1, e2, row);
|
|
79
76
|
}
|
|
80
|
-
(
|
|
81
|
-
(0, EntityManager_1.getEmInternalApi)(e1.em).isLoadedCache.resetIsLoaded(e2, m2m.otherFieldName);
|
|
82
|
-
this.rm.queueDownstreamReactables(e1, m2m.fieldName);
|
|
83
|
-
this.rm.queueDownstreamReactables(e2, m2m.otherFieldName);
|
|
84
|
-
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(e1).some((meta) => meta.config.__data.touchOnChange.has(m2m.fieldName))) {
|
|
85
|
-
em.touch(e1);
|
|
86
|
-
}
|
|
87
|
-
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(e2).some((meta) => meta.config.__data.touchOnChange.has(m2m.otherFieldName))) {
|
|
88
|
-
em.touch(e2);
|
|
89
|
-
}
|
|
77
|
+
this.#reactToChange(m2m, e1, e2);
|
|
90
78
|
}
|
|
91
79
|
/** Return any "old values" for a m2m collection that might need reactivity checks. */
|
|
92
80
|
removedFor(m2m, e1) {
|
|
93
|
-
const {
|
|
81
|
+
const { otherColumnName } = m2m;
|
|
94
82
|
// I.e. if we did `t1.books.remove(b1)` find all join rows that have
|
|
95
83
|
// `tag_id=t1`, are marked for deletion, and then `.map` them to the removed book.
|
|
96
84
|
const removedRows = this.index.getOthers(m2m.columnName, e1).filter((r) => r.deleted);
|
|
97
85
|
return removedRows.map((r) => r.columns[otherColumnName]);
|
|
98
86
|
}
|
|
99
87
|
addedFor(m2m, e1) {
|
|
100
|
-
const {
|
|
88
|
+
const { otherColumnName } = m2m;
|
|
101
89
|
const addedRows = this.index
|
|
102
90
|
.getOthers(m2m.columnName, e1)
|
|
103
|
-
.filter((r) => ((r.
|
|
91
|
+
.filter((r) => ((!r.persisted && r.op === JoinRowOperation.Pending) || r.op === JoinRowOperation.Flushed) &&
|
|
104
92
|
r.deleted !== true);
|
|
105
93
|
return addedRows.map((r) => r.columns[otherColumnName]);
|
|
106
94
|
}
|
|
@@ -114,6 +102,7 @@ class JoinRows {
|
|
|
114
102
|
const row = {
|
|
115
103
|
op: JoinRowOperation.Pending,
|
|
116
104
|
id,
|
|
105
|
+
persisted: true,
|
|
117
106
|
columns: { [m2m.columnName]: e1, [m2m.otherColumnName]: e2 },
|
|
118
107
|
};
|
|
119
108
|
this.rows.push(row);
|
|
@@ -123,32 +112,43 @@ class JoinRows {
|
|
|
123
112
|
/** Look up/create our internal JoinRow psuedo-entities for the db rows. */
|
|
124
113
|
async loadRows(tuples, dbRows) {
|
|
125
114
|
const { em } = this.m2m.entity;
|
|
126
|
-
const { columnName: column1, otherColumnName: column2 } = this.m2m;
|
|
127
|
-
const { meta: meta1, otherMeta: meta2 } = this.m2m;
|
|
115
|
+
const { columnName: column1, otherColumnName: column2, meta: meta1, otherMeta: meta2, otherEnum } = this.m2m;
|
|
128
116
|
const oneIds = [];
|
|
129
|
-
|
|
117
|
+
// Tagged ids for an entity other-side, or raw enum ids for an enum other-side.
|
|
118
|
+
const twoVals = [];
|
|
130
119
|
for (const dbRow of dbRows) {
|
|
131
120
|
oneIds.push((0, keys_1.keyToTaggedId)(meta1, dbRow[column1]));
|
|
132
|
-
|
|
121
|
+
twoVals.push(otherEnum ? dbRow[column2] : em.getEntity((0, keys_1.keyToTaggedId)(meta2, dbRow[column2])));
|
|
133
122
|
}
|
|
134
|
-
// Make sure we have entities in memory for all the joined-to tables
|
|
135
|
-
|
|
136
|
-
|
|
123
|
+
// Make sure we have entities in memory for all the joined-to tables. The enum side has no
|
|
124
|
+
// entities to load; the entity sides do (and `twoVals` is re-resolved to entities below).
|
|
125
|
+
await Promise.all([
|
|
126
|
+
em.loadAll(meta1.cstr, oneIds),
|
|
127
|
+
otherEnum
|
|
128
|
+
? Promise.resolve([])
|
|
129
|
+
: em.loadAll(meta2.cstr, dbRows.map((dbRow) => (0, keys_1.keyToTaggedId)(meta2, dbRow[column2]))),
|
|
130
|
+
]);
|
|
131
|
+
// If we're doing a em.refresh/reload, we need to watch for rows that are no longer here. For an
|
|
132
|
+
// enum other-side, only persisted rows are delete-candidates (pending in-memory adds are kept,
|
|
133
|
+
// since `EnumCollection` relies on `JoinRows` to hold them rather than re-asserting on load).
|
|
137
134
|
const existingRows = new Set();
|
|
138
135
|
for (const [columnName, id] of tuples) {
|
|
139
136
|
const others = this.index.getOthers(columnName, em.getEntity(id));
|
|
140
137
|
for (const row of others)
|
|
141
|
-
|
|
138
|
+
if (!otherEnum || row.persisted)
|
|
139
|
+
existingRows.add(row);
|
|
142
140
|
}
|
|
143
141
|
let i = 0;
|
|
144
142
|
for (const dbRow of dbRows) {
|
|
145
143
|
const e1 = em.getEntity(oneIds[i]);
|
|
146
|
-
const e2 = em.getEntity(
|
|
144
|
+
const e2 = otherEnum ? dbRow[column2] : em.getEntity((0, keys_1.keyToTaggedId)(meta2, dbRow[column2]));
|
|
145
|
+
i++;
|
|
147
146
|
let row = this.index.get(this.m2m, e1, e2);
|
|
148
147
|
if (!row) {
|
|
149
148
|
row = {
|
|
150
149
|
op: JoinRowOperation.Completed,
|
|
151
150
|
id: dbRow.id,
|
|
151
|
+
persisted: true,
|
|
152
152
|
columns: { [column1]: e1, [column2]: e2 },
|
|
153
153
|
created_at: dbRow.created_at,
|
|
154
154
|
};
|
|
@@ -157,8 +157,9 @@ class JoinRows {
|
|
|
157
157
|
}
|
|
158
158
|
else {
|
|
159
159
|
// If a placeholder row was created while a ManyToManyCollection was unloaded, and we find it during
|
|
160
|
-
// a subsequent load/query, update its id to be what is in the database.
|
|
160
|
+
// a subsequent load/query, update its id to be what is in the database and mark it persisted.
|
|
161
161
|
row.id = dbRow.id;
|
|
162
|
+
row.persisted = true;
|
|
162
163
|
// Mark this row as still valid
|
|
163
164
|
existingRows.delete(row);
|
|
164
165
|
}
|
|
@@ -175,10 +176,25 @@ class JoinRows {
|
|
|
175
176
|
const c = others[0].columns[c1] === entity ? c2 : c1;
|
|
176
177
|
return others.filter((o) => !o.deleted).map((row) => row.columns[c]);
|
|
177
178
|
}
|
|
179
|
+
/** Drops all in-memory rows where `entity` is on `columnName`, e.g. when it is being deleted. */
|
|
180
|
+
removeAllFor(columnName, entity) {
|
|
181
|
+
for (const row of this.index.getOthers(columnName, entity)) {
|
|
182
|
+
(0, utils_1.remove)(this.rows, row);
|
|
183
|
+
this.index.remove(row);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/** Drops a single `(e1, e2)` row without queuing a flush, e.g. when mirroring another em's removal. */
|
|
187
|
+
removePreloadedRow(m2m, e1, e2) {
|
|
188
|
+
const row = this.index.get(m2m, e1, e2);
|
|
189
|
+
if (row) {
|
|
190
|
+
(0, utils_1.remove)(this.rows, row);
|
|
191
|
+
this.index.remove(row);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
178
194
|
/** Scans our `rows` for newly-added/newly-deleted rows that need `INSERT`s/`UPDATE`s. */
|
|
179
195
|
toTodo() {
|
|
180
|
-
const newRows = this.rows.filter((r) => r.
|
|
181
|
-
const deletedRows = this.rows.filter((r) => r.
|
|
196
|
+
const newRows = this.rows.filter((r) => !r.persisted && r.deleted !== true && r.op === "pending");
|
|
197
|
+
const deletedRows = this.rows.filter((r) => r.persisted && r.deleted === true && r.op === "pending");
|
|
182
198
|
if (newRows.length === 0 && deletedRows.length === 0) {
|
|
183
199
|
return undefined;
|
|
184
200
|
}
|
|
@@ -192,11 +208,47 @@ class JoinRows {
|
|
|
192
208
|
row.op = JoinRowOperation.Completed;
|
|
193
209
|
}
|
|
194
210
|
},
|
|
211
|
+
// The driver flushes pure (int, int) FK pairs; resolve them here so it never has to know
|
|
212
|
+
// whether a column points at an entity (use its id) or an enum (its value is already the id).
|
|
213
|
+
dbValue: (row, columnName) => this.#dbValue(row, columnName),
|
|
214
|
+
isNew: (row, columnName) => isNewColumn(row.columns[columnName]),
|
|
195
215
|
};
|
|
196
216
|
}
|
|
197
217
|
get hasChanges() {
|
|
198
218
|
return this.rows.some(({ op }) => op === JoinRowOperation.Pending || op === JoinRowOperation.Flushed);
|
|
199
219
|
}
|
|
220
|
+
/** The db int value for `row`'s `columnName`: an entity's id, or (for enums) the enum's id itself. */
|
|
221
|
+
#dbValue(row, columnName) {
|
|
222
|
+
const value = row.columns[columnName];
|
|
223
|
+
if (typeof value === "number")
|
|
224
|
+
return value;
|
|
225
|
+
const meta = columnName === this.m2m.columnName ? this.m2m.meta : this.m2m.otherMeta;
|
|
226
|
+
return (0, keys_1.keyToNumber)(meta, value.idTagged);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Invalidates caches & queues reactivity for a join-row change.
|
|
230
|
+
*
|
|
231
|
+
* The owning entity (`e1`) always reacts; the "other" side only reacts when it is an entity,
|
|
232
|
+
* since enum other-sides have no `em`/reverse-field to keep in sync.
|
|
233
|
+
*/
|
|
234
|
+
#reactToChange(m2m, e1, e2) {
|
|
235
|
+
const { em } = this.m2m.entity;
|
|
236
|
+
const api = (0, EntityManager_1.getEmInternalApi)(e1.em);
|
|
237
|
+
api.isLoadedCache.resetIsLoaded(e1, m2m.fieldName);
|
|
238
|
+
this.rm.queueDownstreamReactables(e1, m2m.fieldName);
|
|
239
|
+
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(e1).some((meta) => meta.config.__data.touchOnChange.has(m2m.fieldName))) {
|
|
240
|
+
em.touch(e1);
|
|
241
|
+
}
|
|
242
|
+
if (!m2m.otherEnum) {
|
|
243
|
+
const other = e2;
|
|
244
|
+
const otherFieldName = m2m.otherFieldName;
|
|
245
|
+
api.isLoadedCache.resetIsLoaded(other, otherFieldName);
|
|
246
|
+
this.rm.queueDownstreamReactables(other, otherFieldName);
|
|
247
|
+
if ((0, EntityMetadata_1.getBaseAndSelfMetas)(other).some((meta) => meta.config.__data.touchOnChange.has(otherFieldName))) {
|
|
248
|
+
em.touch(other);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
200
252
|
}
|
|
201
253
|
exports.JoinRows = JoinRows;
|
|
202
254
|
/** An enum to track our insert/delete state progression. */
|
|
@@ -208,8 +260,10 @@ var JoinRowOperation;
|
|
|
208
260
|
})(JoinRowOperation || (exports.JoinRowOperation = JoinRowOperation = {}));
|
|
209
261
|
/** Keep an in-memory index to avoid sequentially scanning `rows`. */
|
|
210
262
|
class ManyToManyIndex {
|
|
263
|
+
m2m;
|
|
211
264
|
indexes = {};
|
|
212
265
|
constructor(m2m) {
|
|
266
|
+
this.m2m = m2m;
|
|
213
267
|
this.indexes[m2m.columnName] = new Map();
|
|
214
268
|
this.indexes[m2m.otherColumnName] = new Map();
|
|
215
269
|
}
|
|
@@ -232,10 +286,26 @@ class ManyToManyIndex {
|
|
|
232
286
|
const map = this.indexes[columnName].get(entity);
|
|
233
287
|
if (!map)
|
|
234
288
|
return [];
|
|
235
|
-
// Sort
|
|
236
|
-
//
|
|
237
|
-
//
|
|
238
|
-
|
|
289
|
+
// Sort for a stable order regardless of how many batches contributed rows — the underlying
|
|
290
|
+
// Map preserves insertion order, which depends on DataLoader timing and is non-deterministic
|
|
291
|
+
// across processes. New rows (no key yet) sort last.
|
|
292
|
+
const rows = Array.from(map.values());
|
|
293
|
+
if (this.m2m.hasJoinTableId) {
|
|
294
|
+
// Sort by join-row id.
|
|
295
|
+
return rows.sort((a, b) => (a.id ?? Infinity) - (b.id ?? Infinity));
|
|
296
|
+
}
|
|
297
|
+
// Id-less tables have no surrogate id, so sort by the other side's id.
|
|
298
|
+
const otherColumn = columnName === this.m2m.columnName ? this.m2m.otherColumnName : this.m2m.columnName;
|
|
299
|
+
if (this.m2m.otherEnum && otherColumn === this.m2m.otherColumnName) {
|
|
300
|
+
// The other side is an enum, so its column value is already its numeric id.
|
|
301
|
+
return rows.sort((a, b) => a.columns[otherColumn] - b.columns[otherColumn]);
|
|
302
|
+
}
|
|
303
|
+
const otherMeta = columnName === this.m2m.columnName ? this.m2m.otherMeta : this.m2m.meta;
|
|
304
|
+
const key = (r) => {
|
|
305
|
+
const other = r.columns[otherColumn];
|
|
306
|
+
return other.isNewEntity ? Infinity : (0, keys_1.keyToNumber)(otherMeta, other.id);
|
|
307
|
+
};
|
|
308
|
+
return rows.sort((a, b) => key(a) - key(b));
|
|
239
309
|
}
|
|
240
310
|
#doAdd(index, e1, e2, value) {
|
|
241
311
|
const map = index.get(e1) ?? new Map();
|
package/build/JoinRows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoinRows.js","sourceRoot":"","sources":["../src/JoinRows.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JoinRows.js","sourceRoot":"","sources":["../src/JoinRows.ts"],"names":[],"mappings":"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"}
|
package/build/QueryParser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExpressionFilter, OrderBy, ValueFilter } from "./EntityFilter";
|
|
2
|
-
import { type EntityMetadata } from "./EntityMetadata";
|
|
2
|
+
import { type EntityMetadata, type Field } from "./EntityMetadata";
|
|
3
3
|
import { Column } from "./index";
|
|
4
4
|
/** A tree of ANDs/ORs with conditions or nested conditions. */
|
|
5
5
|
export interface ParsedExpressionFilter {
|
|
@@ -229,6 +229,10 @@ export type ParsedEntityFilter = ParsedValueFilter<string | number> | {
|
|
|
229
229
|
};
|
|
230
230
|
/** Parses an entity filter, which could be "just an id", an array of ids, or a nested filter. */
|
|
231
231
|
export declare function parseEntityFilter(meta: EntityMetadata, filter: any): ParsedEntityFilter | undefined;
|
|
232
|
+
/** Finds a filter field by fieldName or generated fieldIdName. */
|
|
233
|
+
export declare function findFilterField(meta: EntityMetadata, key: string): (Field & {
|
|
234
|
+
aliasSuffix: string;
|
|
235
|
+
}) | undefined;
|
|
232
236
|
/**
|
|
233
237
|
* An ADT version of `ValueFilter`.
|
|
234
238
|
*
|
|
@@ -324,6 +328,7 @@ export declare function mapToDb(column: Column, filter: ParsedValueFilter<any>):
|
|
|
324
328
|
export declare function maybeAddOrderBy(query: ParsedFindQuery, meta: EntityMetadata, alias: string): void;
|
|
325
329
|
export declare function addTablePerClassJoinsAndClassTag(query: ParsedFindQuery, meta: EntityMetadata, alias: string, isPrimary: boolean): void;
|
|
326
330
|
export declare function maybeAddNotSoftDeleted(conditions: ColumnCondition[], meta: EntityMetadata, alias: string, softDeletes: "include" | "exclude"): void;
|
|
331
|
+
export declare function filterSoftDeletes(meta: EntityMetadata, softDeletes: "include" | "exclude"): boolean;
|
|
327
332
|
export declare function getTables(query: ParsedFindQuery): [PrimaryTable, JoinTable[], LateralJoinTable[], CrossJoinTable[]];
|
|
328
333
|
/** Converts a search term like `foo bar` into a SQL `like` pattern like `%foo%bar%`. */
|
|
329
334
|
export declare function makeLike(search: any | undefined): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryParser.d.ts","sourceRoot":"","sources":["../src/QueryParser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryParser.d.ts","sourceRoot":"","sources":["../src/QueryParser.ts"],"names":[],"mappings":"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"}
|