joist-orm 1.135.0 → 1.136.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 (92) hide show
  1. package/build/BaseEntity.d.ts +5 -2
  2. package/build/BaseEntity.d.ts.map +1 -1
  3. package/build/BaseEntity.js +29 -26
  4. package/build/BaseEntity.js.map +1 -1
  5. package/build/Entity.d.ts +8 -7
  6. package/build/Entity.d.ts.map +1 -1
  7. package/build/Entity.js +20 -8
  8. package/build/Entity.js.map +1 -1
  9. package/build/EntityManager.d.ts +5 -5
  10. package/build/EntityManager.d.ts.map +1 -1
  11. package/build/EntityManager.js +90 -45
  12. package/build/EntityManager.js.map +1 -1
  13. package/build/EntityMetadata.d.ts +1 -1
  14. package/build/EntityMetadata.d.ts.map +1 -1
  15. package/build/EntityMetadata.js +2 -1
  16. package/build/EntityMetadata.js.map +1 -1
  17. package/build/changes.d.ts.map +1 -1
  18. package/build/changes.js +10 -5
  19. package/build/changes.js.map +1 -1
  20. package/build/dataloaders/findDataLoader.js +2 -2
  21. package/build/dataloaders/findDataLoader.js.map +1 -1
  22. package/build/dataloaders/lensDataLoader.js +1 -1
  23. package/build/dataloaders/lensDataLoader.js.map +1 -1
  24. package/build/dataloaders/loadDataLoader.d.ts.map +1 -1
  25. package/build/dataloaders/loadDataLoader.js +3 -2
  26. package/build/dataloaders/loadDataLoader.js.map +1 -1
  27. package/build/dataloaders/oneToManyDataLoader.d.ts.map +1 -1
  28. package/build/dataloaders/oneToManyDataLoader.js +2 -2
  29. package/build/dataloaders/oneToManyDataLoader.js.map +1 -1
  30. package/build/dataloaders/oneToManyFindDataLoader.js +1 -1
  31. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  32. package/build/dataloaders/oneToOneDataLoader.d.ts.map +1 -1
  33. package/build/dataloaders/oneToOneDataLoader.js +2 -2
  34. package/build/dataloaders/oneToOneDataLoader.js.map +1 -1
  35. package/build/drivers/EntityWriter.d.ts +1 -1
  36. package/build/drivers/EntityWriter.d.ts.map +1 -1
  37. package/build/drivers/EntityWriter.js +25 -20
  38. package/build/drivers/EntityWriter.js.map +1 -1
  39. package/build/drivers/IdAssigner.d.ts.map +1 -1
  40. package/build/drivers/IdAssigner.js +4 -3
  41. package/build/drivers/IdAssigner.js.map +1 -1
  42. package/build/drivers/InMemoryDriver.d.ts.map +1 -1
  43. package/build/drivers/InMemoryDriver.js +4 -3
  44. package/build/drivers/InMemoryDriver.js.map +1 -1
  45. package/build/drivers/PostgresDriver.d.ts.map +1 -1
  46. package/build/drivers/PostgresDriver.js +1 -16
  47. package/build/drivers/PostgresDriver.js.map +1 -1
  48. package/build/getProperties.d.ts.map +1 -1
  49. package/build/getProperties.js +5 -30
  50. package/build/getProperties.js.map +1 -1
  51. package/build/index.d.ts +15 -11
  52. package/build/index.d.ts.map +1 -1
  53. package/build/index.js +44 -15
  54. package/build/index.js.map +1 -1
  55. package/build/reactiveHints.d.ts.map +1 -1
  56. package/build/reactiveHints.js +4 -3
  57. package/build/reactiveHints.js.map +1 -1
  58. package/build/relations/ManyToOneReference.d.ts.map +1 -1
  59. package/build/relations/ManyToOneReference.js +1 -1
  60. package/build/relations/ManyToOneReference.js.map +1 -1
  61. package/build/relations/PersistedAsyncProperty.d.ts.map +1 -1
  62. package/build/relations/PersistedAsyncProperty.js +5 -4
  63. package/build/relations/PersistedAsyncProperty.js.map +1 -1
  64. package/build/relations/PersistedAsyncReference.d.ts.map +1 -1
  65. package/build/relations/PersistedAsyncReference.js +4 -4
  66. package/build/relations/PersistedAsyncReference.js.map +1 -1
  67. package/build/relations/PolymorphicReference.d.ts.map +1 -1
  68. package/build/relations/PolymorphicReference.js +1 -1
  69. package/build/relations/PolymorphicReference.js.map +1 -1
  70. package/build/relations/hasAsyncMethod.d.ts.map +1 -1
  71. package/build/relations/hasAsyncMethod.js +2 -2
  72. package/build/relations/hasAsyncMethod.js.map +1 -1
  73. package/build/relations/hasAsyncProperty.d.ts.map +1 -1
  74. package/build/relations/hasAsyncProperty.js +3 -3
  75. package/build/relations/hasAsyncProperty.js.map +1 -1
  76. package/build/relations/hasManyDerived.d.ts.map +1 -1
  77. package/build/relations/hasManyDerived.js +2 -1
  78. package/build/relations/hasManyDerived.js.map +1 -1
  79. package/build/relations/hasManyThrough.d.ts.map +1 -1
  80. package/build/relations/hasManyThrough.js +2 -1
  81. package/build/relations/hasManyThrough.js.map +1 -1
  82. package/build/relations/hasOneDerived.d.ts.map +1 -1
  83. package/build/relations/hasOneDerived.js +2 -1
  84. package/build/relations/hasOneDerived.js.map +1 -1
  85. package/build/relations/hasOneThrough.d.ts.map +1 -1
  86. package/build/relations/hasOneThrough.js +2 -1
  87. package/build/relations/hasOneThrough.js.map +1 -1
  88. package/build/rules.d.ts +1 -1
  89. package/build/rules.d.ts.map +1 -1
  90. package/build/rules.js +3 -1
  91. package/build/rules.js.map +1 -1
  92. package/package.json +2 -2
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isDefined = exports.afterTransaction = exports.beforeTransaction = exports.TooManyError = exports.NotFoundError = exports.sameEntity = exports.isKey = exports.resetDefaultEntityLimit = exports.setDefaultEntityLimit = exports.getDefaultEntityLimit = exports.getEmInternalApi = exports.EntityManager = exports.currentlyInstantiatingEntity = exports.isId = void 0;
6
+ exports.isDefined = exports.afterTransaction = exports.beforeTransaction = exports.TooManyError = exports.NotFoundError = exports.sameEntity = exports.isKey = exports.resetDefaultEntityLimit = exports.setDefaultEntityLimit = exports.getDefaultEntityLimit = exports.getEmInternalApi = exports.EntityManager = exports.isId = void 0;
7
7
  const dataloader_1 = __importDefault(require("dataloader"));
