joist-core 2.1.0-next.9 → 2.2.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 (152) hide show
  1. package/build/ConditionBuilder.d.ts +1 -22
  2. package/build/ConditionBuilder.d.ts.map +1 -1
  3. package/build/ConditionBuilder.js +6 -72
  4. package/build/ConditionBuilder.js.map +1 -1
  5. package/build/EntityFilter.d.ts +2 -0
  6. package/build/EntityFilter.d.ts.map +1 -1
  7. package/build/EntityGraphQLFilter.d.ts +2 -0
  8. package/build/EntityGraphQLFilter.d.ts.map +1 -1
  9. package/build/EntityGraphQLFilter.js.map +1 -1
  10. package/build/EntityManager.d.ts +5 -0
  11. package/build/EntityManager.d.ts.map +1 -1
  12. package/build/EntityManager.js +51 -26
  13. package/build/EntityManager.js.map +1 -1
  14. package/build/EntityMetadata.d.ts +2 -0
  15. package/build/EntityMetadata.d.ts.map +1 -1
  16. package/build/EntityMetadata.js.map +1 -1
  17. package/build/InstanceData.d.ts +7 -1
  18. package/build/InstanceData.d.ts.map +1 -1
  19. package/build/InstanceData.js +36 -7
  20. package/build/InstanceData.js.map +1 -1
  21. package/build/IsLoadedCache.d.ts +1 -1
  22. package/build/IsLoadedCache.d.ts.map +1 -1
  23. package/build/IsLoadedCache.js +6 -1
  24. package/build/IsLoadedCache.js.map +1 -1
  25. package/build/JoinRows.d.ts +1 -1
  26. package/build/JoinRows.js +6 -1
  27. package/build/JoinRows.js.map +1 -1
  28. package/build/PluginManager.d.ts +12 -0
  29. package/build/PluginManager.d.ts.map +1 -1
  30. package/build/PluginManager.js +18 -2
  31. package/build/PluginManager.js.map +1 -1
  32. package/build/QueryParser.collectionJoins.d.ts +27 -0
  33. package/build/QueryParser.collectionJoins.d.ts.map +1 -0
  34. package/build/QueryParser.collectionJoins.js +460 -0
  35. package/build/QueryParser.collectionJoins.js.map +1 -0
  36. package/build/QueryParser.collectionJoins.test.d.ts +2 -0
  37. package/build/QueryParser.collectionJoins.test.d.ts.map +1 -0
  38. package/build/QueryParser.collectionJoins.test.js +772 -0
  39. package/build/QueryParser.collectionJoins.test.js.map +1 -0
  40. package/build/QueryParser.d.ts +62 -9
  41. package/build/QueryParser.d.ts.map +1 -1
  42. package/build/QueryParser.js +39 -33
  43. package/build/QueryParser.js.map +1 -1
  44. package/build/QueryParser.pruning.d.ts +4 -2
  45. package/build/QueryParser.pruning.d.ts.map +1 -1
  46. package/build/QueryParser.pruning.js +80 -10
  47. package/build/QueryParser.pruning.js.map +1 -1
  48. package/build/QueryParser.pruning.test.d.ts +2 -0
  49. package/build/QueryParser.pruning.test.d.ts.map +1 -0
  50. package/build/QueryParser.pruning.test.js +106 -0
  51. package/build/QueryParser.pruning.test.js.map +1 -0
  52. package/build/QueryVisitor.d.ts.map +1 -1
  53. package/build/QueryVisitor.js +22 -0
  54. package/build/QueryVisitor.js.map +1 -1
  55. package/build/ReactionsManager.js +2 -2
  56. package/build/batchloaders/BatchLoader.d.ts.map +1 -1
  57. package/build/batchloaders/BatchLoader.js +4 -1
  58. package/build/batchloaders/BatchLoader.js.map +1 -1
  59. package/build/changes.d.ts.map +1 -1
  60. package/build/changes.js +1 -4
  61. package/build/changes.js.map +1 -1
  62. package/build/config.d.ts.map +1 -1
  63. package/build/config.js +18 -10
  64. package/build/config.js.map +1 -1
  65. package/build/configure.js +2 -2
  66. package/build/dataloaders/findCountDataLoader.js +2 -2
  67. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  68. package/build/dataloaders/findIdsDataLoader.js +2 -2
  69. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  70. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
  71. package/build/dataloaders/findOrCreateDataLoader.js +6 -1
  72. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  73. package/build/defaults.d.ts.map +1 -1
  74. package/build/defaults.js +49 -42
  75. package/build/defaults.js.map +1 -1
  76. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  77. package/build/drivers/buildRawQuery.js +3 -2
  78. package/build/drivers/buildRawQuery.js.map +1 -1
  79. package/build/drivers/buildUtils.d.ts +7 -2
  80. package/build/drivers/buildUtils.d.ts.map +1 -1
  81. package/build/drivers/buildUtils.js +14 -5
  82. package/build/drivers/buildUtils.js.map +1 -1
  83. package/build/fields.d.ts.map +1 -1
  84. package/build/fields.js +16 -7
  85. package/build/fields.js.map +1 -1
  86. package/build/index.d.ts +2 -1
  87. package/build/index.d.ts.map +1 -1
  88. package/build/index.js +7 -5
  89. package/build/index.js.map +1 -1
  90. package/build/json.d.ts +3 -3
  91. package/build/json.d.ts.map +1 -1
  92. package/build/json.js +4 -4
  93. package/build/json.js.map +1 -1
  94. package/build/loadHints.d.ts +4 -4
  95. package/build/loadHints.d.ts.map +1 -1
  96. package/build/loadLens.js +1 -1
  97. package/build/loadLens.js.map +1 -1
  98. package/build/preloading/JsonAggregatePreloader.js +6 -2
  99. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  100. package/build/reactiveHints.d.ts +24 -7
  101. package/build/reactiveHints.d.ts.map +1 -1
  102. package/build/reactiveHints.js +45 -28
  103. package/build/reactiveHints.js.map +1 -1
  104. package/build/relations/AbstractRelationImpl.d.ts +7 -2
  105. package/build/relations/AbstractRelationImpl.d.ts.map +1 -1
  106. package/build/relations/AbstractRelationImpl.js.map +1 -1
  107. package/build/relations/AsyncProperty.d.ts +36 -0
  108. package/build/relations/AsyncProperty.d.ts.map +1 -0
  109. package/build/relations/AsyncProperty.js +80 -0
  110. package/build/relations/AsyncProperty.js.map +1 -0
  111. package/build/relations/{ReactiveQueryField.d.ts → AsyncReactiveField.d.ts} +10 -10
  112. package/build/relations/AsyncReactiveField.d.ts.map +1 -0
  113. package/build/relations/{ReactiveQueryField.js → AsyncReactiveField.js} +19 -19
  114. package/build/relations/{ReactiveQueryField.js.map → AsyncReactiveField.js.map} +1 -1
  115. package/build/relations/ReactiveField.d.ts +7 -9
  116. package/build/relations/ReactiveField.d.ts.map +1 -1
  117. package/build/relations/ReactiveField.js +5 -10
  118. package/build/relations/ReactiveField.js.map +1 -1
  119. package/build/relations/ReactiveGetter.d.ts +5 -5
  120. package/build/relations/ReactiveGetter.d.ts.map +1 -1
  121. package/build/relations/ReactiveGetter.js +3 -3
  122. package/build/relations/ReactiveGetter.js.map +1 -1
  123. package/build/relations/ReactiveReference.d.ts +2 -2
  124. package/build/relations/ReactiveReference.d.ts.map +1 -1
  125. package/build/relations/ReactiveReference.js +100 -36
  126. package/build/relations/ReactiveReference.js.map +1 -1
  127. package/build/relations/{hasAsyncProperty.d.ts → hasProperty.d.ts} +12 -12
  128. package/build/relations/hasProperty.d.ts.map +1 -0
  129. package/build/relations/{hasAsyncProperty.js → hasProperty.js} +20 -20
  130. package/build/relations/hasProperty.js.map +1 -0
  131. package/build/relations/index.d.ts +3 -2
  132. package/build/relations/index.d.ts.map +1 -1
  133. package/build/relations/index.js +16 -11
  134. package/build/relations/index.js.map +1 -1
  135. package/build/resurrection.d.ts +10 -0
  136. package/build/resurrection.d.ts.map +1 -0
  137. package/build/resurrection.js +93 -0
  138. package/build/resurrection.js.map +1 -0
  139. package/build/rules.js +3 -3
  140. package/build/trusted.d.ts +1 -1
  141. package/build/trusted.d.ts.map +1 -1
  142. package/build/trusted.js +1 -1
  143. package/build/trusted.js.map +1 -1
  144. package/build/upsert.d.ts.map +1 -1
  145. package/build/upsert.js +26 -10
  146. package/build/upsert.js.map +1 -1
  147. package/build/withLoaded.js +5 -5
  148. package/build/withLoaded.js.map +1 -1
  149. package/package.json +9 -9
  150. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  151. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  152. package/build/relations/hasAsyncProperty.js.map +0 -1
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.reverseReactiveHint = reverseReactiveHint;
4
4
  exports.followReverseHint = followReverseHint;
