joist-orm 1.262.0 → 1.263.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 (41) hide show
  1. package/build/EntityManager.d.ts +30 -1
  2. package/build/EntityManager.d.ts.map +1 -1
  3. package/build/EntityManager.js +138 -31
  4. package/build/EntityManager.js.map +1 -1
  5. package/build/loadLens.d.ts +2 -0
  6. package/build/loadLens.d.ts.map +1 -1
  7. package/build/loadLens.js +9 -0
  8. package/build/loadLens.js.map +1 -1
  9. package/build/relations/CustomCollection.d.ts +7 -1
  10. package/build/relations/CustomCollection.d.ts.map +1 -1
  11. package/build/relations/CustomCollection.js +8 -0
  12. package/build/relations/CustomCollection.js.map +1 -1
  13. package/build/relations/CustomReference.d.ts +7 -1
  14. package/build/relations/CustomReference.d.ts.map +1 -1
  15. package/build/relations/CustomReference.js +8 -0
  16. package/build/relations/CustomReference.js.map +1 -1
  17. package/build/relations/PolymorphicReference.d.ts +5 -0
  18. package/build/relations/PolymorphicReference.d.ts.map +1 -1
  19. package/build/relations/PolymorphicReference.js +12 -2
  20. package/build/relations/PolymorphicReference.js.map +1 -1
  21. package/build/relations/hasManyDerived.d.ts.map +1 -1
  22. package/build/relations/hasManyDerived.js +1 -0
  23. package/build/relations/hasManyDerived.js.map +1 -1
  24. package/build/relations/hasManyThrough.d.ts.map +1 -1
  25. package/build/relations/hasManyThrough.js +1 -0
  26. package/build/relations/hasManyThrough.js.map +1 -1
  27. package/build/relations/hasOneDerived.d.ts.map +1 -1
  28. package/build/relations/hasOneDerived.js +1 -0
  29. package/build/relations/hasOneDerived.js.map +1 -1
  30. package/build/relations/hasOneThrough.d.ts.map +1 -1
  31. package/build/relations/hasOneThrough.js +1 -0
  32. package/build/relations/hasOneThrough.js.map +1 -1
  33. package/build/serde.d.ts +12 -0
  34. package/build/serde.d.ts.map +1 -1
  35. package/build/serde.js +37 -0
  36. package/build/serde.js.map +1 -1
  37. package/build/temporalMappers.d.ts +11 -4
  38. package/build/temporalMappers.d.ts.map +1 -1
  39. package/build/temporalMappers.js +18 -10
  40. package/build/temporalMappers.js.map +1 -1
  41. package/package.json +2 -2
@@ -595,10 +595,39 @@ export declare class EntityManager<C = unknown, Entity extends EntityW = EntityW
595
595
  * - Copy any pending changes (must call .flush() first)
596
596
  * - Share any changes made in either EntityManager with the other
597
597
  *
598
+ * @param opts options to control the fork behavior
599
+ * - allowPendingChanges - allows the em being forked to have pending changes and forces the resulting em to have
600
+ * `mode` set to "in-memory-writes". Changes to entities in the original em will be copied to the resulting em.
601
+ * Optional. default: false
602
+ *
598
603
  * @throws {Error} If called on an EntityManager with pending changes
599
604
  * @returns A new EntityManager with copied entity state
600
605
  */
601
- fork(): EntityManager<C, Entity, TX>;
606
+ fork(opts?: {
607
+ allowPendingChanges?: boolean;
608
+ }): EntityManager<C, Entity, TX>;
609
+ /**
610
+ * Copies an entity from one EntityManager to another, ensuring all relations specified in the hint are
611
+ * also copied.
612
+ *
613
+ * This method is primarily used when you need to move entities between different EntityManager instances
614
+ * while preserving their loaded state and relationships. This is useful for scenarios like:
615
+ *
616
+ * - Moving entities between transaction boundaries
617
+ * - Creating test fixtures that reference entities from a different EntityManager
618
+ * - Sharing entities between different parts of your application
619
+ *
620
+ * The migration process:
621
+ * 1. If the entity already exists in this EntityManager, returns it
622
+ * 2. Otherwise, creates a new instance with the same data
623
+ * 3. Recursively migrates any loaded relations specified in the hint
624
+ *
625
+ * @param source - The entity to migrate from another EntityManager
626
+ * @param hint - The load hint specifying which relations to migrate
627
+ * @returns The migrated entity with all specified relations loaded
628
+ */
629
+ importEntity<T extends Entity>(original: T): T;
630
+ importEntity<T extends Entity, H extends LoadHint<T>, L extends Loaded<T, H>>(original: L, hint: H): L;
602
631
  }
