joist-orm 1.114.0 → 1.115.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/src/AliasAssigner.d.ts +6 -0
  2. package/build/src/AliasAssigner.d.ts.map +1 -0
  3. package/build/src/AliasAssigner.js +18 -0
  4. package/build/src/AliasAssigner.js.map +1 -0
  5. package/build/src/Aliases.d.ts +11 -3
  6. package/build/src/Aliases.d.ts.map +1 -1
  7. package/build/src/Aliases.js +25 -9
  8. package/build/src/Aliases.js.map +1 -1
  9. package/build/src/EntityManager.d.ts +17 -3
  10. package/build/src/EntityManager.d.ts.map +1 -1
  11. package/build/src/EntityManager.js +57 -74
  12. package/build/src/EntityManager.js.map +1 -1
  13. package/build/src/HintTree.d.ts +38 -0
  14. package/build/src/HintTree.d.ts.map +1 -0
  15. package/build/src/HintTree.js +47 -0
  16. package/build/src/HintTree.js.map +1 -0
  17. package/build/src/JoinRows.d.ts +2 -0
  18. package/build/src/JoinRows.d.ts.map +1 -1
  19. package/build/src/JoinRows.js +12 -0
  20. package/build/src/JoinRows.js.map +1 -1
  21. package/build/src/QueryParser.d.ts +11 -0
  22. package/build/src/QueryParser.d.ts.map +1 -1
  23. package/build/src/QueryParser.js +11 -3
  24. package/build/src/QueryParser.js.map +1 -1
  25. package/build/src/ReactionsManager.d.ts +24 -0
  26. package/build/src/ReactionsManager.d.ts.map +1 -1
  27. package/build/src/ReactionsManager.js +58 -11
  28. package/build/src/ReactionsManager.js.map +1 -1
  29. package/build/src/dataloaders/loadDataLoader.d.ts +5 -1
  30. package/build/src/dataloaders/loadDataLoader.d.ts.map +1 -1
  31. package/build/src/dataloaders/loadDataLoader.js +30 -21
  32. package/build/src/dataloaders/loadDataLoader.js.map +1 -1
  33. package/build/src/dataloaders/populateDataLoader.d.ts +12 -0
  34. package/build/src/dataloaders/populateDataLoader.d.ts.map +1 -0
  35. package/build/src/dataloaders/populateDataLoader.js +107 -0
  36. package/build/src/dataloaders/populateDataLoader.js.map +1 -0
  37. package/build/src/drivers/buildKnexQuery.d.ts.map +1 -1
  38. package/build/src/drivers/buildKnexQuery.js +3 -0
  39. package/build/src/drivers/buildKnexQuery.js.map +1 -1
  40. package/build/src/index.d.ts +16 -10
  41. package/build/src/index.d.ts.map +1 -1
  42. package/build/src/index.js +23 -10
  43. package/build/src/index.js.map +1 -1
  44. package/build/src/keywords.d.ts +1 -0
  45. package/build/src/keywords.d.ts.map +1 -1
  46. package/build/src/keywords.js +6 -1
  47. package/build/src/keywords.js.map +1 -1
  48. package/build/src/newTestInstance.d.ts +1 -0
  49. package/build/src/newTestInstance.d.ts.map +1 -1
  50. package/build/src/newTestInstance.js +2 -1
  51. package/build/src/newTestInstance.js.map +1 -1
  52. package/build/src/normalizeHints.d.ts +2 -0
  53. package/build/src/normalizeHints.d.ts.map +1 -1
  54. package/build/src/normalizeHints.js +14 -1
  55. package/build/src/normalizeHints.js.map +1 -1
  56. package/build/src/plugins/PreloadPlugin.d.ts +46 -0
  57. package/build/src/plugins/PreloadPlugin.d.ts.map +1 -0
  58. package/build/src/plugins/PreloadPlugin.js +3 -0
  59. package/build/src/plugins/PreloadPlugin.js.map +1 -0
  60. package/build/src/relations/CustomCollection.d.ts.map +1 -1
  61. package/build/src/relations/CustomCollection.js.map +1 -1
  62. package/build/src/relations/CustomReference.d.ts.map +1 -1
  63. package/build/src/relations/CustomReference.js.map +1 -1
  64. package/build/src/relations/ManyToManyCollection.d.ts +3 -0
  65. package/build/src/relations/ManyToManyCollection.d.ts.map +1 -1
  66. package/build/src/relations/ManyToManyCollection.js +15 -7
  67. package/build/src/relations/ManyToManyCollection.js.map +1 -1
  68. package/build/src/relations/ManyToOneReference.d.ts +3 -1
  69. package/build/src/relations/ManyToOneReference.d.ts.map +1 -1
  70. package/build/src/relations/ManyToOneReference.js +35 -8
  71. package/build/src/relations/ManyToOneReference.js.map +1 -1
  72. package/build/src/relations/OneToManyCollection.d.ts +3 -0
  73. package/build/src/relations/OneToManyCollection.d.ts.map +1 -1
  74. package/build/src/relations/OneToManyCollection.js +41 -15
  75. package/build/src/relations/OneToManyCollection.js.map +1 -1
  76. package/build/src/relations/OneToOneReference.d.ts +3 -0
  77. package/build/src/relations/OneToOneReference.d.ts.map +1 -1
  78. package/build/src/relations/OneToOneReference.js +17 -2
  79. package/build/src/relations/OneToOneReference.js.map +1 -1
  80. package/build/src/relations/hasPersistedAsyncProperty.d.ts.map +1 -1
  81. package/build/src/relations/hasPersistedAsyncProperty.js +1 -4
  82. package/build/src/relations/hasPersistedAsyncProperty.js.map +1 -1
  83. package/build/src/serde.d.ts +14 -0
  84. package/build/src/serde.d.ts.map +1 -1
  85. package/build/src/serde.js +38 -0
  86. package/build/src/serde.js.map +1 -1
  87. package/build/src/utils.d.ts +5 -2
  88. package/build/src/utils.d.ts.map +1 -1
  89. package/build/src/utils.js +16 -1
  90. package/build/src/utils.js.map +1 -1
  91. package/build/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +2 -2