5
5
  exports.convertToLoadHint = convertToLoadHint;
6
+ exports.isTypeOrSubType = isTypeOrSubType;
6
7
  exports.isPolyHint = isPolyHint;
7
8
  exports.splitPolyHintToKeyAndType = splitPolyHintToKeyAndType;
8
9
  exports.getRelationFromMaybePolyKey = getRelationFromMaybePolyKey;
10
+ const BaseEntity_1 = require("./BaseEntity");
11
+ const Entity_1 = require("./Entity");
9
12
  const EntityManager_1 = require("./EntityManager");
10
13
  const EntityMetadata_1 = require("./EntityMetadata");
11
- const configure_1 = require("./configure");
12
- const fields_1 = require("./fields");
13
14
  const getProperties_1 = require("./getProperties");
14
15
  const normalizeHints_1 = require("./normalizeHints");
15
16
  const relations_1 = require("./relations");
@@ -94,7 +95,7 @@ function reverseSubHint(rootType, entityType, hint, meta, fields, readOnlyFields
94
95
  // table), for m2m reactivity we push the collection name into the reactive hint, because it's effectively
95
96
  // "the other/reverse side", and JoinRows will trigger `queueDownstreamReactables` explicitly, instead of
96
97
  // `setField` which handles regular/non-m2m mutations.
97
- fields.push(field.fieldName);
98
+ _fields.push(field.fieldName);
98
99
  const otherFieldName = maybeAddTypeFilterSuffix(meta, field);
99
100
  return reverseReactiveHint(rootType, field.otherMetadata().cstr, subHint,
100
101
  // For m2m, we can always pass undefined here, as otherwise having the opposite m2m collection
@@ -126,20 +127,20 @@ function reverseSubHint(rootType, entityType, hint, meta, fields, readOnlyFields
126
127
  }
127
128
  }
128
129
  else {
129
- // We only need to look for ReactiveAsyncProperties here, because ReactiveFields & ReactiveReferences
130
+ // We only need to look for ReactiveProperties here, because ReactiveFields & ReactiveReferences
130
131
  // have underlying primitive fields that, when/if they change, will be handled in the ^ code.
131
132
  //
132
133
  // I.e. we specifically don't need to handle RFs & RRs ^, because the EntityManager.flush loop will
133
134
  // notice their primitive values changing, and kicking off any downstream reactive fields as necessary.
134
135
  const p = (0, getProperties_1.getProperties)(meta)[key];
135
- if (p instanceof relations_1.AsyncPropertyImpl) {
136
+ if (p instanceof relations_1.PropertyImpl) {
136
137
  // If the field is marked as readonly (i.e. using the `_ro` suffix), then we can assume that applies to its
137
138
  // entire hint as well and can simply omit it. This also allows us to use non-reactive async props as long as
138
139
  // they are readonly.
139
140
  if (isReadOnly)
140
141
  return [];
141
142
  if (!p.reactiveHint) {
142
- throw new Error(`AsyncProperty ${key} cannot be used in reactive hints in ${rootType.name}.ts hint ${JSON.stringify(hint)}, please use hasReactiveAsyncProperty instead`);
143
+ throw new Error(`Property ${key} cannot be used in reactive hints in ${rootType.name}.ts hint ${JSON.stringify(hint)}, please use hasReactiveProperty instead`);
143
144
  }
144
145
  return reverseReactiveHint(rootType, meta.cstr, p.reactiveHint, undefined, false, false);
145
146
  }
@@ -215,7 +216,7 @@ function reverseSubHint(rootType, entityType, hint, meta, fields, readOnlyFields
215
216
  const { otherFieldName, m2mFieldName } = p;
216
217
  // When a join row changes (e.g. parents collection is mutated), notify both this entity
217
218
  // and its transitive children/parents via otherFieldName
218
- fields.push(m2mFieldName);
219
+ _fields.push(m2mFieldName);
219
220
  maybeRecursive.push({
220
221
  kind: isReadOnly ? "read-only" : "update",
221
222
  entity: entityType,
@@ -255,7 +256,7 @@ function maybeAddTypeFilterSuffix(meta, field) {
255
256
  * I.e. given `[book1, book2]` and `["author", 'publisher"]`, will return all the books' authors' publishers.
256
257
  *
257
258
  * Note that for references (and only references), we walk both through "the current value"
258
- * and "the original value". This is fundamentally because references are the true "owner"
259
+ * and prior values remembered in `referenceHistory`. This is fundamentally because references are the true "owner"
259
260
  * of the relation, while collections are derived.
260
261
  *
261
262
  * For example, with reversals walking through collections:
@@ -270,8 +271,18 @@ function maybeAddTypeFilterSuffix(meta, field) {
270
271
  *
271
272
  * - Given a hint `author: { books: "title" }`
272
273
  * - Which reverses to `book[title] -> author`
273
- * - When we traverse through `b1.author`, we use both the current value and original value, so that both
274
- * "our prior author" and "our new author" see their latest `author.books` collection values.
274
+ * - When we traverse through `b1.author`, we use both the current value and remembered values, so that both
275
+ * "our prior authors" and "our new author" see their latest `author.books` collection values.
276
+ *
277
+ * Delete cleanup runs before reverse hints are walked, so the current relation value may already be unset by the
278
+ * time we get here. For persisted entities, `cleanupOnEntityDeleted` clears the owning FK via `setField`, which
279
+ * remembers the prior FK in `referenceHistory`; this lets us still find the old owner. For collection reversals
280
+ * this is enough because collections are derived from the owning FK: removing `b1` from `a1.books` is represented
281
+ * by `b1.author` changing, not by an independent "old books" snapshot.
282
+ *
283
+ * References can also have transient values during a unit of work, i.e. a ReactiveField might observe `b1.author=a2`
284
+ * before the final flush changes it to `a3`. `setField` remembers both original and transient reference values
285
+ * separately from `originalData`, and we walk them in addition to the current value.
275
286
  */
276
287
  async function followReverseHint(reactionName, entities, reverseHint) {
277
288
  // Start at the current (unique) entities
@@ -307,10 +318,11 @@ async function followReverseHint(reactionName, entities, reverseHint) {
307
318
  const fieldKind = (0, EntityMetadata_1.getMetadata)(c).fields[fieldName]?.kind;
308
319
  const isReference = fieldKind === "m2o" || fieldKind === "poly";
309
320
  const isManyToMany = fieldKind === "m2m";
310
- const changed = (0, fields_1.isChangeableField)(c, fieldName) ? c.changes[fieldName] : undefined;
311
321
  // See jsdoc comment about why this is only necessary for references...
312
- if (isReference && changed && changed.hasUpdated && changed.originalValue) {
313
- promises.push(maybeApplyTypeFilter(changed.originalEntity, viaType));
322
+ if (isReference) {
323
+ for (const value of (0, BaseEntity_1.getInstanceData)(c).getReferenceHistory(fieldName)) {
324
+ promises.push(maybeApplyTypeFilter(loadReferenceHistoryValue(c, value), viaType));
325
+ }
314
326
  }
315
327
  if (isManyToMany) {
316
328
  const m2m = c[fieldName];
@@ -321,11 +333,12 @@ async function followReverseHint(reactionName, entities, reverseHint) {
321
333
  // Walk up the old parents
322
334
  if (relation instanceof RecursiveCollection_1.RecursiveParentsCollectionImpl) {
323
335
  const { m2oFieldName } = relation;
324
- const changed = (0, fields_1.isChangeableField)(c, m2oFieldName) ? c.changes[m2oFieldName] : undefined;
325
- if (changed && changed.hasUpdated && changed.originalValue) {
336
+ for (const value of (0, BaseEntity_1.getInstanceData)(c).getReferenceHistory(m2oFieldName)) {
326
337
  promises.push(
327
- // First load the original parent itself
328
- changed.originalEntity.then((oldParent) => {
338
+ // First load the old parent itself
339
+ loadReferenceHistoryValue(c, value).then((oldParent) => {
340
+ if (!oldParent)
341
+ return undefined;
329
342
  // And then resolve its fieldName=parentsRecursive
330
343
  const oldParentRecursiveParents = oldParent[fieldName];
331
344
  return oldParentRecursiveParents.load().then((parents) => {
@@ -425,19 +438,23 @@ function maybeApplyTypeFilter(loadPromise, viaType) {
425
438
  }
426
439
  return loadPromise;
427
440
  }
428
- /** Handle `viaType` filtering with subtype awareness. */
441
+ /** Loads a remembered reference value so reverse-hint walking can revisit it. */
442
+ function loadReferenceHistoryValue(entity, value) {
443
+ if ((0, Entity_1.isEntity)(value))
444
+ return Promise.resolve(value);
445
+ if ((0, EntityManager_1.isId)(value))
446
+ return entity.em.load(value);
447
+ return Promise.resolve(undefined);
448
+ }
449
+ /** Returns true if `entity` is exactly `typeName` or a subtype of `typeName`.
450
+ *
451
+ * Used to honor poly/type filters like `@Publisher` during reverse-hint walks:
452
+ * a `SmallPublisher` entity should pass an `@Publisher` filter because it is
453
+ * a Publisher via inheritance.
454
+ */
429
455
  function isTypeOrSubType(entity, typeName) {
430
456
  const meta = (0, EntityMetadata_1.getMetadata)(entity);
431
- // Easy check for the name is the same
432
- if (meta.type === typeName)
433
- return true;
434
- // Otherwise see if the entity is a subtype of the typeName, i.e. if our poly/type
435
- // filter is `@Publisher`, and we're a `SmallPublisher`, that's valid to traverse.
436
- for (const other of (0, EntityMetadata_1.getSubMetas)((0, configure_1.getMetadataForType)(typeName))) {
437
- if (other.type === typeName)
438
- return true;
439
- }
440
- return false;
457
+ return meta.type === typeName || meta.baseTypes.some((b) => b.type === typeName);
441
458
  }
442
459
  function isPolyHint(key) {
443
460
  return key.includes("@");
@@ -1 +1 @@
1
- {"version":3,"file":"reactiveHints.js","sourceRoot":"","sources":["../src/reactiveHints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactiveHints.js","sourceRoot":"","sources":["../src/reactiveHints.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,13 @@ export declare abstract class AbstractRelationImpl<T, U> extends AbstractPropert
20
20
  abstract preload(): void;
21
21
  abstract get get(): U | undefined;
22
22
  /**
23
- * Called when our entity has been `EntityManager.delete`'d _and_ `EntityManager.flush` is being called,
24
- * so we can unset any foreign keys to the being-deleted entity and clear out any pointers to it.
23
+ * Called when our entity has been `em.delete`-d and then `em.flush` is being called,
24
+ * so we can unset any foreign keys to the being-deleted entity and clear out any pointers
25
+ * to it. I.e.:
26
+ *
27
+ * - `em.delete(author)`
28
+ * - `em.flush` loads all `author.books`
29
+ * - Unsets their `book.author` to let their validation rules know
25
30
  */
26
31
  abstract cleanupOnEntityDeleted(): Promise<void>;
27
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRelationImpl.d.ts","sourceRoot":"","sources":["../../src/relations/AbstractRelationImpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAClE,MAAM,EAAE,CAAC;IAIrB,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAEpC,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAE5B,uCAAuC;IACvC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC;IAEjC,0CAA0C;IAC1C,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAE7D,iEAAiE;IACjE,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB,QAAQ,KAAK,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,IAAI;IAEnC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAIpG"}
1
+ {"version":3,"file":"AbstractRelationImpl.d.ts","sourceRoot":"","sources":["../../src/relations/AbstractRelationImpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;gBAClE,MAAM,EAAE,CAAC;IAIrB,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAEpC,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAE5B,uCAAuC;IACvC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC;IAEjC,0CAA0C;IAC1C,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAE7D,iEAAiE;IACjE,QAAQ,CAAC,OAAO,IAAI,IAAI;IAExB,QAAQ,KAAK,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAElC;;;;;;;;OAQG;IACH,QAAQ,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,IAAI;IAEnC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAIpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRelationImpl.js","sourceRoot":"","sources":["../../src/relations/AbstractRelationImpl.ts"],"names":[],"mappings":";;;AA+CA,0CAIC;AAnDD,sDAAqE;AACrE,iEAA8D;AAE9D;;GAEG;AACH,MAAsB,oBAA2B,SAAQ,2CAAuB;IAC9E,YAAY,MAAS;QACnB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CAoCF;AAvCD,oDAuCC;AAED,SAAgB,eAAe,CAAC,QAAwC,EAAE,SAAiB;IACzF,OAAO,IAAA,oCAAmB,EAAC,IAAA,4BAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAgB,CAAC,CAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AbstractRelationImpl.js","sourceRoot":"","sources":["../../src/relations/AbstractRelationImpl.ts"],"names":[],"mappings":";;;AAoDA,0CAIC;AAxDD,sDAAqE;AACrE,iEAA8D;AAE9D;;GAEG;AACH,MAAsB,oBAA2B,SAAQ,2CAAuB;IAC9E,YAAY,MAAS;QACnB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CAyCF;AA5CD,oDA4CC;AAED,SAAgB,eAAe,CAAC,QAAwC,EAAE,SAAiB;IACzF,OAAO,IAAA,oCAAmB,EAAC,IAAA,4BAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAgB,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { Entity } from "../Entity";
2
+ import { AbstractPropertyImpl } from "./AbstractPropertyImpl";
3
+ import { Property, PropertyT } from "./hasProperty";
4
+ export interface AsyncProperty<T extends Entity, V> extends Property<T, V> {
5
+ load(opts?: {
6
+ forceReload?: boolean;
7
+ }): Promise<V>;
8
+ }
9
+ /**
10
+ * Creates a derived value calculated from a SQL query.
11
+ *
12
+ * Unlike `hasProperty`, the lambda receives the entity and is expected
13
+ * to perform its own SQL queries rather than relying on in-memory graph data.
14
+ *
15
+ * - For new (un-flushed) entities, `load` throws because the entity has no id yet.
16
+ * - The result is cached until the next `em.flush`.
17
+ */
18
+ export declare function hasAsyncProperty<T extends Entity, V>(fn: (entity: T) => Promise<V>): Property<T, V>;
19
+ export declare class AsyncPropertyImpl<T extends Entity, V> extends AbstractPropertyImpl<T> implements AsyncProperty<T, V> {
20
+ #private;
21
+ private fn;
22
+ constructor(entity: T, fn: (entity: T) => Promise<V>);
23
+ load(opts?: {
24
+ forceReload?: boolean;
25
+ }): Promise<V>;
26
+ get get(): V;
27
+ get isLoaded(): boolean;
28
+ /** Called after em.flush to invalidate the cached value. */
29
+ resetAfterFlush(): void;
30
+ [PropertyT]: T;
31
+ }
32
+ /** Type guard utility for determining if an entity field is an AsyncProperty. */
33
+ export declare function isAsyncProperty(maybe: any): maybe is AsyncProperty<any, any>;
34
+ /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
35
+ export declare function isLoadedAsyncProperty(maybe: any): maybe is AsyncProperty<any, any>;
36
+ //# sourceMappingURL=AsyncProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncProperty.d.ts","sourceRoot":"","sources":["../../src/relations/AsyncProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAClD,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAIhB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAChD,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAQ5B,OAAO,CAAC,EAAE;gBADV,MAAM,EAAE,CAAC,EACD,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAKvC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBlD,IAAI,GAAG,IAAI,CAAC,CAMX;IAED,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED,4DAA4D;IAC5D,eAAe,IAAI,IAAI;IAMvB,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;CACrC;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAE5E;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAElF"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AsyncPropertyImpl = void 0;
4
+ exports.hasAsyncProperty = hasAsyncProperty;
5
+ exports.isAsyncProperty = isAsyncProperty;
6
+ exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
7
+ const newEntity_1 = require("../newEntity");
8
+ const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
9
+ const hasProperty_1 = require("./hasProperty");
10
+ /**
11
+ * Creates a derived value calculated from a SQL query.
12
+ *
13
+ * Unlike `hasProperty`, the lambda receives the entity and is expected
14
+ * to perform its own SQL queries rather than relying on in-memory graph data.
15
+ *
16
+ * - For new (un-flushed) entities, `load` throws because the entity has no id yet.
17
+ * - The result is cached until the next `em.flush`.
18
+ */
19
+ function hasAsyncProperty(fn) {
20
+ return (0, newEntity_1.lazyField)((entity) => {
21
+ return new AsyncPropertyImpl(entity, fn);
22
+ });
23
+ }
24
+ class AsyncPropertyImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
25
+ fn;
26
+ #loadPromise;
27
+ #loaded = false;
28
+ #value;
29
+ constructor(entity, fn) {
30
+ super(entity);
31
+ this.fn = fn;
32
+ }
33
+ load(opts) {
34
+ if (this.entity.isNewEntity) {
35
+ throw new Error("AsyncProperty cannot be loaded on a new entity that has not been flushed yet");
36
+ }
37
+ if (opts?.forceReload) {
38
+ this.#loadPromise = undefined;
39
+ this.#loaded = false;
40
+ }
41
+ if (this.#loaded) {
42
+ return Promise.resolve(this.#value);
43
+ }
44
+ return (this.#loadPromise ??= this.fn(this.entity).then((value) => {
45
+ this.#value = value;
46
+ this.#loaded = true;
47
+ return value;
48
+ }));
49
+ }
50
+ get get() {
51
+ if (this.entity.isNewEntity) {
52
+ throw new Error("AsyncProperty cannot be accessed on a new entity that has not been flushed yet");
53
+ }
54
+ if (!this.#loaded)
55
+ throw new Error("AsyncProperty has not been loaded yet");
56
+ return this.#value;
57
+ }
58
+ get isLoaded() {
59
+ if (this.entity.isNewEntity)
60
+ return false;
61
+ return this.#loaded;
62
+ }
63
+ /** Called after em.flush to invalidate the cached value. */
64
+ resetAfterFlush() {
65
+ this.#loadPromise = undefined;
66
+ this.#loaded = false;
67
+ this.#value = undefined;
68
+ }
69
+ [hasProperty_1.PropertyT] = undefined;
70
+ }
71
+ exports.AsyncPropertyImpl = AsyncPropertyImpl;
72
+ /** Type guard utility for determining if an entity field is an AsyncProperty. */
73
+ function isAsyncProperty(maybe) {
74
+ return maybe instanceof AsyncPropertyImpl;
75
+ }
76
+ /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
77
+ function isLoadedAsyncProperty(maybe) {
78
+ return isAsyncProperty(maybe) && maybe.isLoaded;
79
+ }
80
+ //# sourceMappingURL=AsyncProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncProperty.js","sourceRoot":"","sources":["../../src/relations/AsyncProperty.ts"],"names":[],"mappings":";;;AAkBA,4CAMC;AA2DD,0CAEC;AAGD,sDAEC;AAzFD,4CAAyC;AACzC,iEAA8D;AAC9D,+CAAoD;AAMpD;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,EAA6B;IAE7B,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,EAAE;QAC7B,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,iBACX,SAAQ,2CAAuB;IASrB;IANV,YAAY,CAAyB;IACrC,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,CAAgB;IAEtB,YACE,MAAS,EACD,EAA6B;QAErC,KAAK,CAAC,MAAM,CAAC,CAAC;QAFN,OAAE,GAAF,EAAE,CAA2B;IAGvC,CAAC;IAED,IAAI,CAAC,IAAgC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAW,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,MAAW,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,4DAA4D;IAC5D,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,CAAC,uBAAS,CAAC,GAAG,SAAqB,CAAC;CACrC;AAtDD,8CAsDC;AAED,iFAAiF;AACjF,SAAgB,eAAe,CAAC,KAAU;IACxC,OAAO,KAAK,YAAY,iBAAiB,CAAC;AAC5C,CAAC;AAED,uFAAuF;AACvF,SAAgB,qBAAqB,CAAC,KAAU;IAC9C,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC;AAClD,CAAC"}
@@ -2,9 +2,9 @@ import { Entity } from "../Entity";
2
2
  import { ReactiveField } from "../index";
3
3
  import { Reacted, ReactiveHint } from "../reactiveHints";
4
4
  import { AbstractPropertyImpl } from "./AbstractPropertyImpl";
5
- import { AsyncPropertyT } from "./hasAsyncProperty";
5
+ import { PropertyT } from "./hasProperty";
6
6
  /**
7
- * A `ReactiveQueryField` is a value that is derived from a SQL query, similar to
7
+ * An `AsyncReactiveField` is a value that is derived from a SQL query, similar to
8
8
  * a `ReactiveField`, but when the value needs to be calculated from SQL because
9
9
  * it would be too expensive to calculate in-memory.
10
10
  *
@@ -12,8 +12,8 @@ import { AsyncPropertyT } from "./hasAsyncProperty";
12
12
  * `dbHint` reactive hints have changed, but only the `paramHint`'s data will be pulled
13
13
  * into memory.
14
14
  */
15
- export declare function hasReactiveQueryField<T extends Entity, const H1 extends ReactiveHint<T>, const H2 extends ReactiveHint<T>, V>(paramHint: H1, dbHint: H2, fn: (entity: Reacted<T, H1>) => Promise<V>): ReactiveField<T, V>;
16
- export declare class ReactiveQueryFieldImpl<T extends Entity, H1 extends ReactiveHint<T>, H2 extends ReactiveHint<T>, V> extends AbstractPropertyImpl<T> implements ReactiveField<T, V> {
15
+ export declare function hasAsyncReactiveField<T extends Entity, const H1 extends ReactiveHint<T>, const H2 extends ReactiveHint<T>, V>(paramHint: H1, dbHint: H2, fn: (entity: Reacted<T, H1>) => Promise<V>): ReactiveField<T, V>;
16
+ export declare class AsyncReactiveFieldImpl<T extends Entity, H1 extends ReactiveHint<T>, H2 extends ReactiveHint<T>, V> extends AbstractPropertyImpl<T> implements ReactiveField<T, V> {
17
17
  #private;
18
18
  fieldName: keyof T & string;
19
19
  paramHint: H1;
@@ -32,10 +32,10 @@ export declare class ReactiveQueryFieldImpl<T extends Entity, H1 extends Reactiv
32
32
  get isLoaded(): boolean;
33
33
  get loadHint(): any;
34
34
  setFactoryValue(newValue: any): void;
35
- [AsyncPropertyT]: T;
35
+ [PropertyT]: T;
36
36
  }
37
- /** Type guard utility for determining if an entity field is an ReactiveQueryField. */
38
- export declare function isReactiveQueryField(maybe: any): maybe is ReactiveField<any, any>;
39
- /** Type guard utility for determining if an entity field is a loaded ReactiveQueryField. */
40
- export declare function isLoadedReactiveQueryField(maybe: any): maybe is ReactiveField<any, any>;
41
- //# sourceMappingURL=ReactiveQueryField.d.ts.map
37
+ /** Type guard utility for determining if an entity field is an AsyncReactiveField. */
38
+ export declare function isAsyncReactiveField(maybe: any): maybe is ReactiveField<any, any>;
39
+ /** Type guard utility for determining if an entity field is a loaded AsyncReactiveField. */
40
+ export declare function isLoadedAsyncReactiveField(maybe: any): maybe is ReactiveField<any, any>;
41
+ //# sourceMappingURL=AsyncReactiveField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncReactiveField.d.ts","sourceRoot":"","sources":["../../src/relations/AsyncReactiveField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EAAE,aAAa,EAA+B,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,MAAM,EAChB,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAChC,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAChC,CAAC,EACD,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAI5F;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7G,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAUrB,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM;IAC3B,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACjB,OAAO,CAAC,EAAE;gBAJV,MAAM,EAAE,CAAC,EACF,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAC3B,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,EAAE,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAQpD,wFAAwF;IACxF,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAMpC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBlD,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,CASX;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,IAAI,QAAQ,IAAI,GAAG,CAIlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;CACrC;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEjF;AAED,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEvF"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReactiveQueryFieldImpl = void 0;
4
- exports.hasReactiveQueryField = hasReactiveQueryField;
5
- exports.isReactiveQueryField = isReactiveQueryField;
6
- exports.isLoadedReactiveQueryField = isLoadedReactiveQueryField;
3
+ exports.AsyncReactiveFieldImpl = void 0;
4
+ exports.hasAsyncReactiveField = hasAsyncReactiveField;
5
+ exports.isAsyncReactiveField = isAsyncReactiveField;
6
+ exports.isLoadedAsyncReactiveField = isLoadedAsyncReactiveField;
7
7
  const EntityMetadata_1 = require("../EntityMetadata");
8
8
  const fields_1 = require("../fields");
9
9
  const index_1 = require("../index");
@@ -11,9 +11,9 @@ const newEntity_1 = require("../newEntity");
11
11
  const reactiveHints_1 = require("../reactiveHints");
12
12
  const utils_1 = require("../utils");
13
13
  const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
14
- const hasAsyncProperty_1 = require("./hasAsyncProperty");
14
+ const hasProperty_1 = require("./hasProperty");
15
15
  /**
16
- * A `ReactiveQueryField` is a value that is derived from a SQL query, similar to
16
+ * An `AsyncReactiveField` is a value that is derived from a SQL query, similar to
17
17
  * a `ReactiveField`, but when the value needs to be calculated from SQL because
18
18
  * it would be too expensive to calculate in-memory.
19
19
  *
@@ -21,12 +21,12 @@ const hasAsyncProperty_1 = require("./hasAsyncProperty");
21
21
  * `dbHint` reactive hints have changed, but only the `paramHint`'s data will be pulled
22
22
  * into memory.
23
23
  */
24
- function hasReactiveQueryField(paramHint, dbHint, fn) {
24
+ function hasAsyncReactiveField(paramHint, dbHint, fn) {
25
25
  return (0, newEntity_1.lazyField)((entity, fieldName) => {
26
- return new ReactiveQueryFieldImpl(entity, fieldName, paramHint, dbHint, fn);
26
+ return new AsyncReactiveFieldImpl(entity, fieldName, paramHint, dbHint, fn);
27
27
  });
28
28
  }
29
- class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
29
+ class AsyncReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
30
30
  fieldName;
31
31
  paramHint;
32
32
  dbHint;
@@ -80,7 +80,7 @@ class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl
80
80
  /** Returns the previously-calculated value. */
81
81
  get get() {
82
82
  // Regular ReactiveFields repeatedly call their `fn` lambda to calculate the value, to ensure
83
- // they always return the latest/correct value, but because ReactiveQueryFields are fundamentally
83
+ // they always return the latest/correct value, but because AsyncReactiveFields are fundamentally
84
84
  // calculated from DB queries, we can only return the previously-calculated value, if set.
85
85
  if (this.isSet) {
86
86
  return this.fieldValue;
@@ -111,15 +111,15 @@ class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl
111
111
  this.#useFactoryValue = true;
112
112
  (0, fields_1.setField)(this.entity, this.fieldName, newValue);
113
113
  }
114
- [hasAsyncProperty_1.AsyncPropertyT] = undefined;
114
+ [hasProperty_1.PropertyT] = undefined;
115
115
  }
116
- exports.ReactiveQueryFieldImpl = ReactiveQueryFieldImpl;
117
- /** Type guard utility for determining if an entity field is an ReactiveQueryField. */
118
- function isReactiveQueryField(maybe) {
119
- return maybe instanceof ReactiveQueryFieldImpl;
116
+ exports.AsyncReactiveFieldImpl = AsyncReactiveFieldImpl;
117
+ /** Type guard utility for determining if an entity field is an AsyncReactiveField. */
118
+ function isAsyncReactiveField(maybe) {
119
+ return maybe instanceof AsyncReactiveFieldImpl;
120
120
  }
121
- /** Type guard utility for determining if an entity field is a loaded ReactiveQueryField. */
122
- function isLoadedReactiveQueryField(maybe) {
123
- return isReactiveQueryField(maybe) && maybe.isLoaded;
121
+ /** Type guard utility for determining if an entity field is a loaded AsyncReactiveField. */
122
+ function isLoadedAsyncReactiveField(maybe) {
123
+ return isAsyncReactiveField(maybe) && maybe.isLoaded;
124
124
  }
125
- //# sourceMappingURL=ReactiveQueryField.js.map
125
+ //# sourceMappingURL=AsyncReactiveField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveQueryField.js","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncReactiveField.js","sourceRoot":"","sources":["../../src/relations/AsyncReactiveField.ts"],"names":[],"mappings":"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"}
@@ -3,22 +3,22 @@ import { PrimitiveField } from "../EntityMetadata";
3
3
  import { IsLoadedCachable } from "../IsLoadedCache";
4
4
  import { Reacted, ReactiveHint } from "../reactiveHints";
5
5
  import { AbstractPropertyImpl } from "./AbstractPropertyImpl";
6
- import { AsyncPropertyT } from "./hasAsyncProperty";
6
+ import { PropertyT } from "./hasProperty";
7
7
  /**
8
8
  * A `ReactiveField` is a value that is derived from other entities/values,
9
- * similar to an `AsyncProperty`, but it is also persisted in the database.
9
+ * similar to a `Property`, but it is also persisted in the database.
10
10
  *
11
11
  * This allows callers (or SQL queries) to access the value without first calling
12
12
  * `await load()` on the property.
13
13
  *
14
- * So, unlike `AsyncProperty`, `.get` is always available; if the property is unloaded,
14
+ * So, unlike `Property`, `.get` is always available; if the property is unloaded,
15
15
  * then `.get` will return the last-calculated value, but if the property is loaded,
16
16
  * then it will go ahead and invoke function to calculate the latest value (i.e. so
17
17
  * that you can observe the latest & greatest value w/o waiting for `em.flush` to
18
18
  * re-calc the value while persisting to the database.
19
19
  */
20
20
  export interface ReactiveField<T extends Entity, V> {
21
- [AsyncPropertyT]: T;
21
+ [PropertyT]: T;
22
22
  isLoaded: boolean;
23
23
  isSet: boolean;
24
24
  /**
@@ -77,11 +77,9 @@ export declare class ReactiveFieldImpl<T extends Entity, H extends ReactiveHint<
77
77
  resetIsLoaded(): void;
78
78
  get loadHint(): any;
79
79
  setFactoryValue(newValue: any): void;
80
- [AsyncPropertyT]: T;
80
+ [PropertyT]: T;
81
81
  private resetCacheUnlessFactoryPinned;
82
82
  }
83
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
84
- export declare function isReactiveField(maybeAsyncProperty: any): maybeAsyncProperty is ReactiveField<any, any>;
85
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
86
- export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is ReactiveField<any, any>;
83
+ /** Type guard utility for determining if an entity field is a ReactiveField. */
84
+ export declare function isReactiveField(maybeReactiveField: any): maybeReactiveField is ReactiveField<any, any>;
87
85
  //# sourceMappingURL=ReactiveField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAqB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnD,yGAAyG;IACzG,GAAG,EAAE,CAAC,CAAC;IAEP;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACnF,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAKrB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3E,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;;IAa9C,OAAO,CAAC,EAAE;gBAHV,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAOpC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BxD,iHAAiH;IACjH,IAAI,GAAG,IAAI,CAAC,CAwBX;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,aAAa,IAAI,IAAI;IAOrB,IAAI,QAAQ,IAAI,GAAG,CAGlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,cAAc,CAAC,EAAuB,CAAC,CAAC;IAEzC,OAAO,CAAC,6BAA6B;CAKtC;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEtG;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAE5G"}
1
+ {"version":3,"file":"ReactiveField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAqB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnD,yGAAyG;IACzG,GAAG,EAAE,CAAC,CAAC;IAEP;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACnF,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAKrB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3E,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;;IAa9C,OAAO,CAAC,EAAE;gBAHV,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAOpC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BxD,iHAAiH;IACjH,IAAI,GAAG,IAAI,CAAC,CAwBX;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,aAAa,IAAI,IAAI;IAOrB,IAAI,QAAQ,IAAI,GAAG,CAGlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;IAEpC,OAAO,CAAC,6BAA6B;CAKtC;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEtG"}