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.
Files changed (184) hide show
  1. package/build/Aliases.d.ts.map +1 -1
  2. package/build/Aliases.js.map +1 -1
  3. package/build/BaseEntity.d.ts +2 -0
  4. package/build/BaseEntity.d.ts.map +1 -1
  5. package/build/BaseEntity.js.map +1 -1
  6. package/build/Entity.d.ts +1 -0
  7. package/build/Entity.d.ts.map +1 -1
  8. package/build/EntityFilter.d.ts +27 -8
  9. package/build/EntityFilter.d.ts.map +1 -1
  10. package/build/EntityFilter.js +18 -0
  11. package/build/EntityFilter.js.map +1 -1
  12. package/build/EntityGraphQLFilter.d.ts +3 -0
  13. package/build/EntityGraphQLFilter.d.ts.map +1 -1
  14. package/build/EntityGraphQLFilter.js.map +1 -1
  15. package/build/EntityManager.d.ts +14 -11
  16. package/build/EntityManager.d.ts.map +1 -1
  17. package/build/EntityManager.js +61 -28
  18. package/build/EntityManager.js.map +1 -1
  19. package/build/EntityMetadata.d.ts +31 -1
  20. package/build/EntityMetadata.d.ts.map +1 -1
  21. package/build/EntityMetadata.js +17 -0
  22. package/build/EntityMetadata.js.map +1 -1
  23. package/build/IndexManager.d.ts +3 -3
  24. package/build/IndexManager.d.ts.map +1 -1
  25. package/build/IndexManager.js +30 -20
  26. package/build/IndexManager.js.map +1 -1
  27. package/build/InstanceData.d.ts +2 -0
  28. package/build/InstanceData.d.ts.map +1 -1
  29. package/build/InstanceData.js +3 -1
  30. package/build/InstanceData.js.map +1 -1
  31. package/build/JoinRows.d.ts +54 -12
  32. package/build/JoinRows.d.ts.map +1 -1
  33. package/build/JoinRows.js +114 -44
  34. package/build/JoinRows.js.map +1 -1
  35. package/build/QueryParser.d.ts +6 -1
  36. package/build/QueryParser.d.ts.map +1 -1
  37. package/build/QueryParser.js +293 -190
  38. package/build/QueryParser.js.map +1 -1
  39. package/build/QueryParser.test.d.ts +2 -0
  40. package/build/QueryParser.test.d.ts.map +1 -0
  41. package/build/QueryParser.test.js +27 -0
  42. package/build/QueryParser.test.js.map +1 -0
  43. package/build/Todo.d.ts +4 -0
  44. package/build/Todo.d.ts.map +1 -1
  45. package/build/Todo.js.map +1 -1
  46. package/build/batchloaders/enumCollectionBatchLoader.d.ts +7 -0
  47. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +1 -0
  48. package/build/batchloaders/enumCollectionBatchLoader.js +54 -0
  49. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -0
  50. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -1
  51. package/build/batchloaders/manyToManyBatchLoader.js +10 -2
  52. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  53. package/build/batchloaders/populateBatchLoader.d.ts.map +1 -1
  54. package/build/batchloaders/populateBatchLoader.js +26 -8
  55. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  56. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
  57. package/build/batchloaders/recursiveChildrenBatchLoader.js +2 -0
  58. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  59. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
  60. package/build/batchloaders/recursiveM2mBatchLoader.js +1 -3
  61. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  62. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
  63. package/build/batchloaders/recursiveParentsBatchLoader.js +2 -0
  64. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  65. package/build/changes.d.ts +13 -0
  66. package/build/changes.d.ts.map +1 -1
  67. package/build/changes.js +49 -0
  68. package/build/changes.js.map +1 -1
  69. package/build/configure.d.ts +2 -0
  70. package/build/configure.d.ts.map +1 -1
  71. package/build/configure.js +6 -0
  72. package/build/configure.js.map +1 -1
  73. package/build/dataloaders/findCountDataLoader.d.ts +12 -2
  74. package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
  75. package/build/dataloaders/findCountDataLoader.js +45 -5
  76. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  77. package/build/dataloaders/findDataLoader.d.ts +44 -9
  78. package/build/dataloaders/findDataLoader.d.ts.map +1 -1
  79. package/build/dataloaders/findDataLoader.js +123 -34
  80. package/build/dataloaders/findDataLoader.js.map +1 -1
  81. package/build/dataloaders/findIdsDataLoader.js +4 -4
  82. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  83. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
  84. package/build/dataloaders/findOrCreateDataLoader.js +2 -2
  85. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  86. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -1
  87. package/build/dataloaders/findPaginatedDataLoader.js +14 -8
  88. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  89. package/build/dataloaders/manyToManyFindDataLoader.js +7 -1
  90. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  91. package/build/fields.d.ts +2 -0
  92. package/build/fields.d.ts.map +1 -1
  93. package/build/fields.js +2 -0
  94. package/build/fields.js.map +1 -1
  95. package/build/index.d.ts +3 -1
  96. package/build/index.d.ts.map +1 -1
  97. package/build/index.js +4 -1
  98. package/build/index.js.map +1 -1
  99. package/build/loadHints.d.ts +4 -4
  100. package/build/loadHints.d.ts.map +1 -1
  101. package/build/loadHints.js.map +1 -1
  102. package/build/loadLens.d.ts.map +1 -1
  103. package/build/loadLens.js +20 -4
  104. package/build/loadLens.js.map +1 -1
  105. package/build/newEntity.d.ts.map +1 -1
  106. package/build/newEntity.js +16 -14
  107. package/build/newEntity.js.map +1 -1
  108. package/build/newTestInstance.d.ts.map +1 -1
  109. package/build/newTestInstance.js +3 -0
  110. package/build/newTestInstance.js.map +1 -1
  111. package/build/normalizeHints.d.ts +7 -0
  112. package/build/normalizeHints.d.ts.map +1 -1
  113. package/build/normalizeHints.js +40 -2
  114. package/build/normalizeHints.js.map +1 -1
  115. package/build/preloading/JsonAggregatePreloader.d.ts.map +1 -1
  116. package/build/preloading/JsonAggregatePreloader.js +91 -9
  117. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  118. package/build/preloading/canPreload.d.ts +2 -2
  119. package/build/preloading/canPreload.d.ts.map +1 -1
  120. package/build/preloading/canPreload.js +3 -0
  121. package/build/preloading/canPreload.js.map +1 -1
  122. package/build/preloading/partitionHint.d.ts.map +1 -1
  123. package/build/preloading/partitionHint.js +10 -4
  124. package/build/preloading/partitionHint.js.map +1 -1
  125. package/build/reactiveHints.d.ts +2 -2
  126. package/build/reactiveHints.d.ts.map +1 -1
  127. package/build/reactiveHints.js +9 -0
  128. package/build/reactiveHints.js.map +1 -1
  129. package/build/relations/EnumCollection.d.ts +81 -0
  130. package/build/relations/EnumCollection.d.ts.map +1 -0
  131. package/build/relations/EnumCollection.js +211 -0
  132. package/build/relations/EnumCollection.js.map +1 -0
  133. package/build/relations/ManyToManyCollection.d.ts +1 -0
  134. package/build/relations/ManyToManyCollection.d.ts.map +1 -1
  135. package/build/relations/ManyToManyCollection.js +5 -2
  136. package/build/relations/ManyToManyCollection.js.map +1 -1
  137. package/build/relations/ManyToManyLargeCollection.d.ts +3 -2
  138. package/build/relations/ManyToManyLargeCollection.d.ts.map +1 -1
  139. package/build/relations/ManyToManyLargeCollection.js +7 -4
  140. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  141. package/build/relations/OneToManyCollection.d.ts.map +1 -1
  142. package/build/relations/OneToManyCollection.js +2 -2
  143. package/build/relations/OneToManyCollection.js.map +1 -1
  144. package/build/relations/OneToManyLargeCollection.d.ts.map +1 -1
  145. package/build/relations/OneToManyLargeCollection.js +2 -1
  146. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  147. package/build/relations/ReactiveManyToMany.d.ts +1 -0
  148. package/build/relations/ReactiveManyToMany.d.ts.map +1 -1
  149. package/build/relations/ReactiveManyToMany.js +4 -1
  150. package/build/relations/ReactiveManyToMany.js.map +1 -1
  151. package/build/relations/ReactiveManyToManyOtherSide.d.ts +1 -0
  152. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +1 -1
  153. package/build/relations/ReactiveManyToManyOtherSide.js +4 -1
  154. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  155. package/build/relations/RecursiveCollection.d.ts +2 -6
  156. package/build/relations/RecursiveCollection.d.ts.map +1 -1
  157. package/build/relations/RecursiveCollection.js +9 -17
  158. package/build/relations/RecursiveCollection.js.map +1 -1
  159. package/build/relations/RecursiveCycleError.d.ts +13 -0
  160. package/build/relations/RecursiveCycleError.d.ts.map +1 -0
  161. package/build/relations/RecursiveCycleError.js +15 -0
  162. package/build/relations/RecursiveCycleError.js.map +1 -0
  163. package/build/relations/hasProperty.d.ts +2 -1
  164. package/build/relations/hasProperty.d.ts.map +1 -1
  165. package/build/relations/hasProperty.js +15 -5
  166. package/build/relations/hasProperty.js.map +1 -1
  167. package/build/relations/index.d.ts +1 -0
  168. package/build/relations/index.d.ts.map +1 -1
  169. package/build/relations/index.js +5 -2
  170. package/build/relations/index.js.map +1 -1
  171. package/build/rules.js +1 -1
  172. package/build/rules.js.map +1 -1
  173. package/build/scopes.d.ts +185 -0
  174. package/build/scopes.d.ts.map +1 -0
  175. package/build/scopes.js +302 -0
  176. package/build/scopes.js.map +1 -0
  177. package/build/temporal.d.ts +32 -2
  178. package/build/temporal.d.ts.map +1 -1
  179. package/build/temporal.js +18 -0
  180. package/build/temporal.js.map +1 -1
  181. package/build/upsert.d.ts.map +1 -1
  182. package/build/upsert.js +9 -2
  183. package/build/upsert.js.map +1 -1
  184. package/package.json +7 -7