@@ -0,0 +1,6 @@
1
+ export declare class AliasAssigner {
2
+ #private;
3
+ constructor();
4
+ getAlias(tableName: string): string;
5
+ }
6
+ //# sourceMappingURL=AliasAssigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AliasAssigner.d.ts","sourceRoot":"","sources":["../../src/AliasAssigner.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;;;IAOxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAMpC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AliasAssigner = void 0;
4
+ const QueryBuilder_1 = require("./QueryBuilder");
5
+ class AliasAssigner {
6
+ #aliases = {};
7
+ constructor() {
8
+ this.getAlias = this.getAlias.bind(this);
9
+ }
10
+ getAlias(tableName) {
11
+ const abbrev = (0, QueryBuilder_1.abbreviation)(tableName);
12
+ const i = this.#aliases[abbrev] || 0;
13
+ this.#aliases[abbrev] = i + 1;
14
+ return i === 0 ? abbrev : `${abbrev}${i}`;
15
+ }
16
+ }
17
+ exports.AliasAssigner = AliasAssigner;
18
+ //# sourceMappingURL=AliasAssigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AliasAssigner.js","sourceRoot":"","sources":["../../src/AliasAssigner.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,aAAa;IACxB,QAAQ,GAA2B,EAAE,CAAC;IAEtC;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AAbD,sCAaC"}
@@ -1,6 +1,6 @@
1
1
  import { Entity } from "./Entity";
2
2
  import { FieldsOf, IdOf, MaybeAbstractEntityConstructor } from "./EntityManager";