603
632
  /** Provides an internal API to the `EntityManager`. */
604
633
  export interface 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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"}
@@ -1285,79 +1285,167 @@ class EntityManager {
1285
1285
  * - Copy any pending changes (must call .flush() first)
1286
1286
  * - Share any changes made in either EntityManager with the other
1287
1287
  *
1288
+ * @param opts options to control the fork behavior
1289
+ * - allowPendingChanges - allows the em being forked to have pending changes and forces the resulting em to have
1290
+ * `mode` set to "in-memory-writes". Changes to entities in the original em will be copied to the resulting em.
1291
+ * Optional. default: false
1292
+ *
1288
1293
  * @throws {Error} If called on an EntityManager with pending changes
1289
1294
  * @returns A new EntityManager with copied entity state
1290
1295
  */
1291
- fork() {
1296
+ fork(opts = {}) {
1297
+ const { allowPendingChanges = false } = opts;
1292
1298
  const oldEm = this;
1293
1299
  const pendingEntities = oldEm.entities.filter((e) => (0, BaseEntity_1.getInstanceData)(e).pendingOperation !== "none");
1294
- if (pendingEntities.length > 0) {
1300
+ if (!allowPendingChanges && pendingEntities.length > 0) {
1295
1301
  (0, utils_1.fail)("Cannot fork an EntityManager with pending changes");
1296
1302
  }
1297
- // copy the context so that it's distinct between the two ems and so we can update any references from the old em
1303
+ // copy the context so that it's distinct between the two ems, and so we can update any references from the old em
1298
1304
  // to the new one later
1299
1305
  const ctx = { ...oldEm.ctx };
1300
1306
  const newEm = new EntityManager(ctx, { em: oldEm });
1307
+ if (allowPendingChanges)
1308
+ newEm.mode = "in-memory-writes";
1301
1309
  // hydrate (ie, create) each entity from the oldEm in the newEm
1302
1310
  oldEm.#entitiesByTag.forEach((entities, tag) => {
1311
+ const [unpersistedEntities, persistedEntities] = allowPendingChanges
1312
+ ? (0, utils_1.partition)(entities, (e) => e.isNewEntity)
1313
+ : [[], entities];
1303
1314
  // tags are always defined by the base constructor, so we use that as hydrate expects the base class as its argument
1304
1315
  const baseCstr = (0, configure_1.getConstructorFromTag)(tag);
1305
1316
  // We copy the raw row data for each entity to avoid any potential conflict. Then we ensure the correct concrete
1306
1317
  // __class key is set for hydrate to use, if necessary (ie, cti), to actually instantiate the entity.
1307
- const rows = entities.map((e) => {
1308
- const instanceData = (0, BaseEntity_1.getInstanceData)(e);
1309
- const meta = (0, index_1.getMetadata)(e);
1310
- const row = { ...instanceData.row };
1311
- if (!("id" in row)) {
1312
- // If we didn't get an id in our row data, then this entity was created by oldEm and flushed, so we have no
1313
- // row data and need to construct it manually
1314
- Object.values(meta.allFields).forEach((field) => field.serde?.columns?.forEach((column) => (row[column.columnName] = column.mapToDb((0, fields_1.getField)(e, field.fieldName)))));
1315
- }
1316
- if (meta.inheritanceType === "cti")
1317
- row["__class"] = e.constructor.name;
1318
- return row;
1319
- });
1318
+ const rows = persistedEntities.map((e) => createRowFromEntityData(e));
1320
1319
  newEm.hydrate(baseCstr, rows);
1320
+ // Create blank entities in newEm for each unpersisted entity from oldEm. They will be populated later in the
1321
+ // allowPendingChanges step as they should not be present otherwise.
1322
+ unpersistedEntities.forEach((e) => newEm.create(e.constructor, {}));
1321
1323
  });
1324
+ function findEntity(oldEntity) {
1325
+ if (oldEntity.isNewEntity) {
1326
+ const index = parseInt(oldEntity.toString().split("#").pop()) - 1;
1327
+ return newEm.getEntities(oldEntity.constructor)[index];
1328
+ }
1329
+ else {
1330
+ return newEm.getEntity(oldEntity.idTagged);
1331
+ }
1332
+ }
1333
+ // If we are allowing pending changes, then we need to copy any changes across to newEm
1334
+ if (allowPendingChanges) {
1335
+ oldEm.entities
1336
+ .filter((e) => e.isNewEntity || e.isDirtyEntity)
1337
+ .forEach((oldEntity) => {
1338
+ const { originalData: oldOriginalData, data: oldData } = (0, BaseEntity_1.getInstanceData)(oldEntity);
1339
+ const newEntity = findEntity(oldEntity);
1340
+ const { originalData: newOriginalData, data: newData } = (0, BaseEntity_1.getInstanceData)(newEntity);
1341
+ // for new entities, anything in `data` is changed and should be copied across. for existing entities, we
1342
+ // only care about changed fields, which are enumerated by originalData
1343
+ const maybeEntity = (value) => ((0, Entity_1.isEntity)(value) ? findEntity(value) : value);
1344
+ Object.keys(oldEntity.isNewEntity ? oldData : oldOriginalData).forEach((fieldName) => {
1345
+ // copy over originalData so .changes is consistent across ems
1346
+ if (fieldName in oldOriginalData)
1347
+ newOriginalData[fieldName] = maybeEntity(oldOriginalData[fieldName]);
1348
+ newData[fieldName] = maybeEntity(oldData[fieldName]);
1349
+ });
1350
+ });
1351
+ }
1352
+ const internalApi = getEmInternalApi(newEm);
1322
1353
  // set the preload cache for each loaded relation from oldEm in the newEm so that get / isLoaded should just work
1323
1354
  // on the new entities. group by concrete class so that we only have to gather the relation definitions once per
1324
1355
  // type.
1325
1356
  (0, utils_1.groupBy)(oldEm.entities, (e) => e.constructor).forEach((entities, cstr) => {
1357
+ // deleted entities will fail if you try to `get` their relations, so skip them since they should be cleared
1358
+ // out regardless
1359
+ entities = entities.filter((e) => !e.isDeletedEntity);
1360
+ const [unpersistedEntities, persistedEntities] = allowPendingChanges
1361
+ ? (0, utils_1.partition)(entities, (e) => e.isNewEntity)
1362
+ : [[], entities];
1326
1363
  const meta = (0, index_1.getMetadata)(cstr);
1327
1364
  // use allFields so that we get fields from the base type as well
1328
1365
  const relations = Object.entries(meta.allFields)
1329
1366
  // these are all the kinds for concrete (ie, not custom) relations
1367
+ // TODO: support recursive collections
1330
1368
  .filter(([, field]) => ["o2m", "lo2m", "m2o", "m2m", "o2o", "poly"].includes(field.kind))
1331
1369
  .map(([name]) => name);
1332
- entities.forEach((oldEntity) => {
1333
- // each entity could have different loaded status for each relation
1334
- const loadedRelations = relations.filter((field) => oldEntity[field].isLoaded);
1335
- const cache = new Map(loadedRelations.map((field) => [
1336
- field,
1370
+ persistedEntities.forEach((oldEntity) => {
1371
+ const newEntity = findEntity(oldEntity);
1372
+ relations
1373
+ // each entity could have different loaded status for each relation, so we have to filter per entity
1374
+ .filter((field) => oldEntity[field].isLoaded)
1375
+ .forEach((field) => {
1337
1376
  // this should be safe because we are only using loaded relations, and we made sure to copy every entity
1338
1377
  // between ems
1339
- (0, utils_1.toArray)(oldEntity[field].get).map((e) => newEm.#entitiesById.get(e.idTagged)),
1340
- ]));
1341
- newEm.#preloadedRelations.set(oldEntity.idTagged, cache);
1342
- const newEntity = newEm.#entitiesById.get(oldEntity.idTagged);
1343
- // force each relation to preload on the new entity
1344
- loadedRelations.forEach((relation) => newEntity[relation].preload());
1378
+ const entities = (0, utils_1.toArray)(oldEntity[field].get).map((e) => findEntity(e));
1379
+ internalApi.setPreloadedRelation(oldEntity.idTagged, field, entities);
1380
+ newEntity[field].preload();
1381
+ });
1382
+ });
1383
+ unpersistedEntities.forEach((oldEntity) => {
1384
+ const newEntity = findEntity(oldEntity);
1385
+ relations
1386
+ // every relation should be loaded on a new entity, so calling get should be safe
1387
+ .map((field) => [field, oldEntity[field].get])
1388
+ .filter(([, oldValue]) => oldValue !== undefined)
1389
+ .filter(([, oldValue]) => !Array.isArray(oldValue) || oldValue.length > 0)
1390
+ .forEach(([field, oldValue]) => {
1391
+ const newValue = Array.isArray(oldValue) ? oldValue.map((e) => findEntity(e)) : findEntity(oldValue);
1392
+ // we may have already copied over the instance data, in which case `setFromOpts` would detect this as
1393
+ // the same entity that's already set in data and early exit, so delete ourselves from data first
1394
+ delete (0, BaseEntity_1.getInstanceData)(newEntity).data[field];
1395
+ newEntity[field].setFromOpts(newValue);
1396
+ });
1345
1397
  });
1346
1398
  });
1347
1399
  // Inspect the top level keys in the context and replace any references from oldEm with newEm (ie, ctx.em === newEm)
1348
1400
  // while also replacing any entities from oldEm with their version in newEm (eg, if the user is stored in the
1349
1401
  // context, then `ctx.user.em === newEm`).
1350
- const _ctx = ctx;
1351
- Object.entries(_ctx).forEach(([key, value]) => {
1402
+ Object.entries(ctx).forEach(([key, value]) => {
1352
1403
  if ((0, Entity_1.isEntity)(value) && value.em === oldEm) {
1353
- _ctx[key] = newEm.#entitiesById.get(value.idTagged);
1404
+ ctx[key] = findEntity(value);
1354
1405
  }
1355
1406
  else if (value === oldEm) {
1356
- _ctx[key] = newEm;
1407
+ ctx[key] = newEm;
1357
1408
  }
1358
1409
  });
1359
1410
  return newEm;
1360
1411
  }
1412
+ importEntity(source, hint, normalizedHint) {
1413
+ if (source.isNewEntity)
1414
+ (0, utils_1.fail)("cannot import new entities");
1415
+ if (source.isDeletedEntity)
1416
+ (0, utils_1.fail)("cannot import deleted entities");
1417
+ if (source.isDirtyEntity)
1418
+ (0, utils_1.fail)("cannot import dirty entities");
1419
+ hint ??= {};
1420
+ if (!normalizedHint) {
1421
+ (0, index_1.assertLoaded)(source, hint);
1422
+ normalizedHint = (0, index_1.deepNormalizeHint)(hint);
1423
+ }
1424
+ if (source.em === this)
1425
+ return source;
1426
+ const meta = (0, index_1.getMetadata)(source);
1427
+ let result = this.#entitiesById.get(source.idTagged);
1428
+ if (!result) {
1429
+ const meta = (0, index_1.getMetadata)(source);
1430
+ const row = createRowFromEntityData(source);
1431
+ result = this.hydrate((0, index_1.getBaseMeta)(meta).cstr, [row])[0];
1432
+ }
1433
+ const internalApi = getEmInternalApi(this);
1434
+ Object.entries(normalizedHint).forEach(([fieldName, subHint]) => {
1435
+ const field = meta.allFields[fieldName];
1436
+ if (!field) {
1437
+ const property = result[fieldName];
1438
+ let loadHint = property.loadHint ?? (0, utils_1.fail)(`${source}.${fieldName} cannot be imported as it has no loadHint`);
1439
+ this.importEntity(source, loadHint);
1440
+ }
1441
+ else if (["o2m", "lo2m", "m2o", "m2m", "o2o", "poly"].includes(field.kind)) {
1442
+ const entities = (0, utils_1.toArray)(source[fieldName].get).map((e) => this.importEntity(e, subHint, subHint));
1443
+ internalApi.setPreloadedRelation(source.idTagged, fieldName, entities);
1444
+ result[fieldName].preload();
1445
+ }
1446
+ });
1447
+ return result;
1448
+ }
1361
1449
  }
1362
1450
  exports.EntityManager = EntityManager;
1363
1451
  function getEmInternalApi(em) {
@@ -1799,4 +1887,23 @@ function getDefaultWriteFn(ctx) {
1799
1887
  ? ctx.logger.debug.bind(ctx.logger)
1800
1888
  : console.log;
1801
1889
  }
1890
+ // Generates what a row from the db would look like for a given entity
1891
+ function createRowFromEntityData(e) {
1892
+ const { row: oldRow, data, originalData } = (0, BaseEntity_1.getInstanceData)(e);
1893
+ const meta = (0, index_1.getMetadata)(e);
1894
+ const row = meta.inheritanceType === "cti" ? { __class: e.constructor.name } : {};
1895
+ Object.values(meta.allFields)
1896
+ .flatMap((field) => field.serde?.columns.map((column) => [field, column]) ?? [])
1897
+ .forEach(([field, column]) => {
1898
+ const value = field.fieldName in originalData || field.fieldName in data
1899
+ ? // If our field is in originalData, then the field has been changed since flush. Our `row` should
1900
+ // reflect what would have come from the db so use originalData when present
1901
+ column.rowValue(field.fieldName in originalData ? originalData : data)
1902
+ : // data is lazy and isn't set until it's accessed, so if the field isn't present there, then we should
1903
+ // be safe to pull the raw data out of `row`
1904
+ oldRow[column.columnName];
1905
+ row[column.columnName] = value ?? null;
1906
+ });
1907
+ return row;
1908
+ }
1802
1909
  //# sourceMappingURL=EntityManager.js.map