8
+ const BaseEntity_1 = require("./BaseEntity");
8
9
  const defaults_1 = require("./defaults");
9
10
  // We alias `Entity => EntityW` to denote "Entity wide" i.e. the non-narrowed Entity
10
11
  const Entity_1 = require("./Entity");
@@ -147,7 +148,7 @@ class EntityManager {
147
148
  const query = (0, index_1.parseFindQuery)((0, index_1.getMetadata)(type), where, rest);
148
149
  const rows = await this.driver.executeFind(this, query, { limit, offset });
149
150
  // check row limit
150
- const result = rows.map((row) => this.hydrate(type, row, { overwriteExisting: false }));
151
+ const result = this.hydrate(type, rows, { overwriteExisting: false });
151
152
  if (populate) {
152
153
  await this.populate(result, populate);
153
154
  }
@@ -194,7 +195,7 @@ class EntityManager {
194
195
  return undefined;
195
196
  }
196
197
  else {
197
- const entity = this.hydrate(type, row);
198
+ const [entity] = this.hydrate(type, [row]);
198
199
  if (populate) {
199
200
  await this.populate(entity, populate);
200
201
  }
@@ -279,7 +280,7 @@ class EntityManager {
279
280
  switch (f.kind) {
280
281
  case "primitive":
281
282
  if (!f.derived && !f.protected) {
282
- return [f.fieldName, entity.__orm.data[f.fieldName]];
283
+ return [f.fieldName, (0, index_1.getField)(entity, f.fieldName)];
283
284
  }
284
285
  else {
285
286
  return undefined;
@@ -287,7 +288,7 @@ class EntityManager {
287
288
  case "m2o":
288
289
  case "poly":
289
290
  case "enum":
290
- return [f.fieldName, entity.__orm.data[f.fieldName]];
291
+ return [f.fieldName, (0, index_1.getField)(entity, f.fieldName)];
291
292
  case "primaryKey":
292
293
  case "o2m":
293
294
  case "m2m":
@@ -313,7 +314,7 @@ class EntityManager {
313
314
  value instanceof index_1.PolymorphicReferenceImpl ||
314
315
  value instanceof relations_1.PersistedAsyncReferenceImpl) {
315
316
  // What's the existing entity? Have we cloned it?
316
- const existingIdOrEntity = clone.__orm.data[fieldName];
317
+ const existingIdOrEntity = (0, index_1.getField)(clone, fieldName);
317
318
  const existing = this.entities.find((e) => sameEntity(e, existingIdOrEntity));
318
319
  // If we didn't find a loaded entity for this value, assume that it a) itself is not being cloned,
319
320
  // and b) we don't need to bother telling it about the newly cloned entity
@@ -397,14 +398,14 @@ class EntityManager {
397
398
  query.limit(this.entityLimit);
398
399
  }
399
400
  const rows = await query;
400
- const entities = rows.map((row) => this.hydrate(type, row, { overwriteExisting: false }));
401
+ const entities = this.hydrate(type, rows, { overwriteExisting: false });
401
402
  if (populate) {
402
403
  await this.populate(entities, populate);
403
404
  }
404
405
  return entities;
405
406
  }
406
407
  async loadFromRows(type, rows, populate) {
407
- const entities = rows.map((row) => this.hydrate(type, row, { overwriteExisting: false }));
408
+ const entities = this.hydrate(type, rows, { overwriteExisting: false });
408
409
  if (populate) {
409
410
  await this.populate(entities, populate);
410
411
  }
@@ -421,7 +422,7 @@ class EntityManager {
421
422
  if (list.length === 0) {
422
423
  return !fn ? entityOrList : fn(entityOrList);
423
424
  }
424
- const meta = list[0]?.__orm.metadata;
425
+ const meta = (0, index_1.getMetadata)(list[0]);
425
426
  if (this.#preloader) {
426
427
  // If we can preload, prevent promise deadlocking by one large-batch preload populate (which can't have
427
428
  // intra dependencies), then a 2nd small-batch non-preload populate.
@@ -465,7 +466,7 @@ class EntityManager {
465
466
  "serializable");
466
467
  }
467
468
  /** Registers a newly-instantiated entity with our EntityManager; only called by entity constructors. */
468
- register(meta, entity) {
469
+ register(entity) {
469
470
  if (entity.idTaggedMaybe) {
470
471
  if (this.findExistingInstance(entity.idTagged) !== undefined) {
471
472
  throw new Error(`Entity ${entity} has a duplicate instance already loaded`);
@@ -479,15 +480,13 @@ class EntityManager {
479
480
  // Set a default createdAt/updatedAt that we'll keep if this is a new entity, or over-write if we're loaded an existing row
480
481
  if (entity.isNewEntity) {
481
482
  const { createdAt, updatedAt } = (0, index_1.getBaseMeta)((0, index_1.getMetadata)(entity)).timestampFields;
482
- if (createdAt) {
483
- entity.__orm.data[createdAt] = new Date();
484
- }
485
- if (updatedAt) {
486
- entity.__orm.data[updatedAt] = new Date();
487
- }
483
+ const { data } = (0, BaseEntity_1.getOrmField)(entity);
484
+ if (createdAt)
485
+ data[createdAt] = new Date();
486
+ if (updatedAt)
487
+ data[updatedAt] = new Date();
488
488
  this.#rm.queueAllDownstreamFields(entity);
489
489
  }
490
- exports.currentlyInstantiatingEntity = entity;
491
490
  }
492
491
  /**
493
492
  * Marks an instance to be deleted.
@@ -502,10 +501,11 @@ class EntityManager {
502
501
  */
503
502
  delete(entity) {
504
503
  // Early return if already deleted.
505
- if (entity.__orm.deleted) {
504
+ const orm = (0, BaseEntity_1.getOrmField)(entity);
505
+ if (orm.deleted) {
506
506
  return;
507
507
  }
508
- entity.__orm.deleted = "pending";
508
+ orm.deleted = "pending";
509
509
  // Any derived fields that read this entity will need recalc-d
510
510
  this.#rm.queueAllDownstreamFields(entity);
511
511
  // Synchronously unhook the entity if the relations are loaded
@@ -539,7 +539,7 @@ class EntityManager {
539
539
  this.#fl.startLock();
540
540
  await this.#fl.allowWrites(async () => {
541
541
  // Recalc any touched entities
542
- const touched = this.entities.filter((e) => e.__orm.isTouched);
542
+ const touched = this.entities.filter((e) => (0, BaseEntity_1.getOrmField)(e).isTouched);
543
543
  if (touched.length > 0) {
544
544
  await recalcTouchedEntities(touched);
545
545
  }
@@ -553,6 +553,7 @@ class EntityManager {
553
553
  });
554
554
  const hooksInvoked = new Set();
555
555
  let pendingEntities = this.entities.filter((e) => e.isPendingFlush);
556
+ const now = getNow();
556
557
  try {
557
558
  while (pendingEntities.length > 0) {
558
559
  // Run hooks in a series of loops until things "settle down"
@@ -560,6 +561,7 @@ class EntityManager {
560
561
  // Run our hooks
561
562
  let todos = (0, Todo_1.createTodos)(pendingEntities);
562
563
  await (0, defaults_1.setAsyncDefaults)(this.ctx, todos);
564
+ maybeBumpUpdatedAt(todos, now);
563
565
  await beforeCreate(this.ctx, todos);
564
566
  await beforeUpdate(this.ctx, todos);
565
567
  await beforeFlush(this.ctx, todos);
@@ -617,7 +619,7 @@ class EntityManager {
617
619
  if (e.isNewEntity && !e.isDeletedEntity) {
618
620
  this.#entityIndex.set(e.idTagged, e);
619
621
  }
620
- e.__orm.resetAfterFlushed();
622
+ (0, BaseEntity_1.getOrmField)(e).resetAfterFlushed();
621
623
  }
622
624
  // Reset the find caches b/c data will have changed in the db
623
625
  this.#dataloaders = {};
@@ -671,7 +673,7 @@ class EntityManager {
671
673
  // Then refresh any non-deleted loaded relations (the `loadDataLoader.load` only populates the
672
674
  // preloader cache, if in use, it doesn't actually get each relation into a loaded state.)
673
675
  const [custom, builtin] = (0, utils_1.partition)(entities
674
- .filter((e) => e && e.__orm.deleted === undefined)
676
+ .filter((e) => e && (0, BaseEntity_1.getOrmField)(e).deleted === undefined)
675
677
  .flatMap((entity) => (0, index_1.getRelations)(entity).filter((r) => deepLoad || r.isLoaded)), isCustomRelation);
676
678
  // Call `.load` on builtin relations first, because if we hit an already-loaded custom relation
677
679
  // first, it will call `.get` internally, and might access built-in relations that we've not had a
@@ -724,29 +726,42 @@ class EntityManager {
724
726
  * i.e. when we're loading collections and have db results that are potentially stale compared to
725
727
  * the WIP entity state.
726
728
  */
727
- hydrate(type, row, options) {
729
+ hydrate(type, rows, options) {
728
730
  const maybeBaseMeta = (0, index_1.getMetadata)(type);
729
- const taggedId = (0, index_1.keyToTaggedId)(maybeBaseMeta, row["id"]) || (0, utils_1.fail)("No id column was available");
730
- // See if this is already in our UoW
731
- let entity = this.findExistingInstance(taggedId);
732
- if (!entity) {
733
- // Look for __class from the driver telling us which subtype to instantiate
734
- const meta = row.__class
735
- ? maybeBaseMeta.subTypes.find((st) => st.type === row.__class) ?? maybeBaseMeta
736
- : maybeBaseMeta;
737
- // Pass id as a hint that we're in hydrate mode
738
- // `asConcreteCstr` is safe b/c we should have detected the right subtype via __class
739
- entity = new ((0, index_1.asConcreteCstr)(meta.cstr))(this, taggedId);
740
- Object.values(meta.allFields).forEach((f) => f.serde?.setOnEntity(entity.__orm.data, row));
741
- }
742
- else if (options?.overwriteExisting !== false) {
743
- const meta = (0, index_1.getMetadata)(entity);
744
- // Usually if the entity already exists, we don't write over it, but in this case
745
- // we assume that `EntityManager.refresh` is telling us to explicitly load the
746
- // latest data.
747
- Object.values(meta.allFields).forEach((f) => f.serde?.setOnEntity(entity.__orm.data, row));
731
+ let i = 0;
732
+ const entities = new Array(rows.length);
733
+ for (const row of rows) {
734
+ const taggedId = (0, index_1.keyToTaggedId)(maybeBaseMeta, row["id"]) || (0, utils_1.fail)("No id column was available");
735
+ // See if this is already in our UoW
736
+ let entity = this.findExistingInstance(taggedId);
737
+ if (!entity) {
738
+ // Look for __class from the driver telling us which subtype to instantiate
739
+ const meta = row.__class
740
+ ? maybeBaseMeta.subTypes.find((st) => st.type === row.__class) ?? maybeBaseMeta
741
+ : maybeBaseMeta;
742
+ // Pass id as a hint that we're in hydrate mode
743
+ entity = new ((0, index_1.asConcreteCstr)(meta.cstr))(this, taggedId);
744
+ (0, BaseEntity_1.getOrmField)(entity).row = row;
745
+ // This is a mini copy-paste of em.register that doesn't re-findExistingInstance
746
+ this.#entityIndex.set(taggedId, entity);
747
+ this.#entities.push(entity);
748
+ if (this.#entities.length >= this.entityLimit) {
749
+ throw new Error(`More than ${this.entityLimit} entities have been instantiated`);
750
+ }
751
+ }
752
+ else if (options?.overwriteExisting !== false) {
753
+ const meta = (0, index_1.getMetadata)(entity);
754
+ // Usually if the entity already exists, we don't write over it, but in this case
755
+ // we assume that `EntityManager.refresh` is telling us to explicitly load the
756
+ // latest data.
757
+ const { data } = (0, BaseEntity_1.getOrmField)(entity);
758
+ for (const f of Object.values(meta.allFields)) {
759
+ f.serde?.setOnEntity(data, row);
760
+ }
761
+ }
762
+ entities[i++] = entity;
748
763
  }
749
- return entity;
764
+ return entities;
750
765
  }
751
766
  /**
752
767
  * Mark an entity as needing to be flushed regardless of its state.
@@ -759,7 +774,7 @@ class EntityManager {
759
774
  * - Rerun all simple & reactive rules on the entity.
760
775
  */
761
776
  touch(entity) {
762
- entity.__orm.isTouched = true;
777
+ (0, BaseEntity_1.getOrmField)(entity).isTouched = true;
763
778
  }
764
779
  beforeTransaction(fn) {
765
780
  this.#hooks.beforeTransaction.push(fn);
@@ -934,7 +949,7 @@ async function validateReactiveRules(todos, joinRowTodos) {
934
949
  .flatMap((m) => m.config.__data.reactiveRules)
935
950
  .filter((r) => r.path.length === 0);
936
951
  for (const entity of todo.updates) {
937
- if (entity.__orm.isTouched) {
952
+ if ((0, BaseEntity_1.getOrmField)(entity).isTouched) {
938
953
  for (const rule of rules) {
939
954
  let entities = fns.get(rule.fn);
940
955
  if (!entities) {
@@ -1120,4 +1135,34 @@ function getCascadeDeleteRelations(entity) {
1120
1135
  function isCustomRelation(r) {
1121
1136
  return r instanceof index_1.CustomCollection || r instanceof index_1.CustomReference || r instanceof relations_1.PersistedAsyncReferenceImpl;
1122
1137
  }
1138
+ function maybeBumpUpdatedAt(todos, now) {
1139
+ for (const todo of Object.values(todos)) {
1140
+ const { updatedAt } = todo.metadata.timestampFields;
1141
+ if (updatedAt) {
1142
+ for (const e of todo.updates) {
1143
+ // We avoid going through `setField` because in unit tests, it might detect that our
1144
+ // bump's timestamp isn't actually different from the current value, and skip treating
1145
+ // it has changed. This is technically true, but this will break the oplock SQL generation,
1146
+ // so force the field to be dirty.
1147
+ const orm = (0, BaseEntity_1.getOrmField)(e);
1148
+ orm.originalData[updatedAt] = (0, index_1.getField)(e, updatedAt);
1149
+ orm.data[updatedAt] = now;
1150
+ }
1151
+ }
1152
+ }
1153
+ }
1154
+ let lastNow = new Date();
1155
+ function getNow() {
1156
+ let now = new Date();
1157
+ // If we detect time has not progressed (or went backwards), we're probably in test that
1158
+ // has frozen time, which can throw off our oplocks b/c if Joist issues multiple `UPDATE`s
1159
+ // with exactly the same `updated_at`, the `updated_at` SQL trigger fallback will think "the caller
1160
+ // didn't self-manage `updated_at`" and so bump it for them. Which is fine, but now
1161
+ // Joist doesn't know about the bumped time, and the 2nd `UPDATE` will fail.
1162
+ if (lastNow.getTime() === now.getTime() || now.getTime() < lastNow.getTime()) {
1163
+ now = new Date(lastNow.getTime() + 1);
1164
+ }
1165
+ lastNow = now;
1166
+ return now;
1167
+ }
1123
1168
  //# sourceMappingURL=EntityManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.js","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.js","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ConfigApi } from "./config";
2
1
  import { Entity } from "./Entity";
3
2
  import { EntityManager, MaybeAbstractEntityConstructor, TimestampFields } from "./EntityManager";
3
+ import { ConfigApi } from "./config";
4
4
  import { DeepNew } from "./loadHints";
5
5
  import { FieldSerde, PolymorphicKeySerde } from "./serde";
6
6
  export declare function getMetadata<T extends Entity>(entity: T): EntityMetadata<T>;
@@ -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,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBaseMeta = exports.getBaseSelfAndSubMetas = exports.getBaseAndSelfMetas = exports.isCollectionField = exports.isReferenceField = exports.isPolymorphicField = exports.isOneToOneField = exports.isManyToManyField = exports.isManyToOneField = exports.isOneToManyField = exports.getMetadata = void 0;
4
+ const BaseEntity_1 = require("./BaseEntity");
4
5
  function getMetadata(param) {
5
- return (typeof param === "function" ? param.metadata : "cstr" in param ? param : param.__orm.metadata);
6
+ return (typeof param === "function" ? param.metadata : "cstr" in param ? param : (0, BaseEntity_1.getOrmField)(param).metadata);
6
7
  }
7
8
  exports.getMetadata = getMetadata;
8
9
  function isOneToManyField(ormField) {
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":";;;AASA,SAAgB,WAAW,CACzB,KAA6D;IAE7D,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,KAAK,CAAC,KAAK,CAAC,QAAQ,CACrF,CAAC;AACtB,CAAC;AAND,kCAMC;AAwJD,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,4CAEC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,8CAEC;AAED,SAAgB,eAAe,CAAC,QAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,0CAEC;AAED,SAAgB,kBAAkB,CAAC,QAAe;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAClC,CAAC;AAFD,gDAEC;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;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAFD,8CAEC;AAED,SAAgB,mBAAmB,CAAC,IAAoB;IACtD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,kDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAFD,wDAEC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC1B;AACH,CAAC;AAND,kCAMC"}
1
+ {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../src/EntityMetadata.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAU3C,SAAgB,WAAW,CACzB,KAA6D;IAE7D,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,wBAAW,EAAC,KAAK,CAAC,CAAC,QAAQ,CAC5F,CAAC;AACtB,CAAC;AAND,kCAMC;AAwJD,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,4CAEC;AAED,SAAgB,gBAAgB,CAAC,QAAe;IAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,8CAEC;AAED,SAAgB,eAAe,CAAC,QAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AACjC,CAAC;AAFD,0CAEC;AAED,SAAgB,kBAAkB,CAAC,QAAe;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;AAClC,CAAC;AAFD,gDAEC;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;AAFD,4CAEC;AAED,SAAgB,iBAAiB,CAAC,QAAe;IAC/C,OAAO,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;AAC5D,CAAC;AAFD,8CAEC;AAED,SAAgB,mBAAmB,CAAC,IAAoB;IACtD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,kDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAFD,wDAEC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC1B;AACH,CAAC;AAND,kCAMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAgB,MAAM,iBAAiB,CAAC;AAG/D,yFAAyF;AACzF,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,CAAC;CACnB;AAED,yFAAyF;AACzF,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,wFAAwF;IACxF,cAAc,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;IAAE,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,GAAG;KACrF,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAAE,GAC9E,CAAC,SAAS,MAAM,GACd,oBAAoB,CAAC,CAAC,CAAC,GACvB,WAAW,CAAC,CAAC,CAAC,GAChB,KAAK;CACV,CAAC;AAQF;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM;IAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAqDvE"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAgB,MAAM,iBAAiB,CAAC;AAG/D,yFAAyF;AACzF,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,CAAC;CACnB;AAED,yFAAyF;AACzF,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,wFAAwF;IACxF,cAAc,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;IAAE,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,GAAG;KACrF,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;KAAE,GAC9E,CAAC,SAAS,MAAM,GACd,oBAAoB,CAAC,CAAC,CAAC,GACvB,WAAW,CAAC,CAAC,CAAC,GAChB,KAAK;CACV,CAAC;AAQF;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM;IAC7C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA0DvE"}
package/build/changes.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newChangesProxy = void 0;
4
+ const BaseEntity_1 = require("./BaseEntity");
4
5
  const Entity_1 = require("./Entity");
5
6
  const EntityManager_1 = require("./EntityManager");
6
7
  const index_1 = require("./index");
@@ -10,21 +11,25 @@ function newChangesProxy(entity) {
10
11
  if (p === "fields") {
11
12
  return (entity.isNewEntity
12
13
  ? // Cloning sometimes leaves unset keys in data as undefined, so drop them
13
- Object.entries(entity.__orm.data)
14
+ Object.entries((0, BaseEntity_1.getOrmField)(entity).data)
14
15
  .filter(([, value]) => value !== undefined)
15
16
  .map(([key]) => key)
16
- : Object.keys(entity.__orm.originalData));
17
+ : Object.keys((0, BaseEntity_1.getOrmField)(entity).originalData));
17
18
  }
18
19
  else if (typeof p === "symbol") {
19
20
  throw new Error(`Unsupported call to ${String(p)}`);
20
21
  }
22
+ if (!(0, index_1.isChangeableField)(entity, p)) {
23
+ throw new Error(`Invalid changes field ${p}`);
24
+ }
25
+ const { originalData, data } = (0, BaseEntity_1.getOrmField)(entity);
21
26
  // If `p` is in originalData, always respect that, even if it's undefined
22
- const originalValue = p in entity.__orm.originalData ? entity.__orm.originalData[p] : entity.__orm.data[p];
27
+ const originalValue = p in originalData ? originalData[p] : (0, index_1.getField)(entity, p);
23
28
  // Use `__orm.data[p] !== undefined` instead of `p in entity.__orm.data` because if a new (or cloned) entity
24
29
  // sets-then-unsets a value, it will return to `undefined` but still be present in `__orm.data`.
25
- const hasChanged = entity.isNewEntity ? entity.__orm.data[p] !== undefined : p in entity.__orm.originalData;
30
+ const hasChanged = entity.isNewEntity ? data[p] !== undefined : p in originalData;
26
31
  // const hasChanged = entity.isNewEntity ? p in entity.__orm.data : p in entity.__orm.originalData;
27
- const hasUpdated = !entity.isNewEntity && p in entity.__orm.originalData;
32
+ const hasUpdated = !entity.isNewEntity && p in originalData;
28
33
  const fields = {
29
34
  hasChanged,
30
35
  hasUpdated,
@@ -1 +1 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,qCAA4C;AAC5C,mDAA+D;AAC/D,mCAAsG;AAoDtG,SAAgB,eAAe,CAAmB,MAAS;IACzD,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,CAAc;YACxB,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAClB,OAAO,CACL,MAAM,CAAC,WAAW;oBAChB,CAAC,CAAC,yEAAyE;wBACzE,MAAM,CAAC,OAAO,CAAC,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;6BACrC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;6BAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;oBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAC3B,CAAC;aAC1B;iBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrD;YAED,IAAI,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAQ,CAAC,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;aAC/C;YAED,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC;YACnD,yEAAyE;YACzE,MAAM,aAAa,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,MAAM,EAAE,CAAQ,CAAC,CAAC;YACvF,4GAA4G;YAC5G,gGAAgG;YAChG,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;YAClF,mGAAmG;YACnG,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,YAAY,CAAC;YAE5D,MAAM,MAAM,GAAG;gBACb,UAAU;gBACV,UAAU;gBACV,IAAI,aAAa;oBACf,6FAA6F;oBAC7F,OAAO,IAAA,iBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACpE,CAAC;aACF,CAAC;YAEF,2FAA2F;YAC3F,qEAAqE;YACrE,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACpB,IAAI,cAAc;wBAChB,IAAI,IAAA,iBAAQ,EAAC,aAAa,CAAC,EAAE;4BAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;yBACvC;6BAAM,IAAI,IAAA,oBAAI,EAAC,aAAa,CAAC,EAAE;4BAC9B,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAA,kCAA0B,EAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;yBACjF;6BAAM;4BACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;yBAC1B;oBACH,CAAC;iBACF,CAAC,CAAC;aACJ;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAQ,CAAC;AACZ,CAAC;AA1DD,0CA0DC;AAED,MAAM,iBAAiB,GAAmC;IACxD,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;CACjB,CAAC"}
@@ -42,7 +42,7 @@ function findDataLoader(em, type, filter, hint) {
42
42
  const preloadHydrator = preloader && hint && preloader.addPreloading(em, meta, (0, HintTree_1.buildHintTree)(hint), query);
43
43
  const rows = await em.driver.executeFind(em, query, opts);
44
44
  ensureUnderLimit(em, rows);
45
- const entities = rows.map((row) => em.hydrate(type, row, { overwriteExisting: false }));
45
+ const entities = em.hydrate(type, rows, { overwriteExisting: false });
46
46
  preloadHydrator?.(rows, entities);
47
47
  return [entities];
48
48
  }
@@ -95,7 +95,7 @@ function findDataLoader(em, type, filter, hint) {
95
95
  `;
96
96
  const rows = await em.driver.executeQuery(em, (0, utils_1.cleanSql)(sql), bindings);
97
97
  ensureUnderLimit(em, rows);
98
- const entities = rows.map((row) => em.hydrate(type, row, { overwriteExisting: false }));
98
+ const entities = em.hydrate(type, rows, { overwriteExisting: false });
99
99
  preloadJoins?.forEach((j) => j.hydrator(rows, entities));
100
100
  // Make an empty array for each batched query, per the dataloader contract
101
101
  const results = queries.map(() => []);