3
- import { PolymorphicField } from "./EntityMetadata";
3
+ import { EntityMetadata, Field, PolymorphicField } from "./EntityMetadata";
4
4
  import { ColumnCondition } from "./QueryParser";
5
5
  import { ExpressionFilter } from "./index";
6
6
  /** Creates an alias for complex filtering against `T`. */
@@ -43,8 +43,14 @@ export declare const aliasMgmt: unique symbol;
43
43
  /** Management interface for `QueryParser` to set Alias's canonical alias. */
44
44
  export interface AliasMgmt {
45
45
  tableName: string;
46
- setAlias(alias: string): void;
46
+ setAlias(meta: EntityMetadata<any>, alias: string): void;
47
47
  }
48
+ type ConditionAndAlias = {
49
+ cond: ColumnCondition;
50
+ field: Field & {
51
+ aliasSuffix: string;
52
+ };
53
+ };
48
54
  export declare function newAliasProxy<T extends Entity>(cstr: MaybeAbstractEntityConstructor<T>): Alias<T>;
49
55
  export declare function isAlias(obj: any): obj is Alias<any> & {
50
56
  [aliasMgmt]: AliasMgmt;
@@ -52,7 +58,9 @@ export declare function isAlias(obj: any): obj is Alias<any> & {
52
58
  declare class PolyReferenceAlias<T> {
53
59
  private conditions;
54
60
  private field;
55
- constructor(conditions: ColumnCondition[], field: PolymorphicField);
61
+ constructor(conditions: ConditionAndAlias[], field: PolymorphicField & {
62
+ aliasSuffix: string;
63
+ });
56
64
  eq(value: T | IdOf<T> | null | undefined): ExpressionFilter | ColumnCondition;
57
65
  ne(value: T | IdOf<T> | null | undefined): ExpressionFilter | ColumnCondition;
58
66
  in(values: Array<T | IdOf<T>> | undefined): ExpressionFilter | ColumnCondition;
@@ -1 +1 @@
1
- {"version":3,"file":"Aliases.d.ts","sourceRoot":"","sources":["../../src/Aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aliases.d.ts","sourceRoot":"","sources":["../../src/Aliases.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,20 @@ function newAliasProxy(cstr) {
26
26
  // Give QueryBuilder a hook to assign our actual alias
27
27
  const mgmt = {
28
28
  tableName: meta.tableName,
29
- setAlias(newAlias) {
30
- conditions.forEach((c) => (c.alias = newAlias));
29
+ setAlias(newMeta, newAlias) {
30
+ conditions.forEach(({ cond, field }) => {
31
+ // Do we have mismatched `em.find(ChildMeta)` with a `alias(BaseMeta)`? If so, the
32
+ // usual `${field.aliasSuffix}` won't know it should have a suffix, so we need to calc it.
33
+ if (newMeta !== meta) {
34
+ const bases = (0, EntityMetadata_1.getBaseAndSelfMetas)(newMeta);
35
+ const fieldIsFromBase = bases.includes(newMeta);
36
+ if (fieldIsFromBase) {
37
+ cond.alias = `${newAlias}_b0`;
38
+ return;
39
+ }
40
+ }
41
+ cond.alias = `${newAlias}${field.aliasSuffix}`;
42
+ });
31
43
  },
32
44
  };
33
45
  return new Proxy(cstr, {
@@ -41,9 +53,9 @@ function newAliasProxy(cstr) {
41
53
  case "primaryKey":
42
54
  case "primitive":
43
55
  case "enum":
44
- return new PrimitiveAliasImpl(conditions, field.serde.columns[0]);
56
+ return new PrimitiveAliasImpl(field, conditions, field.serde.columns[0]);
45
57
  case "m2o":
46
- return new EntityAliasImpl(conditions, field.serde.columns[0]);
58
+ return new EntityAliasImpl(field, conditions, field.serde.columns[0]);
47
59
  case "poly":
48
60
  return new PolyReferenceAlias(conditions, field);
49
61
  default:
@@ -59,9 +71,11 @@ function isAlias(obj) {
59
71
  }
60
72
  exports.isAlias = isAlias;
61
73
  class PrimitiveAliasImpl {
74
+ field;
62
75
  conditions;
63
76
  column;
64
- constructor(conditions, column) {
77
+ constructor(field, conditions, column) {
78
+ this.field = field;
65
79
  this.conditions = conditions;
66
80
  this.column = column;
67
81
  }
@@ -134,14 +148,16 @@ class PrimitiveAliasImpl {
134
148
  dbType: this.column.dbType,
135
149
  cond: (0, QueryParser_1.mapToDb)(this.column, value),
136
150
  };
137
- this.conditions.push(cond);
151
+ this.conditions.push({ cond, field: this.field });
138
152
  return cond;
139
153
  }
140
154
  }
141
155
  class EntityAliasImpl {
156
+ field;
142
157
  conditions;
143
158
  column;
144
- constructor(conditions, column) {
159
+ constructor(field, conditions, column) {
160
+ this.field = field;
145
161
  this.conditions = conditions;
146
162
  this.column = column;
147
163
  }
@@ -179,7 +195,7 @@ class EntityAliasImpl {
179
195
  dbType: this.column.dbType,
180
196
  cond: (0, QueryParser_1.mapToDb)(this.column, value),
181
197
  };
182
- this.conditions.push(cond);
198
+ this.conditions.push({ cond, field: this.field });
183
199
  return cond;
184
200
  }
185
201
  }
@@ -235,7 +251,7 @@ class PolyReferenceAlias {
235
251
  dbType: this.field.serde.columns[0].dbType,
236
252
  cond: (0, QueryParser_1.mapToDb)(column, value),
237
253
  };
238
- this.conditions.push(cond);
254
+ this.conditions.push({ cond, field: this.field });
239
255
  return cond;
240
256
  }
241
257
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aliases.js","sourceRoot":"","sources":["../../src/Aliases.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ReactionsManager } from "./ReactionsManager";
6
6
  import { Driver } from "./drivers/Driver";
7
7
  import { DeepPartialOrNull, EntityMetadata, ExpressionFilter, FilterWithAlias, GraphQLFilterWithAlias, Lens, ManyToManyCollection, PartialOrNull, UniqueFilter } from "./index";
8
8
  import { LoadHint, Loaded, New } from "./loadHints";
9
+ import { PreloadPlugin } from "./plugins/PreloadPlugin";
9
10
  import { MaybePromise } from "./utils";
10
11
  /**
11
12
  * The constructor for concrete entity types.
@@ -105,11 +106,15 @@ export declare let currentlyInstantiatingEntity: Entity | undefined;
105
106
  export type EntityManagerHook = "beforeTransaction" | "afterTransaction";
106
107
  type HookFn = (em: EntityManager, knex: Knex.Transaction) => MaybePromise<any>;
107
108
  export type LoaderCache = Record<string, DataLoader<any, any>>;
108
- export type TimestampFields = {
109
+ export interface TimestampFields {
109
110
  updatedAt: string | undefined;
110
111
  createdAt: string | undefined;
111
112
  deletedAt: string | undefined;
112
- };
113
+ }
114
+ export interface EntityManagerOpts {
115
+ driver: Driver;
116
+ preloadPlugin?: PreloadPlugin;
117
+ }
113
118
  export interface FlushOptions {
114
119
  /** Skip all validations, including reactive validations, when flushing */
115
120
  skipValidation?: boolean;
@@ -122,6 +127,7 @@ export declare class EntityManager<C = unknown> {
122
127
  entityLimit: number;
123
128
  private __api;
124
129
  constructor(em: EntityManager<C>);
130
+ constructor(ctx: C, opts: EntityManagerOpts);
125
131
  constructor(ctx: C, driver: Driver);
126
132
  /** Returns a read-only shallow copy of the currently-loaded entities. */
127
133
  get entities(): ReadonlyArray<Entity>;
@@ -444,9 +450,17 @@ export declare class EntityManager<C = unknown> {
444
450
  /** Provides an internal API to the `EntityManager`. */
445
451
  export interface EntityManagerInternalApi {
446
452
  joinRows: (m2m: ManyToManyCollection<any, any>) => JoinRows;
447
- pendingChildren: Map<string, Map<string, Entity[]>>;
453
+ /** Map of taggedId -> fieldName -> pending children. */
454
+ pendingChildren: Map<string, Map<string, {
455
+ adds: Entity[];
456
+ removes: Entity[];
457
+ }>>;
458
+ /** Map of taggedId -> fieldName -> join-loaded data. */
459
+ getPreloadedRelation<U>(taggedId: string, fieldName: string): U[] | undefined;
460
+ setPreloadedRelation<U>(taggedId: string, fieldName: string, children: U[]): void;
448
461
  hooks: Record<EntityManagerHook, HookFn[]>;
449
462
  rm: ReactionsManager;
463
+ preloader: PreloadPlugin | undefined;
450
464
  isValidating: boolean;
451
465
  checkWritesAllowed: () => void;
452
466
  }
@@ -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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"}
@@ -17,11 +17,10 @@ const findCountDataLoader_1 = require("./dataloaders/findCountDataLoader");
17
17
  const findDataLoader_1 = require("./dataloaders/findDataLoader");
18
18
  const findOrCreateDataLoader_1 = require("./dataloaders/findOrCreateDataLoader");
19
19
  const loadDataLoader_1 = require("./dataloaders/loadDataLoader");
20
+ const populateDataLoader_1 = require("./dataloaders/populateDataLoader");
20
21
  const index_1 = require("./index");
21
- const normalizeHints_1 = require("./normalizeHints");
22
22
  const reactiveHints_1 = require("./reactiveHints");
23
23
  const relations_1 = require("./relations");
24
- const hasPersistedAsyncProperty_1 = require("./relations/hasPersistedAsyncProperty");
25
24
  const utils_1 = require("./utils");
26
25
  function isId(value) {
27
26
  return value && typeof value === "string";
@@ -38,6 +37,7 @@ class EntityManager {
38
37
  #entityIndex = new Map();
39
38
  #isValidating = false;
40
39
  #pendingChildren = new Map();
40
+ #preloadedRelations = new Map();
41
41
  /**
42
42
  * Tracks cascade deletes.
43
43
  *
@@ -54,28 +54,48 @@ class EntityManager {
54
54
  /** Ensures our `em.flush` method is not interrupted. */
55
55
  #fl = new FlushLock_1.FlushLock();
56
56
  #hooks = { beforeTransaction: [], afterTransaction: [] };
57
+ #preloader;
57
58
  __api;
58
- constructor(emOrCtx, driver) {
59
+ constructor(emOrCtx, driverOrOpts) {
59
60
  if (emOrCtx instanceof EntityManager) {
60
61
  const em = emOrCtx;
61
62
  this.driver = em.driver;
63
+ this.#preloader = em.#preloader;
62
64
  this.#hooks = {
63
65
  beforeTransaction: [...em.#hooks.beforeTransaction],
64
66
  afterTransaction: [...em.#hooks.afterTransaction],
65
67
  };
66
68
  this.ctx = em.ctx;
67
69
  }
70
+ else if (driverOrOpts && "executeFind" in driverOrOpts) {
71
+ this.ctx = emOrCtx;
72
+ this.driver = driverOrOpts;
73
+ this.#preloader = undefined;
74
+ }
68
75
  else {
69
76
  this.ctx = emOrCtx;
70
- this.driver = driver;
77
+ this.driver = driverOrOpts.driver;
78
+ this.#preloader = driverOrOpts.preloadPlugin;
71
79
  }
72
80
  // Expose some of our private fields as the EntityManagerInternalApi
73
81
  const em = this;
74
82
  this.__api = {
83
+ preloader: this.#preloader,
75
84
  joinRows(m2m) {
76
85
  return (0, utils_1.getOrSet)(em.#joinRows, m2m.joinTableName, () => new JoinRows_1.JoinRows(m2m, em.#rm));
77
86
  },
78
87
  pendingChildren: this.#pendingChildren,
88
+ getPreloadedRelation(taggedId, fieldName) {
89
+ return em.#preloadedRelations.get(taggedId)?.get(fieldName);
90
+ },
91
+ setPreloadedRelation(taggedId, fieldName, children) {
92
+ let map = em.#preloadedRelations.get(taggedId);
93
+ if (!map) {
94
+ map = new Map();
95
+ em.#preloadedRelations.set(taggedId, map);
96
+ }
97
+ map.set(fieldName, children);
98
+ },
79
99
  hooks: this.#hooks,
80
100
  rm: this.#rm,
81
101
  get isValidating() {
@@ -313,7 +333,7 @@ class EntityManager {
313
333
  }
314
334
  const meta = (0, index_1.getMetadata)(type);
315
335
  const tagged = (0, index_1.tagId)(meta, id);
316
- const entity = this.findExistingInstance(tagged) || (await (0, loadDataLoader_1.loadDataLoader)(this, meta).load(tagged));
336
+ const entity = this.findExistingInstance(tagged) || (await (0, loadDataLoader_1.loadDataLoader)(this, meta).load({ entity: tagged, hint }));
317
337
  if (!entity) {
318
338
  throw new NotFoundError(`${tagged} was not found`);
319
339
  }
@@ -326,9 +346,9 @@ class EntityManager {
326
346
  const meta = (0, index_1.getMetadata)(type);
327
347
  const ids = _ids.map((id) => (0, index_1.tagId)(meta, id));
328
348
  const entities = await Promise.all(ids.map((id) => {
329
- return this.findExistingInstance(id) || (0, loadDataLoader_1.loadDataLoader)(this, meta).load(id);
349
+ return this.findExistingInstance(id) || (0, loadDataLoader_1.loadDataLoader)(this, meta).load({ entity: id, hint });
330
350
  }));
331
- const idsNotFound = ids.filter((id, i) => entities[i] === undefined);
351
+ const idsNotFound = ids.filter((_, i) => entities[i] === undefined);
332
352
  if (idsNotFound.length > 0) {
333
353
  throw new NotFoundError(`${idsNotFound.join(",")} were not found`);
334
354
  }
@@ -341,7 +361,7 @@ class EntityManager {
341
361
  const meta = (0, index_1.getMetadata)(type);
342
362
  const ids = _ids.map((id) => (0, index_1.tagId)(meta, id));
343
363
  const entities = (await Promise.all(ids.map((id) => {
344
- return this.findExistingInstance(id) || (0, loadDataLoader_1.loadDataLoader)(this, meta).load(id);
364
+ return this.findExistingInstance(id) || (0, loadDataLoader_1.loadDataLoader)(this, meta).load({ entity: id, hint });
345
365
  }))).filter(Boolean);
346
366
  if (hint) {
347
367
  await this.populate(entities, hint);
@@ -375,10 +395,8 @@ class EntityManager {
375
395
  }
376
396
  return entities;
377
397
  }
378
- populate(entityOrList, hintOrOpts, fn) {
379
- const { hint: hintOpt, ...opts } =
380
- // @ts-ignore for some reason TS thinks `"hint" in hintOrOpts` is operating on a primitive
381
- typeof hintOrOpts === "object" && "hint" in hintOrOpts ? hintOrOpts : { hint: hintOrOpts };
398
+ async populate(entityOrList, hintOrOpts, fn) {
399
+ const { hint: hintOpt, ...opts } = typeof hintOrOpts === "object" && "hint" in hintOrOpts ? hintOrOpts : { hint: hintOrOpts };
382
400
  // Tell `AsyncMethodImpl.load` to not invoke its function
383
401
  opts["populate"] = true;
384
402
  // I'm tempted to throw an error here, because at least internal callers should ideally pre-check
@@ -388,62 +406,25 @@ class EntityManager {
388
406
  if (list.length === 0) {
389
407
  return !fn ? entityOrList : fn(entityOrList);
390
408
  }
391
- // If a bunch of `.load`s get called in parallel for the same entity type + load hint, dedup them down
392
- // to a single promise to avoid making more and more promises with each level/fan-out of a nested load hint.
393
- const batchKey = `${list[0]?.__orm.metadata.tagName}-${JSON.stringify(hintOpt)}-${opts.forceReload}`;
394
- const loader = this.getLoader("populate", batchKey, (batch) => {
395
- // Because we're using `{ cache: false }`, we could have dups in the list, so unique
396
- const list = [...new Set(batch)];
397
- const hints = Object.entries((0, normalizeHints_1.normalizeHint)(hintOpt));
398
- // One breadth-width pass to ensure each relation is loaded
399
- const loadPromises = list.flatMap((entity) => {
400
- return hints.map(([key]) => {
401
- const relation = entity[key];
402
- if (!relation || typeof relation.load !== "function") {
403
- throw new Error(`Invalid load hint '${key}' on ${entity}`);
404
- }
405
- // If we're populating a hasPersistedAsyncProperty, and find an upstream
406
- // property that we ourselves depend on, don't bother loading it if it's
407
- // already been calculated (i.e. we have no reason to believe its value
408
- // is stale, so we should avoid pulling all of its data into memory).
409
- //
410
- // But if it's _not_ previously set, i.e. b/c the entity itself is a new entity,
411
- // then go ahead and call `.load()` so that the downstream reactive calc can
412
- // call `.get` to evaluate its derived value.
413
- if (opts.isPersistedAsyncPropertyLoad &&
414
- relation instanceof hasPersistedAsyncProperty_1.PersistedAsyncPropertyImpl &&
415
- relation.isSet)
416
- return;
417
- return relation.isLoaded && !opts.forceReload ? undefined : relation.load(opts);
418
- });
419
- });
420
- // 2nd breadth-width pass to do nested load hints
421
- return Promise.all(loadPromises).then(() => {
422
- const nestedLoadPromises = hints.map(([key, nestedHint]) => {
423
- if (Object.keys(nestedHint).length === 0)
424
- return;
425
- // Unique for good measure?...
426
- const children = [...new Set(list.map((entity) => (0, utils_1.toArray)(getEvenDeleted(entity[key]))).flat())];
427
- if (children.length === 0)
428
- return;
429
- return this.populate(children, { hint: nestedHint, ...opts });
430
- });
431
- // After the nested hints are done, echo back the original now-loaded list
432
- return Promise.all(nestedLoadPromises).then(() => batch);
433
- });
434
- },
435
- // We always disable caching, because during a UoW, having called `populate(author, nestedHint1)`
436
- // once doesn't mean that, on the 2nd call to `populate(author, nestedHint1)`, we can completely
437
- // skip it b/c author's relations may have been changed/mutated to different not-yet-loaded
438
- // entities.
439
- //
440
- // Even though having `{ cache: false }` looks weird here, i.e. why use dataloader at all?, it
441
- // still helps us fan-in resolvers callers that are happening ~simultaneously into the same
442
- // effort.
443
- { cache: false });
444
- // Purposefully use `then` instead of `async` as an optimization; avoid using loader.loadMany so
445
- // that we don't have to check its allSettled-style `Array<V | Error>` return value for errors.
446
- return Promise.all(list.map((entity) => loader.load(entity))).then(() => fn ? fn(entityOrList) : entityOrList);
409
+ const meta = list[0]?.__orm.metadata;
410
+ if (this.#preloader) {
411
+ // If we can preload, prevent promise deadlocking by one large-batch preload populate (which can't have
412
+ // intra dependencies), then a 2nd small-batch non-preload populate.
413
+ const [preload, non] = this.#preloader.partitionHint(meta, hintOpt);
414
+ if (preload) {
415
+ const loader = (0, populateDataLoader_1.populateDataLoader)(this, meta, preload, "preload", opts);
416
+ await Promise.all(list.map((entity) => loader.load({ entity, hint: preload })));
417
+ }
418
+ if (non) {
419
+ const loader = (0, populateDataLoader_1.populateDataLoader)(this, meta, non, "intermixed", opts);
420
+ await Promise.all(list.map((entity) => loader.load({ entity, hint: non })));
421
+ }
422
+ }
423
+ else {
424
+ const loader = (0, populateDataLoader_1.populateDataLoader)(this, meta, hintOpt, "intermixed", opts);
425
+ await Promise.all(list.map((entity) => loader.load({ entity, hint: hintOpt })));
426
+ }
427
+ return fn ? fn(entityOrList) : entityOrList;
447
428
  }
448
429
  // For debugging EntityManager.populate.test.ts's "can be huge"
449
430
  // populates: Record<string, number> = {};
@@ -648,6 +629,7 @@ class EntityManager {
648
629
  }
649
630
  async refresh(param) {
650
631
  this.#dataloaders = {};
632
+ this.#preloadedRelations = new Map();
651
633
  const deepLoad = param && "deepLoad" in param && param.deepLoad;
652
634
  let todo = param === undefined ? this.#entities : Array.isArray(param) ? param : (0, Entity_1.isEntity)(param) ? [param] : this.#entities;
653
635
  const done = new Set();
@@ -655,10 +637,15 @@ class EntityManager {
655
637
  const copy = [...todo];
656
638
  copy.forEach((e) => done.add(e));
657
639
  todo = [];
658
- // Clear the original cached loader result and fetch the new primitives
659
640
  const entities = await Promise.all(copy
660
641
  .filter((e) => e.idTaggedMaybe)
661
- .map((entity) => (0, loadDataLoader_1.loadDataLoader)(this, (0, index_1.getMetadata)(entity)).load(entity.idTagged)));
642
+ .map((entity) => {
643
+ // Pass these as a hint to potentially preload them
644
+ const hint = (0, index_1.getRelationEntries)(entity)
645
+ .filter(([_, r]) => deepLoad || r.isLoaded)
646
+ .map(([k]) => k);
647
+ return (0, loadDataLoader_1.loadDataLoader)(this, (0, index_1.getMetadata)(entity)).load({ entity: entity.idTagged, hint });
648
+ }));
662
649
  // Then refresh any non-deleted loaded collections
663
650
  const relations = entities
664
651
  .filter((e) => e && e.__orm.deleted === undefined)
@@ -1078,10 +1065,6 @@ function isDefined(param) {
1078
1065
  return param !== null && param !== undefined;
1079
1066
  }
1080
1067
  exports.isDefined = isDefined;
1081
- /** Probes `relation` to see if it's a m2o/o2m/m2m relation that supports `getWithDeleted`, otherwise calls `get`. */
1082
- function getEvenDeleted(relation) {
1083
- return "getWithDeleted" in relation ? relation.getWithDeleted : relation.get;
1084
- }
1085
1068
  function getCascadeDeleteRelations(entity) {
1086
1069
  return (0, index_1.getAllMetas)((0, index_1.getMetadata)(entity)).flatMap((meta) => {
1087
1070
  return meta.config.__data.cascadeDeleteFields.map((fieldName) => entity[fieldName]);