@@ -1,11 +1,14 @@
1
1
  import { Entity } from "./Entity";
2
2
  import { EntityManager, MaybeAbstractEntityConstructor, TimestampFields } from "./EntityManager";
3
3
  import { type ConfigApi, type Reactable, type ReactiveRule } from "./config";
4
+ import { EnumMetadata } from "./EnumMetadata";
4
5
  import { DeepNew } from "./loadHints";
5
6
  import { FieldSerde, PolymorphicKeySerde } from "./serde";
6
7
  export declare function getMetadata<T extends Entity>(entity: T): EntityMetadata<T>;
7
8
  export declare function getMetadata<T extends Entity>(type: MaybeAbstractEntityConstructor<T>): EntityMetadata<T>;
8
9
  export declare function getMetadata<T extends Entity>(meta: EntityMetadata): EntityMetadata;
10
+ /** Returns the metadata layer that declares `fieldName`, i.e. `Task.tags` for `TaskOld.tags`. */
11
+ export declare function getMetadataForField(meta: EntityMetadata, fieldName: string): EntityMetadata;
9
12
  /**
10
13
  * Runtime metadata about an entity.
11
14
  *
@@ -37,6 +40,7 @@ export interface EntityMetadata<T extends Entity = any> {
37
40
  fields: Record<string, Field>;
38
41
  allFields: Record<string, Field & {
39
42
  aliasSuffix: string;
43
+ specialized?: true;
40
44
  }>;
41
45
  /** Usually polys are in `allFields`, but we pull the components out for comp-specific finds, like `parentBook`. */
