joist-core 2.2.0-next.4 → 2.2.0-next.6

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 (68) hide show
  1. package/build/BaseEntity.js +1 -1
  2. package/build/BaseEntity.js.map +1 -1
  3. package/build/EntityManager.d.ts +2 -0
  4. package/build/EntityManager.d.ts.map +1 -1
  5. package/build/EntityManager.js +138 -73
  6. package/build/EntityManager.js.map +1 -1
  7. package/build/EntityMetadata.d.ts +17 -1
  8. package/build/EntityMetadata.d.ts.map +1 -1
  9. package/build/EntityMetadata.js.map +1 -1
  10. package/build/IndexManager.d.ts +2 -2
  11. package/build/IndexManager.d.ts.map +1 -1
  12. package/build/IndexManager.js +22 -16
  13. package/build/IndexManager.js.map +1 -1
  14. package/build/InstanceData.d.ts +14 -2
  15. package/build/InstanceData.d.ts.map +1 -1
  16. package/build/InstanceData.js +34 -3
  17. package/build/InstanceData.js.map +1 -1
  18. package/build/IsLoadedCache.d.ts.map +1 -1
  19. package/build/IsLoadedCache.js +14 -17
  20. package/build/IsLoadedCache.js.map +1 -1
  21. package/build/ReactionsManager.d.ts +2 -1
  22. package/build/ReactionsManager.d.ts.map +1 -1
  23. package/build/ReactionsManager.js +53 -49
  24. package/build/ReactionsManager.js.map +1 -1
  25. package/build/configure.d.ts +3 -3
  26. package/build/configure.d.ts.map +1 -1
  27. package/build/configure.js +64 -0
  28. package/build/configure.js.map +1 -1
  29. package/build/dataloaders/fastWhereFilterHash.d.ts +15 -0
  30. package/build/dataloaders/fastWhereFilterHash.d.ts.map +1 -0
  31. package/build/dataloaders/fastWhereFilterHash.js +164 -0
  32. package/build/dataloaders/fastWhereFilterHash.js.map +1 -0
  33. package/build/dataloaders/fastWhereFilterHash.test.d.ts +2 -0
  34. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +1 -0
  35. package/build/dataloaders/fastWhereFilterHash.test.js +59 -0
  36. package/build/dataloaders/fastWhereFilterHash.test.js.map +1 -0
  37. package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
  38. package/build/dataloaders/findCountDataLoader.js +5 -3
  39. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  40. package/build/dataloaders/findDataLoader.d.ts.map +1 -1
  41. package/build/dataloaders/findDataLoader.js +17 -41
  42. package/build/dataloaders/findDataLoader.js.map +1 -1
  43. package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
  44. package/build/dataloaders/findIdsDataLoader.js +5 -3
  45. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  46. package/build/dataloaders/findOrCreateDataLoader.js +1 -1
  47. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  48. package/build/drivers/EntityWriter.js +13 -7
  49. package/build/drivers/EntityWriter.js.map +1 -1
  50. package/build/fields.d.ts.map +1 -1
  51. package/build/fields.js +16 -6
  52. package/build/fields.js.map +1 -1
  53. package/build/keys.d.ts.map +1 -1
  54. package/build/keys.js +8 -6
  55. package/build/keys.js.map +1 -1
  56. package/build/loadHints.d.ts +9 -0
  57. package/build/loadHints.d.ts.map +1 -1
  58. package/build/loadHints.js +63 -9
  59. package/build/loadHints.js.map +1 -1
  60. package/build/utils.d.ts +2 -0
  61. package/build/utils.d.ts.map +1 -1
  62. package/build/utils.js +12 -0
  63. package/build/utils.js.map +1 -1
  64. package/package.json +3 -5
  65. package/build/caches.d.ts +0 -6
  66. package/build/caches.d.ts.map +0 -1
  67. package/build/caches.js +0 -42
  68. package/build/caches.js.map +0 -1