42
46
  polyComponentFields?: Record<string, Field & {
@@ -71,7 +75,7 @@ export interface EntityMetadata<T extends Entity = any> {
71
75
  /** If the schema is lacking deferred FKs, this is our insertion order. */
72
76
  nonDeferredFkOrder?: number;
73
77
  }
74
- export type Field = PrimaryKeyField | PrimitiveField | EnumField | OneToManyField | LargeOneToManyField | ManyToOneField | ManyToManyField | OneToOneField | PolymorphicField;
78
+ export type Field = PrimaryKeyField | PrimitiveField | EnumField | OneToManyField | LargeOneToManyField | ManyToOneField | ManyToManyField | ManyToManyEnumField | OneToOneField | PolymorphicField;
75
79
  export type SerdeField = PrimaryKeyField | PrimitiveField | EnumField | ManyToOneField | PolymorphicField;
76
80
  export type PrimaryKeyField = {
77
81
  kind: "primaryKey";
@@ -161,6 +165,31 @@ export type ManyToManyField = {
161
165
  immutable: false;
162
166
  joinTableName: string;
163
167
  columnNames: [string, string];
168
+ /** Whether the join table has a surrogate `id` PK; if false the FK pair is the composite PK. */
169
+ hasJoinTableId: boolean;
170
+ };
171
+ /**
172
+ * A many-to-many between an entity and an enum "table", e.g. `Publisher.logoColors` backed by a
173
+ * `publisher_logo_colors` join table joining `publishers` to the `color` enum table.
174
+ *
175
+ * To the user this looks like an array of enum codes (`Color[]`), but unlike an enum-array column it
176
+ * is lazy (needs a load hint) because it lives in its own join table.
177
+ */
178
+ export type ManyToManyEnumField = {
179
+ kind: "m2mEnum";
180
+ fieldName: string;
181
+ fieldIdName: undefined;
182
+ required: false;
183
+ derived: false;
184
+ /** The enum's metadata, used to map enum codes <-> their numeric ids. */
185
+ enumDetailType: EnumMetadata<any, any, number>;
186
+ serde: undefined;
187
+ immutable: false;
188
+ joinTableName: string;
189
+ /** `[entityColumn, enumColumn]`, e.g. `["publisher_id", "color_id"]`. */
190
+ columnNames: [string, string];
191
+ /** Whether the join table has a surrogate `id` PK; if false the FK pair is the composite PK. */
192
+ hasJoinTableId: boolean;
164
193
  };
165
194
  export type OneToOneField = {
166
195
  kind: "o2o";
@@ -191,6 +220,7 @@ export type PolymorphicFieldComponent = {
191
220
  export declare function isOneToManyField(ormField: Field): ormField is OneToManyField;
192
221
  export declare function isManyToOneField(ormField: Field): ormField is ManyToOneField;
193
222
  export declare function isManyToManyField(ormField: Field): ormField is ManyToManyField;
223
+ export declare function isManyToManyEnumField(ormField: Field): ormField is ManyToManyEnumField;
194
224
  export declare function isOneToOneField(ormField: Field): ormField is OneToOneField;
195
225
  export declare function isPolymorphicField(ormField: Field): ormField is PolymorphicField;
196
226
  export declare function isReferenceField(ormField: Field): ormField is ManyToOneField | OneToOneField | PolymorphicField;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.d.ts","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityMetadata.d.ts","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMetadata = getMetadata;
4
+ exports.getMetadataForField = getMetadataForField;
4
5
  exports.isOneToManyField = isOneToManyField;
5
6
  exports.isManyToOneField = isManyToOneField;
6
7
  exports.isManyToManyField = isManyToManyField;
8
+ exports.isManyToManyEnumField = isManyToManyEnumField;
7
9
  exports.isOneToOneField = isOneToOneField;
8
10
  exports.isPolymorphicField = isPolymorphicField;
9
11
  exports.isReferenceField = isReferenceField;
@@ -14,11 +16,23 @@ exports.getSubMetas = getSubMetas;
14
16
  exports.getBaseMeta = getBaseMeta;
15
17
  const BaseEntity_1 = require("./BaseEntity");
16
18
  const Entity_1 = require("./Entity");
19
+ const configure_1 = require("./configure");
17
20
  function getMetadata(param) {
18
21
  if (!param)
19
22
  throw new Error(`Cannot getMetadata of ${param}`);
20
23
  return (typeof param === "function" ? param.metadata : "cstr" in param ? param : (0, BaseEntity_1.getInstanceData)(param).metadata);
21
24
  }
25
+ /** Returns the metadata layer that declares `fieldName`, i.e. `Task.tags` for `TaskOld.tags`. */
26
+ function getMetadataForField(meta, fieldName) {
27
+ if (!meta.allFields[fieldName])
28
+ throw new Error(`Field '${fieldName}' not found on ${meta.type}`);
29
+ // I.e. `TaskOld.tags` is an STI-inherited `Task.tags` and should walk up, but `SmallPublisherGroup.publishers`
30
+ // is a CTI-specialized `PublisherGroup.publishers` and should stay on `SmallPublisherGroup`.
31
+ while (!(fieldName in meta.fields) && meta.allFields[fieldName]?.specialized !== true && meta.baseType) {
32
+ meta = (0, configure_1.getMetadataForType)(meta.baseType);
33
+ }
34
+ return meta;
35
+ }
22
36
  function isOneToManyField(ormField) {
23
37
  return ormField.kind === "o2m";
24
38
  }
@@ -28,6 +42,9 @@ function isManyToOneField(ormField) {
28
42
  function isManyToManyField(ormField) {
29
43
  return ormField.kind === "m2m";
30
44
  }
45
+ function isManyToManyEnumField(ormField) {
46
+ return ormField.kind === "m2mEnum";
47
+ }
31
48
  function isOneToOneField(ormField) {
32
49
  return ormField.kind === "o2o";
33
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":";;AAUA,kCAOC;AAuMD,4CAEC;AAED,4CAEC;AAED,8CAEC;AAED,0CAEC;AAED,gDAEC;AAED,4CAEC;AAED,8CAEC;AAID,kDAEC;AAED,wDAEC;AAED,kCAGC;AAED,kCAMC;AAzQD,6CAA+C;AAC/C,qCAA4C;AAS5C,SAAgB,WAAW,CACzB,KAA6D;IAE7D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC,QAAQ,CAChG,CAAC;AACtB,CAAC;AAuMD,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAe;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAClC,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AACxF,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAID,SAAgB,mBAAmB,CAAC,KAA8B;IAChE,OAAO,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,uCAAuC;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":"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"}
@@ -17,15 +17,15 @@ export declare class IndexManager {
17
17
  isIndexed(tagName: string): boolean;
18
18
  /** Enables indexing for an entity type and builds indexes for the requested fields. */
19
19
  enableIndexingForType<T extends Entity>(meta: EntityMetadata<T>, entities: T[], where: object): void;
20
- /** Adds an entity to all relevant indexes. */
21
- maybeIndexEntity(entity: Entity): void;
22
20
  /** Updates indexes when a field value changes. */
23
21
  maybeUpdateFieldIndex(entity: Entity, fieldName: string, oldValue: any, newValue: any): void;
24
22
  /**
25
23
  * Finds entities matching the given where clause using indexes.
26
24
  * Returns null if the type is not indexed (fallback to linear search).
27
25
  */
28
- findMatching<T extends Entity>(meta: EntityMetadata<T>, where: any): T[];
26
+ findMatching<T extends Entity>(meta: EntityMetadata<T>, entities: T[], where: any): T[];
29
27
  private addEntitiesToIndex;
28
+ /** Lazily indexes newly-registered entities only for fields that are queried. */
29
+ private indexUnindexedEntities;
30
30
  }
31
31
  //# sourceMappingURL=IndexManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexManager.d.ts","sourceRoot":"","sources":["../src/IndexManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAU/D,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,YAAY;;IAGvB,8DAA8D;IAC9D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI7C,2BAA2B;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,uFAAuF;IACvF,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBpG,8CAA8C;IAC9C,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOtC,kDAAkD;IAClD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAe5F;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE;IAyBxE,OAAO,CAAC,kBAAkB;CAiB3B"}
1
+ {"version":3,"file":"IndexManager.d.ts","sourceRoot":"","sources":["../src/IndexManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAA2B,MAAM,kBAAkB,CAAC;AAgB3E,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,YAAY;;IAGvB,8DAA8D;IAC9D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI7C,2BAA2B;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,uFAAuF;IACvF,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBpG,kDAAkD;IAClD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAe5F;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE;IA0BvF,OAAO,CAAC,kBAAkB;IAoB1B,iFAAiF;IACjF,OAAO,CAAC,sBAAsB;CAe/B"}
@@ -47,13 +47,6 @@ class IndexManager {
47
47
  this.addEntitiesToIndex(meta, entities, missingFieldNames);
48
48
  }
49
49
  }
50
- /** Adds an entity to all relevant indexes. */
51
- maybeIndexEntity(entity) {
52
- const meta = (0, EntityMetadata_1.getMetadata)(entity);
53
- if (this.#indexes.has(meta.tagName)) {
54
- this.addEntitiesToIndex(meta, [entity], [...this.#indexes.get(meta.tagName).keys()]);
55
- }
56
- }
57
50
  /** Updates indexes when a field value changes. */
58
51
  maybeUpdateFieldIndex(entity, fieldName, oldValue, newValue) {
59
52
  // Fast return for the common case, which is no indexing
@@ -63,7 +56,7 @@ class IndexManager {
63
56
  const fieldIndexes = this.#indexes.get(meta.tagName);
64
57
  if (!fieldIndexes)
65
58
  return; // Type not indexed
66
- const fieldIndex = fieldIndexes.get(fieldName);
59
+ const fieldIndex = fieldIndexes.get(fieldName)?.index;
67
60
  if (!fieldIndex)
68
61
  return; // Field is not indexed
69
62
  fieldIndex.remove(oldValue, entity);
@@ -73,7 +66,7 @@ class IndexManager {
73
66
  * Finds entities matching the given where clause using indexes.
74
67
  * Returns null if the type is not indexed (fallback to linear search).
75
68
  */
76
- findMatching(meta, where) {
69
+ findMatching(meta, entities, where) {
77
70
  const { tagName } = meta;
78
71
  if (!this.#indexes.has(tagName)) {
79
72
  throw new Error(`${meta.type} is not indexed`);
@@ -82,7 +75,8 @@ class IndexManager {
82
75
  // Start with all entities of the 1st condition, then intersect (AND) each subsequent field in `where`
83
76
  let candidates;
84
77
  for (const [fieldName, value] of Object.entries(where)) {
85
- const fieldCandidates = fieldIndexes.get(fieldName)?.get(value);
78
+ this.indexUnindexedEntities(entities, fieldName);
79
+ const fieldCandidates = fieldIndexes.get(fieldName)?.index.get(value);
86
80
  if (!candidates) {
87
81
  candidates = fieldCandidates ?? emptySet; // This is the 1st clause
88
82
  }
@@ -104,25 +98,41 @@ class IndexManager {
104
98
  const indexes = this.#indexes.get(tagName);
105
99
  // Iterate over each field so we can do a shared fieldIndex lookup
106
100
  for (const fieldName of fieldNames) {
107
- if (!meta.allFields[fieldName])
101
+ const field = meta.allFields[fieldName];
102
+ if (!field)
108
103
  continue;
109
- let fieldIndex = indexes.get(fieldName);
110
- if (!fieldIndex) {
111
- fieldIndex = new FieldIndex();
112
- indexes.set(fieldName, fieldIndex);
104
+ let entry = indexes.get(fieldName);
105
+ if (!entry) {
106
+ entry = { field, index: new FieldIndex(), indexedCount: 0 };
107
+ indexes.set(fieldName, entry);
113
108
  }
114
109
  for (const entity of entities) {
115
- const value = getFieldValue(entity, fieldName);
116
- fieldIndex.add(value, entity);
110
+ const value = getFieldValue(entity, fieldName, entry.field);
111
+ entry.index.add(value, entity);
117
112
  }
113
+ entry.indexedCount = entities.length;
114
+ }
115
+ }
116
+ /** Lazily indexes newly-registered entities only for fields that are queried. */
117
+ indexUnindexedEntities(entities, fieldName) {
118
+ const first = entities[0];
119
+ if (first === undefined)
120
+ return;
121
+ const meta = (0, EntityMetadata_1.getMetadata)(first);
122
+ const entry = this.#indexes.get(meta.tagName)?.get(fieldName);
123
+ if (entry === undefined || entry.indexedCount === entities.length)
124
+ return;
125
+ for (let i = entry.indexedCount; i < entities.length; i++) {
126
+ const entity = entities[i];
127
+ const value = getFieldValue(entity, fieldName, entry.field);
128
+ entry.index.add(value, entity);
118
129
  }
130
+ entry.indexedCount = entities.length;
119
131
  }
120
132
  }
121
133
  exports.IndexManager = IndexManager;
122
134
  // Use the same field access pattern as entityMatches
123
- function getFieldValue(entity, fieldName) {
124
- const meta = (0, EntityMetadata_1.getMetadata)(entity);
125
- const field = meta.allFields[fieldName] ?? fail();
135
+ function getFieldValue(entity, fieldName, field) {
126
136
  const fn = fieldName;
127
137
  switch (field.kind) {
128
138
  case "primaryKey":
@@ -1 +1 @@
1
- {"version":3,"file":"IndexManager.js","sourceRoot":"","sources":["../src/IndexManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexManager.js","sourceRoot":"","sources":["../src/IndexManager.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export declare class InstanceData {
24
24
  flushedData: Record<any, any> | undefined;
25
25
  /** The `a#1`, `a#2` index if we're an em.create-d entity. We never unset this, to keep ids stable across flushes. */
26
26
  createId: string | undefined;
27
+ /** The zero-based order this entity was registered with its EntityManager. */
28
+ entityIndex: number;
27
29
  /** Whether our entity should flush regardless of any other changes. */
28
30
  isTouched: boolean;
29
31
  /** Creates the `#orm` field. */
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceData.d.ts","sourceRoot":"","sources":["../src/InstanceData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,2DAA2D;AAC3D,qBAAa,YAAY;;IACvB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAM;IACjC,qEAAqE;IACrE,GAAG,EAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAM;IACpC,oGAAoG;IACpG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAM;IACtD,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAW1C,qHAAqH;IACrH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAS;IAE3B,gCAAgC;gBACpB,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;IAiBvF,qHAAqH;IACrH,eAAe;IAMf,iBAAiB;IAcjB,uCAAuC;IACvC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,2CAA2C;IAC3C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,yCAAyC;IACzC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,wFAAwF;IACxF,IAAI,gBAAgB,IAAI,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,sBAAsB,CAmBvF;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,wFAAwF;IACxF,0BAA0B,IAAI,IAAI;IAIlC,sEAAsE;IACtE,WAAW,IAAI,OAAO;IA2BtB,uBAAuB,IAAI,IAAI;IAM/B,sEAAsE;IACtE,WAAW,IAAI,IAAI;IAKnB,0DAA0D;IAC1D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKnD,6CAA6C;IAC7C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvC,uDAAuD;IACvD,gBAAgB,IAAI,IAAI;IAIxB,iEAAiE;IACjE,OAAO,CAAC,kBAAkB;IAI1B,4EAA4E;IAC5E,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAM3D,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE;IAItD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;CACF"}
1
+ {"version":3,"file":"InstanceData.d.ts","sourceRoot":"","sources":["../src/InstanceData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,2DAA2D;AAC3D,qBAAa,YAAY;;IACvB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAM;IACjC,qEAAqE;IACrE,GAAG,EAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAM;IACpC,oGAAoG;IACpG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAM;IACtD,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAW1C,qHAAqH;IACrH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAM;IACzB,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAS;IAE3B,gCAAgC;gBACpB,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;IAiBvF,qHAAqH;IACrH,eAAe;IAMf,iBAAiB;IAcjB,uCAAuC;IACvC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,2CAA2C;IAC3C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,yCAAyC;IACzC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,wFAAwF;IACxF,IAAI,gBAAgB,IAAI,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,sBAAsB,CAmBvF;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,wFAAwF;IACxF,0BAA0B,IAAI,IAAI;IAIlC,sEAAsE;IACtE,WAAW,IAAI,OAAO;IA2BtB,uBAAuB,IAAI,IAAI;IAM/B,sEAAsE;IACtE,WAAW,IAAI,IAAI;IAKnB,0DAA0D;IAC1D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKnD,6CAA6C;IAC7C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKvC,uDAAuD;IACvD,gBAAgB,IAAI,IAAI;IAIxB,iEAAiE;IACjE,OAAO,CAAC,kBAAkB;IAI1B,4EAA4E;IAC5E,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAM3D,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE;IAItD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;CACF"}
@@ -34,6 +34,8 @@ class InstanceData {
34
34
  #new;
35
35
  /** The `a#1`, `a#2` index if we're an em.create-d entity. We never unset this, to keep ids stable across flushes. */
36
36
  createId;
37
+ /** The zero-based order this entity was registered with its EntityManager. */
38
+ entityIndex = -1;
37
39
  /** Whether our entity should flush regardless of any other changes. */
38
40
  isTouched = false;
39
41
  /** Creates the `#orm` field. */
@@ -129,7 +131,7 @@ class InstanceData {
129
131
  // We only do reference/collection fields and skip the primitives, b/c we assume something like
130
132
  // `{ books: "title" }` doesn't need `resetIsLoaded(..., "title")` b/c the same hint will also
131
133
  // be watching "did books change", and so get reset that way.
132
- if (field.kind === "m2o" || field.kind === "poly" || field.kind === "m2m") {
134
+ if (field.kind === "m2o" || field.kind === "poly" || field.kind === "m2m" || field.kind === "m2mEnum") {
133
135
  (0, EntityManager_1.getEmInternalApi)(this.em).isLoadedCache.resetIsLoaded(this.entity, field.fieldName);
134
136
  }
135
137
  else if (field.kind === "primitive" || field.kind === "enum" || field.kind === "primaryKey") {
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceData.js","sourceRoot":"","sources":["../src/InstanceData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstanceData.js","sourceRoot":"","sources":["../src/InstanceData.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Entity } from "./Entity";
2
2
  import { EntityMetadata } from "./EntityMetadata";
3
+ import { EnumMetadata } from "./EnumMetadata";
3
4
  import { ReactionsManager } from "./ReactionsManager";
4
5
  import { JoinRowTodo } from "./Todo";
5
6
  /**
@@ -7,6 +8,11 @@ import { JoinRowTodo } from "./Todo";
7
8
  *
8
9
  * Specifically lets ReactiveManyToMany & ReactiveManyToManyOtherSide use JoinRows
9
10
  * as if they were full-fledged m2m relations.
11
+ *
12
+ * The "other" side of the join table is usually a second entity, but for `EnumCollection`s
13
+ * (i.e. `Publisher.logoColors`) it is an enum table; in that case `otherEnum` is set and the
14
+ * other column's value is the enum's numeric id rather than an `Entity` (there is also no
15
+ * `otherMeta`/`otherFieldName`, since enums have no reverse collection to keep in sync).
10
16
  */
11
17
  export type ManyToManyLike = {
12
18
  entity: Entity;
@@ -14,29 +20,42 @@ export type ManyToManyLike = {
14
20
  columnName: string;
15
21
  otherColumnName: string;
16
22
  fieldName: string;
17
- otherFieldName: string;
18
23
  meta: EntityMetadata;
19
- otherMeta: EntityMetadata;
24
+ /** Undefined when the other side is an enum. */
25
+ otherFieldName?: string;
26
+ /** Undefined when the other side is an enum. */
27
+ otherMeta?: EntityMetadata;
28
+ /** Set when the other side is an enum table, for mapping enum codes <-> their numeric ids. */
29
+ otherEnum?: EnumMetadata<any, any, number>;
30
+ /** Whether the join table has a surrogate `id` PK; if false the FK pair is the composite PK. */
31
+ hasJoinTableId: boolean;
20
32
  };
33
+ /** The value of a join row's column: an `Entity`, or an enum's numeric id for `EnumCollection`s. */
34
+ export type JoinColumnValue = Entity | number;
21
35
  /** A small holder around m2m join rows, which we treat as psuedo-entities. */
22
36
  export declare class JoinRows {
37
+ #private;
23
38
  readonly m2m: ManyToManyLike;
24
39
  private rm;
25
40
  private readonly rows;
26
41
  private readonly index;
27
42
  constructor(m2m: ManyToManyLike, rm: ReactionsManager);
28
43
  /** Adds a new join row to this table. */
29
- addNew(m2m: ManyToManyLike, e1: Entity, e2: Entity): void;
44
+ addNew(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void;
30
45
  /** Adds a new remove to this table. */
31
- addRemove(m2m: ManyToManyLike, e1: Entity, e2: Entity): void;
46
+ addRemove(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void;
32
47
  /** Return any "old values" for a m2m collection that might need reactivity checks. */
33
- removedFor(m2m: ManyToManyLike, e1: Entity): Entity[];
34
- addedFor(m2m: ManyToManyLike, e1: Entity): Entity[];
48
+ removedFor(m2m: ManyToManyLike, e1: Entity): JoinColumnValue[];
49
+ addedFor(m2m: ManyToManyLike, e1: Entity): JoinColumnValue[];
35
50
  /** Adds an existing join row to this table. */
36
- addPreloadedRow(m2m: ManyToManyLike, id: number, e1: Entity, e2: Entity): void;
51
+ addPreloadedRow(m2m: ManyToManyLike, id: number | undefined, e1: Entity, e2: JoinColumnValue): void;
37
52
  /** Look up/create our internal JoinRow psuedo-entities for the db rows. */
38
53
  loadRows(tuples: [string, string][], dbRows: any[]): Promise<void>;
39
- getOthers(columnName: string, entity: Entity): Entity[];
54
+ getOthers(columnName: string, entity: Entity): JoinColumnValue[];
55
+ /** Drops all in-memory rows where `entity` is on `columnName`, e.g. when it is being deleted. */
56
+ removeAllFor(columnName: string, entity: Entity): void;
57
+ /** Drops a single `(e1, e2)` row without queuing a flush, e.g. when mirroring another em's removal. */
58
+ removePreloadedRow(m2m: ManyToManyLike, e1: Entity, e2: JoinColumnValue): void;
40
59
  /** Scans our `rows` for newly-added/newly-deleted rows that need `INSERT`s/`UPDATE`s. */
41
60
  toTodo(): JoinRowTodo | undefined;
42
61
  get hasChanges(): boolean;
@@ -44,13 +63,14 @@ export declare class JoinRows {
44
63
  /**
45
64
  * A "psuedo-entity" for a join row.
46
65
  *
47
- * We treat this as a special entity, i.e. it has a primary key, `id`, two "relations" to each
48
- * entity for the current row, and an optional `created_at` column.
66
+ * We treat this as a special entity, i.e. it has two "relations" to each entity for the current
67
+ * row, an optional surrogate `id` primary key, and an optional `created_at` column.
49
68
  *
50
69
  * These rows are immutable, i.e. once created we don't change either FK, and instead make
51
70
  * collection changes only by inserting new rows and deleting old rows.
52
71
  *
53
- * This makes the column1+column2 combination a composite key.
72
+ * This makes the column1+column2 combination a composite key. For id-less join tables, that
73
+ * composite is the actual primary key and `id` is always undefined.
54
74
  */
55
75
  export interface JoinRow {
56
76
  /**
@@ -61,8 +81,30 @@ export interface JoinRow {
61
81
  * - `completed` means we've been flushed and `em.flush` has completed
62
82
  */
63
83
  op: JoinRowOperation;
84
+ /** The surrogate key for id-ful join tables; always undefined for id-less tables. */
64
85
  id: number | undefined;
65
- columns: Record<string, Entity>;
86
+ /**
87
+ * Whether this row exists (or is assumed to exist) in the database.
88
+ *
89
+ * This is orthogonal to `op` (the flush lifecycle) and is what distinguishes a pending insert
90
+ * from a pending delete: a `pending` row that is `!persisted` is a pending INSERT (added in
91
+ * memory, not yet in the db), while a `pending` row that is `persisted` is a pending DELETE
92
+ * (in the db, marked `deleted`). `op` alone cannot tell these apart, because both inserts and
93
+ * deletes walk the same `pending -> flushed -> completed` progression.
94
+ *
95
+ * We track this as its own flag rather than inferring it from `id` being set/unset, because
96
+ * id-less join tables (whose PK is just the composite of the two FKs) never have an `id` — so
97
+ * `id === undefined` would be ambiguous. `persisted` is the id-agnostic generalization of the
98
+ * `id`-is-set check that id-ful tables historically relied on.
99
+ *
100
+ * It must survive add/remove/re-add sequences: e.g. loading a row (persisted), removing it
101
+ * (pending delete), then re-adding it (`deleted` flipped back to false, `op` back to `pending`)
102
+ * leaves a `pending && !deleted` row that looks identical to a fresh insert — but it is still in
103
+ * the db, so a subsequent remove must issue a DELETE, which only `persisted` can tell us.
104
+ */
105
+ persisted: boolean;
106
+ /** Maps each FK column to its value: an `Entity`, or (for `EnumCollection`s) an enum's numeric id. */
107
+ columns: Record<string, JoinColumnValue>;
66
108
  created_at?: Date;
67
109
  deleted?: boolean;
68
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JoinRows.d.ts","sourceRoot":"","sources":["../src/JoinRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,qBAAa,QAAQ;IAQjB,QAAQ,CAAC,GAAG,EAAE,cAAc;IAC5B,OAAO,CAAC,EAAE;IAPZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAK7B,GAAG,EAAE,cAAc,EACpB,EAAE,EAAE,gBAAgB;IAK9B,yCAAyC;IACzC,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IA6BzD,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAkC5D,sFAAsF;IACtF,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAQrD,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAYnD,+CAA+C;IAC/C,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAe9E,2EAA2E;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDxE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAQvD,yFAAyF;IACzF,MAAM,IAAI,WAAW,GAAG,SAAS;IAmBjC,IAAI,UAAU,YAEb;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,EAAE,EAAE,gBAAgB,CAAC;IACrB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB"}
1
+ {"version":3,"file":"JoinRows.d.ts","sourceRoot":"","sources":["../src/JoinRows.ts"],"names":[],"mappings":"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"}