@@ -113,7 +113,7 @@ function toStringWithPrefix(meta, entity, prefix) {
113
113
  * on its `Object.create`-d instances.
114
114
  */
115
115
  function baseEntityCstr(em, entity, isNew) {
116
- const data = new index_1.InstanceData(em, entity.constructor.metadata, isNew);
116
+ const data = new index_1.InstanceData(em, entity, entity.constructor.metadata, isNew);
117
117
  // This makes it non-enumerable to avoid Jest/recursive things tripping over it
118
118
  Object.defineProperty(entity, "__data", { value: data, enumerable: false, writable: false, configurable: false });
119
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":";;;AAiBA,0CAEC;AA6ID,wCAIC;AAnKD,mCASiB;AAEjB;;;;GAIG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAsB,UAAU;IACvB,MAAM,CAAC,eAAe,CAAC,MAAc;QAC1C,OAAQ,MAA0B,CAAC,MAAM,CAAC;IAC5C,CAAC;IACD,+FAA+F;IAC5E,MAAM,CAAgB;IAIzC,YAAY,EAAiB,EAAE,KAAe;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,uFAAuF;QACvF,oDAAoD;QACpD,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,yFAAyF;IACzF,4FAA4F;IAC5F,8BAA8B;IAC9B,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAcD,wFAAwF;IACxF,IAAI,UAAU;QACZ,OAAO,IAAA,eAAO,EAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAcD;;;;;OAKG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,EAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,MAAM;QACX,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,CAAC,MAAM,CAAC,WAAW,CAAC;QAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AA7GD,gCA6GC;AAED,SAAS,kBAAkB,CAAC,IAAoB,EAAE,MAAc,EAAE,MAAc;IAC9E,sDAAsD;IACtD,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC;IAClC,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC/C,sDAAsD;QACtD,MAAM,IAAI,IAAI,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,EAAiB,EAAE,MAA4B,EAAE,KAAc;IAC5F,MAAM,IAAI,GAAG,IAAI,oBAAY,CAAC,EAAE,EAAE,MAAM,EAAG,MAAM,CAAC,WAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvF,+EAA+E;IAC/E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AACpH,CAAC"}
@@ -693,6 +693,8 @@ export interface EntityManagerInternalApi {
693
693
  pluginManager: PluginManager;
694
694
  clearDataloaders(): void;
695
695
  clearPreloadedRelations(): void;
696
+ markMaybePending(entity: EntityW): void;
697
+ unmarkMaybePending(entity: EntityW): void;
696
698
  setIsRefreshing(isRefreshing: boolean): void;
697
699
  }
698
700
  export declare function getEmInternalApi(em: EntityManager): EntityManagerInternalApi;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,6 @@ const IndexManager_1 = require("./IndexManager");
29
29
  // We alias `Entity => EntityW` to denote "Entity wide" i.e. the non-narrowed Entity
30
30
  const loadBatchLoader_1 = require("./batchloaders/loadBatchLoader");
31
31
  const populateBatchLoader_1 = require("./batchloaders/populateBatchLoader");
32
- const caches_1 = require("./caches");
33
32
  const config_1 = require("./config");
34
33
  const configure_1 = require("./configure");
35
34
  const findByUniqueDataLoader_1 = require("./dataloaders/findByUniqueDataLoader");
@@ -43,6 +42,7 @@ const FlushLock_1 = require("./FlushLock");
43
42
  const index_1 = require("./index");
44
43
  const IsLoadedCache_1 = require("./IsLoadedCache");
45
44
  const JoinRows_1 = require("./JoinRows");
45
+ const loadHints_1 = require("./loadHints");
46
46
  const newEntity_1 = require("./newEntity");
47
47
  const newTestInstance_1 = require("./newTestInstance");
48
48
  const PluginManager_1 = require("./PluginManager");
@@ -88,6 +88,8 @@ class EntityManager {
88
88
  txn;
89
89
  entityLimit = defaultEntityLimit;
90
90
  #entitiesArray = [];
91
+ // Incrementally track dirty entities so we don't have to scan `#entityArray` during flush
92
+ #maybePendingFlushEntities = new Set();
91
93
  // Indexes the currently loaded entities by their tagged ids and `toTaggedString` ids (i.e. `a#`). This fixes
92
94
  // real-world performance issues where `findExistingInstance` scanning `#entities` was an `O(n^2)`.
93
95
  #entitiesById = new Map();
@@ -155,6 +157,12 @@ class EntityManager {
155
157
  indexManager: this.#indexManager,
156
158
  isLoadedCache: this.#isLoadedCache,
157
159
  pluginManager,
160
+ markMaybePending(entity) {
161
+ em.#maybePendingFlushEntities.add(entity);
162
+ },
163
+ unmarkMaybePending(entity) {
164
+ em.#maybePendingFlushEntities.delete(entity);
165
+ },
158
166
  isMerging(entity) {
159
167
  return em.#merging?.has(entity) ?? false;
160
168
  },
@@ -250,8 +258,7 @@ class EntityManager {
250
258
  const settings = { where, ...rest };
251
259
  const result = await (hasPaginationSettings(rest)
252
260
  ? (0, findPaginatedDataLoader_1.findPaginatedDataLoader)(this, type, settings, populate)
253
- : (0, findDataLoader_1.findDataLoader)(this, type, settings, populate))
254
- .catch(function find(err) {
261
+ : (0, findDataLoader_1.findDataLoader)(this, type, settings, populate)).catch(function find(err) {
255
262
  throw appendStack(err, new Error());
256
263
  });
257
264
  if (populate) {
@@ -362,8 +369,7 @@ class EntityManager {
362
369
  */
363
370
  async findCount(type, where, options = {}) {
364
371
  const settings = { where, ...options };
365
- let count = await (0, findCountDataLoader_1.findCountDataLoader)(this, type, settings)
366
- .catch(function findCount(err) {
372
+ let count = await (0, findCountDataLoader_1.findCountDataLoader)(this, type, settings).catch(function findCount(err) {
367
373
  throw appendStack(err, new Error());
368
374
  });
369
375
  // If the user is do "count all", we can adjust the number up/down based on
@@ -395,8 +401,7 @@ class EntityManager {
395
401
  */
396
402
  async findIds(type, where, options = {}) {
397
403
  const settings = { where, ...options };
398
- return (0, findIdsDataLoader_1.findIdsDataLoader)(this, type, settings)
399
- .catch(function findIds(err) {
404
+ return (0, findIdsDataLoader_1.findIdsDataLoader)(this, type, settings).catch(function findIds(err) {
400
405
  throw appendStack(err, new Error());
401
406
  });
402
407
  }
@@ -685,48 +690,86 @@ class EntityManager {
685
690
  }
686
691
  async loadAll(type, _ids, hint) {
687
692
  const meta = (0, index_1.getMetadata)(type);
688
- const ids = _ids.map((id) => (0, index_1.tagId)(meta, id));
689
- const idsToLoad = ids.filter((id) => !this.findExistingInstance(id));
690
- if (idsToLoad.length > 0) {
693
+ // Use pre-allocated arrays/for loops instead of `.filter`s since this can be a hot spot
694
+ const ids = new Array(_ids.length);
695
+ const entities = new Array(_ids.length);
696
+ let idsToLoad;
697
+ let positionsToLoad;
698
+ for (let i = 0; i < _ids.length; i++) {
699
+ const id = (0, index_1.tagId)(meta, _ids[i]);
700
+ ids[i] = id;
701
+ const entity = this.findExistingInstance(id);
702
+ if (entity) {
703
+ entities[i] = entity;
704
+ }
705
+ else {
706
+ (idsToLoad ??= []).push(id);
707
+ (positionsToLoad ??= []).push(i);
708
+ }
709
+ }
710
+ if (idsToLoad && idsToLoad.length > 0) {
691
711
  await (0, loadBatchLoader_1.loadBatchLoader)(this, meta)
692
712
  .loadAll(idsToLoad.map((id) => ({ taggedId: id, hint })))
693
713
  .catch(function loadAll(err) {
694
714
  throw appendStack(err, new Error());
695
715
  });
716
+ for (const i of positionsToLoad) {
717
+ entities[i] = this.findExistingInstance(ids[i]);
718
+ }
696
719
  }
697
- const entities = [];
698
- for (const id of ids) {
699
- const entity = this.findExistingInstance(id);
700
- if (entity)
701
- entities.push(entity);
720
+ let idsNotFound;
721
+ for (let i = 0; i < entities.length; i++) {
722
+ if (entities[i] === undefined) {
723
+ (idsNotFound ??= []).push(ids[i]);
724
+ }
702
725
  }
703
- if (entities.length !== ids.length) {
704
- const idsNotFound = ids.filter((_, i) => entities[i] === undefined);
726
+ if (idsNotFound) {
705
727
  throw new NotFoundError(`${idsNotFound.join(",")} were not found`);
706
728
  }
729
+ const loadedEntities = entities;
707
730
  if (hint) {
708
- await this.populate(entities, hint);
731
+ await this.populate(loadedEntities, hint);
709
732
  }
710
733
  if (meta.inheritanceType === "sti" && meta.baseType) {
711
- const wrongType = entities.filter((e) => !(e instanceof meta.cstr));
734
+ const wrongType = loadedEntities.filter((e) => !(e instanceof meta.cstr));
712
735
  if (wrongType.length > 0) {
713
736
  throw new Error(`${wrongType.join(", ")} were not of type ${meta.cstr.name}`);
714
737
  }
715
738
  }
716
- return entities;
739
+ return loadedEntities;
717
740
  }
718
741
  async loadAllIfExists(type, _ids, hint) {
719
742
  const meta = (0, index_1.getMetadata)(type);
720
- const ids = _ids.map((id) => (0, index_1.tagId)(meta, id));
721
- const idsToLoad = ids.filter((id) => !this.findExistingInstance(id));
722
- if (idsToLoad.length > 0) {
743
+ // Use pre-allocated arrays/for loops instead of `.filter`s since this can be a hot spot
744
+ const ids = new Array(_ids.length);
745
+ const entities = [];
746
+ let idsToLoad;
747
+ // Ensure the ids are tagged, and find any not-yet-loaded
748
+ for (let i = 0; i < _ids.length; i++) {
749
+ const id = (0, index_1.tagId)(meta, _ids[i]);
750
+ ids[i] = id;
751
+ const entity = this.findExistingInstance(id);
752
+ if (entity) {
753
+ entities.push(entity);
754
+ }
755
+ else {
756
+ (idsToLoad ??= []).push(id);
757
+ }
758
+ }
759
+ if (idsToLoad && idsToLoad.length > 0) {
723
760
  await (0, loadBatchLoader_1.loadBatchLoader)(this, meta)
724
761
  .loadAll(idsToLoad.map((id) => ({ taggedId: id, hint })))
725
762
  .catch(function loadAllIfExists(err) {
726
763
  throw appendStack(err, new Error());
727
764
  });
765
+ // Now that everything is loaded, recalc `entities`
766
+ entities.length = 0;
767
+ for (const id of ids) {
768
+ const entity = this.findExistingInstance(id);
769
+ if (entity)
770
+ entities.push(entity);
771
+ }
728
772
  }
729
- const entities = ids.map((id) => this.findExistingInstance(id)).filter(Boolean);
730
773
  if (hint) {
731
774
  await this.populate(entities, hint);
732
775
  }
@@ -777,6 +820,12 @@ class EntityManager {
777
820
  if (list.length === 0) {
778
821
  return !fn ? entityOrList : fn(entityOrList);
779
822
  }
823
+ // Avoid building a HintTree/batchloader for persisted entities when everything is already loaded; in the phase 9
824
+ // benchmark this moved already-loaded populates from ~1.10ms to ~0.89ms, and nested already-loaded populates from
825
+ // ~2.39ms to ~1.94ms.
826
+ if (!opts.forceReload && list.every((entity) => !entity.isNewEntity && (0, loadHints_1.isLoadedForPopulate)(entity, hintOpt))) {
827
+ return fn ? fn(entityOrList) : entityOrList;
828
+ }
780
829
  const meta = (0, index_1.getMetadata)(list[0]);
781
830
  if (this.#preloader) {
782
831
  // If we can preload, prevent promise deadlocking by one large-batch preload populate (which can't have
@@ -825,7 +874,7 @@ class EntityManager {
825
874
  delete(entityOrArray) {
826
875
  for (const entity of (0, utils_1.toArray)(entityOrArray)) {
827
876
  // Early return if already deleted.
828
- const alreadyMarked = (0, BaseEntity_1.getInstanceData)(entity).markDeleted(entity);
877
+ const alreadyMarked = (0, BaseEntity_1.getInstanceData)(entity).markDeleted();
829
878
  if (!alreadyMarked)
830
879
  continue;
831
880
  // Any derived fields that read this entity will need recalc-d
@@ -921,7 +970,7 @@ class EntityManager {
921
970
  const pendingHooks = new Set();
922
971
  // Subset of pendingFlush entities that had hooks invoked in a prior `runHooksOnPendingEntities`
923
972
  const alreadyRanHooks = new Set();
924
- findPendingFlushEntities(this.entities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks);
973
+ findPendingFlushEntities(this.#maybePendingFlushEntities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks);
925
974
  // If we're re-looping for AsyncReactiveField, make sure to bump updatedAt
926
975
  // each time, so that for an INSERT-then-UPDATE the triggers don't think the
927
976
  // UPDATE forgot to self-bump updatedAt, and then "helpfully" bump it for us.
@@ -960,7 +1009,7 @@ class EntityManager {
960
1009
  hooksInvoked.add(e);
961
1010
  pendingHooks.clear();
962
1011
  // See if the hooks mutated any new, not-yet-hooksInvoked entities
963
- findPendingFlushEntities(this.entities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks);
1012
+ findPendingFlushEntities(this.#maybePendingFlushEntities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks);
964
1013
  // The final run of recalcPendingReactables could have left us with pending type errors and no entities in
965
1014
  // pendingHooks. If so, we need to re-run recalcPendingTypeErrors to get those errors to transition into
966
1015
  // suppressed errors so that we will fail after simpleValidation.
@@ -1227,10 +1276,13 @@ class EntityManager {
1227
1276
  */
1228
1277
  hydrate(type, rows, options) {
1229
1278
  const maybeBaseMeta = (0, index_1.getMetadata)(type);
1279
+ const taggedIdPrefix = `${maybeBaseMeta.tagName}:`;
1280
+ const overwriteExisting = options?.overwriteExisting === true;
1230
1281
  let i = 0;
1231
1282
  const entities = new Array(rows.length);
1232
1283
  for (const row of rows) {
1233
- const taggedId = (0, index_1.keyToTaggedId)(maybeBaseMeta, row["id"]) || (0, utils_1.fail)("No id column was available");
1284
+ const id = row["id"];
1285
+ const taggedId = id === undefined || id === null ? (0, utils_1.fail)("No id column was available") : `${taggedIdPrefix}${id}`;
1234
1286
  // See if this is already in our UoW
1235
1287
  let entity = this.findExistingInstance(taggedId);
1236
1288
  if (!entity) {
@@ -1239,23 +1291,36 @@ class EntityManager {
1239
1291
  // Pass id as a hint that we're in hydrate mode
1240
1292
  entity = (0, newEntity_1.newEntity)(this, (0, index_1.asConcreteCstr)(meta.cstr), false);
1241
1293
  (0, BaseEntity_1.getInstanceData)(entity).row = row;
1242
- this.#doRegister(entity, taggedId);
1294
+ this.#doRegister(entity, taggedId, meta, true);
1243
1295
  }
1244
- else if (options?.overwriteExisting === true) {
1296
+ else if (overwriteExisting) {
1245
1297
  // Usually if the entity already exists, we don't write over it, but in this case we assume that
1246
1298
  // `EntityManager.refresh` is telling us to explicitly load the latest data.
1247
1299
  // First swap out the old row with the new row
1248
- (0, BaseEntity_1.getInstanceData)(entity).row = row;
1300
+ const instanceData = (0, BaseEntity_1.getInstanceData)(entity);
1301
+ instanceData.row = row;
1249
1302
  // And then only refresh the data keys that have already been serde-d from rows
1250
1303
  // (this keeps us from deserializing data out of rows that we don't need).
1251
- const { data, originalData } = (0, BaseEntity_1.getInstanceData)(entity);
1252
- const changedFields = entity.changes.fieldsWithoutRelations;
1253
- for (const fieldName of Object.keys(data)) {
1254
- const serde = (0, index_1.getMetadata)(entity).allFields[fieldName].serde ?? (0, utils_1.fail)(`Missing serde for ${fieldName}`);
1255
- serde.setOnEntity(data, row);
1256
- // Make the field look not-dirty
1257
- if (changedFields.includes(fieldName)) {
1258
- delete originalData[fieldName];
1304
+ const { data } = instanceData;
1305
+ const dataKeys = Object.keys(data);
1306
+ if (dataKeys.length > 0) {
1307
+ const allFields = (0, index_1.getMetadata)(entity).allFields;
1308
+ const changedFields = entity.changes.fieldsWithoutRelations;
1309
+ if (changedFields.length === 0) {
1310
+ for (const fieldName of dataKeys) {
1311
+ const serde = allFields[fieldName].serde ?? (0, utils_1.fail)(`Missing serde for ${fieldName}`);
1312
+ serde.setOnEntity(data, row);
1313
+ }
1314
+ }
1315
+ else {
1316
+ for (const fieldName of dataKeys) {
1317
+ const serde = allFields[fieldName].serde ?? (0, utils_1.fail)(`Missing serde for ${fieldName}`);
1318
+ serde.setOnEntity(data, row);
1319
+ // Make the field look not-dirty
1320
+ if (changedFields.includes(fieldName)) {
1321
+ instanceData.markFieldClean(fieldName);
1322
+ }
1323
+ }
1259
1324
  }
1260
1325
  }
1261
1326
  }
@@ -1264,8 +1329,9 @@ class EntityManager {
1264
1329
  return entities;
1265
1330
  }
1266
1331
  touch(entityOrEntities) {
1267
- for (const entity of (0, utils_1.toArray)(entityOrEntities))
1268
- (0, BaseEntity_1.getInstanceData)(entity).isTouched = true;
1332
+ for (const entity of (0, utils_1.toArray)(entityOrEntities)) {
1333
+ (0, BaseEntity_1.getInstanceData)(entity).markTouched();
1334
+ }
1269
1335
  }
1270
1336
  async recalc(entityOrEntities) {
1271
1337
  // Look for async reactive fields
@@ -1400,7 +1466,7 @@ class EntityManager {
1400
1466
  return entities.filter((e) => e instanceof cstr && !e.isDeletedEntity);
1401
1467
  }
1402
1468
  if (this.#indexManager.shouldIndexType(entities.length)) {
1403
- this.#indexManager.enableIndexingForType(meta, entities);
1469
+ this.#indexManager.enableIndexingForType(meta, entities, where);
1404
1470
  return (this.#indexManager
1405
1471
  .findMatching(meta, where)
1406
1472
  // Still filter by `instanceof cstr` to handle subtyping
@@ -1502,7 +1568,8 @@ class EntityManager {
1502
1568
  continue;
1503
1569
  const { originalData: oldOriginalData, data: oldData } = oldInstanceData;
1504
1570
  const newEntity = mapEntity(oldEntity);
1505
- const { originalData: newOriginalData, data: newData } = newEntity.__data;
1571
+ const newInstanceData = newEntity.__data;
1572
+ const { data: newData } = newInstanceData;
1506
1573
  // for new entities, anything in `data` is changed and should be copied across. for existing entities, we
1507
1574
  // only care about changed fields, which are enumerated by originalData
1508
1575
  const maybeEntity = (value) => ((0, Entity_1.isEntity)(value) ? mapEntity(value) : value);
@@ -1510,7 +1577,7 @@ class EntityManager {
1510
1577
  for (const field of fields) {
1511
1578
  // copy over originalData so .changes is consistent across ems
1512
1579
  if (field in oldOriginalData)
1513
- newOriginalData[field] = maybeEntity(oldOriginalData[field]);
1580
+ newInstanceData.markFieldDirty(field, maybeEntity(oldOriginalData[field]));
1514
1581
  newData[field] = maybeEntity(oldData[field]);
1515
1582
  }
1516
1583
  }
@@ -1520,7 +1587,7 @@ class EntityManager {
1520
1587
  const newEntity = mapEntity(oldEntity);
1521
1588
  if (oldEntity.isDeletedEntity) {
1522
1589
  // If the old entity was deleted, that should be persisted in the new em
1523
- newEntity.__data.markDeleted(newEntity);
1590
+ newEntity.__data.markDeleted();
1524
1591
  // deleted entities will fail if you try to `get` their relations, so skip them since they should be cleared
1525
1592
  // out regardless
1526
1593
  continue;
@@ -1665,11 +1732,11 @@ class EntityManager {
1665
1732
  }
1666
1733
  }
1667
1734
  /** Registers a newly-instantiated entity with our EntityManager; only called by #doCreate and hydrate. */
1668
- #doRegister(entity, id) {
1735
+ #doRegister(entity, id, meta, skipDuplicateCheck = false) {
1669
1736
  // Keep our indexes up to date...
1670
1737
  const maybeId = id ?? entity.idTaggedMaybe;
1671
1738
  if (maybeId) {
1672
- if (this.findExistingInstance(maybeId) !== undefined) {
1739
+ if (!skipDuplicateCheck && this.findExistingInstance(maybeId) !== undefined) {
1673
1740
  throw new Error(`Entity ${entity} has a duplicate instance already loaded`);
1674
1741
  }
1675
1742
  this.#entitiesById.set(maybeId, entity);
@@ -1679,7 +1746,7 @@ class EntityManager {
1679
1746
  this.#entitiesById.set(entity.toTaggedString(), entity);
1680
1747
  }
1681
1748
  this.#entitiesArray.push(entity);
1682
- const meta = (0, index_1.getMetadata)(entity);
1749
+ meta ??= (0, index_1.getMetadata)(entity);
1683
1750
  const set = this.#entitiesByTag.get(meta.tagName) ?? [];
1684
1751
  if (set.length === 0)
1685
1752
  this.#entitiesByTag.set(meta.tagName, set);
@@ -1778,14 +1845,14 @@ async function validateReactiveRules(em, logger, todos, joinRowTodos) {
1778
1845
  const p1 = Object.values(todos).flatMap((todo) => {
1779
1846
  const entities = [...todo.inserts, ...todo.updates, ...todo.deletes];
1780
1847
  // Find each statically-declared reactive rule for the given entity type
1781
- const rules = (0, caches_1.getReactiveRules)(todo.metadata);
1848
+ const rules = todo.metadata.reactiveRules;
1782
1849
  return rules.map((rule) => {
1783
1850
  // Of all changed entities of this type, how many specifically trigger this rule?
1784
1851
  const triggered = entities.filter((e) => {
1785
1852
  // If the rule is for a different subtype, skip it
1786
1853
  if (!(e instanceof rule.source))
1787
1854
  return false;
1788
- // Any new-or-deleted entity fires every rule (getReactiveRules has already filtered out read-only)
1855
+ // Any new-or-deleted entity fires every rule (reactiveRules has already filtered out read-only)
1789
1856
  if (e.isNewEntity || e.isDeletedEntity)
1790
1857
  return true;
1791
1858
  // Otherwise see if the changed fields overlaps with the rule's fields
@@ -1803,15 +1870,15 @@ async function validateReactiveRules(em, logger, todos, joinRowTodos) {
1803
1870
  const p2 = Object.values(joinRowTodos).flatMap((todo) => {
1804
1871
  const entities = [...todo.newRows, ...todo.deletedRows].flatMap((jr) => Object.values(jr.columns));
1805
1872
  // Do the first side
1806
- const p1 = (0, caches_1.getReactiveRules)(todo.m2m.meta)
1807
- .filter((rule) => rule.fields.includes(todo.m2m.fieldName))
1873
+ const p1 = todo.m2m.meta
1874
+ .reactiveRules.filter((rule) => rule.fields.includes(todo.m2m.fieldName))
1808
1875
  .map((rule) => {
1809
1876
  const triggered = entities.filter((e) => e instanceof todo.m2m.meta.cstr);
1810
1877
  return followAndQueue(triggered, rule);
1811
1878
  });
1812
1879
  // And the second side
1813
- const p2 = (0, caches_1.getReactiveRules)(todo.m2m.otherMeta)
1814
- .filter((rule) => rule.fields.includes(todo.m2m.otherFieldName))
1880
+ const p2 = todo.m2m.otherMeta
1881
+ .reactiveRules.filter((rule) => rule.fields.includes(todo.m2m.otherFieldName))
1815
1882
  .map((rule) => {
1816
1883
  const triggered = entities.filter((e) => e instanceof todo.m2m.otherMeta.cstr);
1817
1884
  return followAndQueue(triggered, rule);
@@ -2040,7 +2107,7 @@ function maybeBumpUpdatedAt(rm, todos, now) {
2040
2107
  // it has changed. This is technically true, but this will break the oplock SQL generation,
2041
2108
  // so force the field to be dirty.
2042
2109
  const orm = (0, BaseEntity_1.getInstanceData)(e);
2043
- orm.originalData[updatedAt] = (0, fields_1.getField)(e, updatedAt);
2110
+ orm.markFieldDirty(updatedAt, (0, fields_1.getField)(e, updatedAt));
2044
2111
  const serde = todo.metadata.fields[updatedAt].serde;
2045
2112
  orm.data[updatedAt] = serde.mapFromNow(now);
2046
2113
  rm.queueDownstreamReactables(e, updatedAt);
@@ -2077,17 +2144,13 @@ function findConcreteMeta(maybeBaseMeta, row) {
2077
2144
  throw new Error(`${maybeBaseMeta.type} ${(0, index_1.tagId)(maybeBaseMeta, row.id)} must be instantiated via a subtype`);
2078
2145
  }
2079
2146
  // Look for the CTI __class from the driver telling us which subtype to instantiate
2080
- return maybeBaseMeta.subTypes.find((st) => st.type === row.__class) ?? maybeBaseMeta;
2147
+ return maybeBaseMeta.subTypesByType.get(row.__class) ?? maybeBaseMeta;
2081
2148
  }
2082
2149
  else if (maybeBaseMeta.inheritanceType === "sti") {
2083
2150
  // Look for the STI discriminator value
2084
2151
  const baseMeta = (0, index_1.getBaseMeta)(maybeBaseMeta);
2085
- const field = baseMeta.fields[baseMeta.stiDiscriminatorField];
2086
- if (field.kind !== "enum")
2087
- throw new Error("Discriminator field must be an enum");
2088
- const columnName = field.serde.columns[0].columnName;
2089
- const value = row[columnName];
2090
- return baseMeta.subTypes.find((st) => st.stiDiscriminatorValue === value) ?? baseMeta;
2152
+ const value = row[baseMeta.stiDiscriminatorColumnName];
2153
+ return baseMeta.subTypesByStiValue.get(value) ?? baseMeta;
2091
2154
  }
2092
2155
  else {
2093
2156
  throw new Error("Unknown inheritance type");
@@ -2096,7 +2159,7 @@ function findConcreteMeta(maybeBaseMeta, row) {
2096
2159
  /** Sets the `Animal.type` enum to the right subtype value. */
2097
2160
  function setStiDiscriminatorValue(baseMeta, entity) {
2098
2161
  const typeName = entity.constructor.name;
2099
- const st = baseMeta.subTypes.find((st) => st.type === typeName);
2162
+ const st = baseMeta.subTypesByType.get(typeName);
2100
2163
  if (st) {
2101
2164
  const field = baseMeta.fields[baseMeta.stiDiscriminatorField];
2102
2165
  const code = field.enumDetailType.findById(st.stiDiscriminatorValue).code;
@@ -2106,17 +2169,19 @@ function setStiDiscriminatorValue(baseMeta, entity) {
2106
2169
  entity[baseMeta.stiDiscriminatorField] = undefined;
2107
2170
  }
2108
2171
  }
2109
- function findPendingFlushEntities(entities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks) {
2110
- for (const e of entities) {
2111
- if ((0, BaseEntity_1.getInstanceData)(e).pendingOperation !== "none") {
2112
- if (!hooksInvoked.has(e)) {
2113
- pendingHooks.add(e);
2114
- }
2115
- else {
2116
- alreadyRanHooks.add(e);
2117
- }
2118
- pendingFlush.add(e);
2172
+ function findPendingFlushEntities(maybePendingFlushEntities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks) {
2173
+ for (const e of maybePendingFlushEntities) {
2174
+ if ((0, BaseEntity_1.getInstanceData)(e).pendingOperation === "none") {
2175
+ maybePendingFlushEntities.delete(e);
2176
+ continue;
2177
+ }
2178
+ if (!hooksInvoked.has(e)) {
2179
+ pendingHooks.add(e);
2180
+ }
2181
+ else {
2182
+ alreadyRanHooks.add(e);
2119
2183
  }
2184
+ pendingFlush.add(e);
2120
2185
  }
2121
2186
  }
2122
2187
  /** Returns true if the caller explicitly asked `find` to use SQL pagination. */