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.
- package/build/ConditionBuilder.d.ts +1 -22
- package/build/ConditionBuilder.d.ts.map +1 -1
- package/build/ConditionBuilder.js +6 -72
- package/build/ConditionBuilder.js.map +1 -1
- package/build/EntityFilter.d.ts +2 -0
- package/build/EntityFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.d.ts +2 -0
- package/build/EntityGraphQLFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.js.map +1 -1
- package/build/EntityManager.d.ts +5 -0
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +51 -26
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.d.ts +2 -0
- package/build/EntityMetadata.d.ts.map +1 -1
- package/build/EntityMetadata.js.map +1 -1
- package/build/InstanceData.d.ts +7 -1
- package/build/InstanceData.d.ts.map +1 -1
- package/build/InstanceData.js +36 -7
- package/build/InstanceData.js.map +1 -1
- package/build/IsLoadedCache.d.ts +1 -1
- package/build/IsLoadedCache.d.ts.map +1 -1
- package/build/IsLoadedCache.js +6 -1
- package/build/IsLoadedCache.js.map +1 -1
- package/build/JoinRows.d.ts +1 -1
- package/build/JoinRows.js +6 -1
- package/build/JoinRows.js.map +1 -1
- package/build/PluginManager.d.ts +12 -0
- package/build/PluginManager.d.ts.map +1 -1
- package/build/PluginManager.js +18 -2
- package/build/PluginManager.js.map +1 -1
- package/build/QueryParser.collectionJoins.d.ts +27 -0
- package/build/QueryParser.collectionJoins.d.ts.map +1 -0
- package/build/QueryParser.collectionJoins.js +460 -0
- package/build/QueryParser.collectionJoins.js.map +1 -0
- package/build/QueryParser.collectionJoins.test.d.ts +2 -0
- package/build/QueryParser.collectionJoins.test.d.ts.map +1 -0
- package/build/QueryParser.collectionJoins.test.js +772 -0
- package/build/QueryParser.collectionJoins.test.js.map +1 -0
- package/build/QueryParser.d.ts +62 -9
- package/build/QueryParser.d.ts.map +1 -1
- package/build/QueryParser.js +39 -33
- package/build/QueryParser.js.map +1 -1
- package/build/QueryParser.pruning.d.ts +4 -2
- package/build/QueryParser.pruning.d.ts.map +1 -1
- package/build/QueryParser.pruning.js +80 -10
- package/build/QueryParser.pruning.js.map +1 -1
- package/build/QueryParser.pruning.test.d.ts +2 -0
- package/build/QueryParser.pruning.test.d.ts.map +1 -0
- package/build/QueryParser.pruning.test.js +106 -0
- package/build/QueryParser.pruning.test.js.map +1 -0
- package/build/QueryVisitor.d.ts.map +1 -1
- package/build/QueryVisitor.js +22 -0
- package/build/QueryVisitor.js.map +1 -1
- package/build/ReactionsManager.js +2 -2
- package/build/batchloaders/BatchLoader.d.ts.map +1 -1
- package/build/batchloaders/BatchLoader.js +4 -1
- package/build/batchloaders/BatchLoader.js.map +1 -1
- package/build/changes.d.ts.map +1 -1
- package/build/changes.js +1 -4
- package/build/changes.js.map +1 -1
- package/build/config.d.ts.map +1 -1
- package/build/config.js +18 -10
- package/build/config.js.map +1 -1
- package/build/configure.js +2 -2
- package/build/dataloaders/findCountDataLoader.js +2 -2
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.js +2 -2
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +6 -1
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/defaults.d.ts.map +1 -1
- package/build/defaults.js +49 -42
- package/build/defaults.js.map +1 -1
- package/build/drivers/buildRawQuery.d.ts.map +1 -1
- package/build/drivers/buildRawQuery.js +3 -2
- package/build/drivers/buildRawQuery.js.map +1 -1
- package/build/drivers/buildUtils.d.ts +7 -2
- package/build/drivers/buildUtils.d.ts.map +1 -1
- package/build/drivers/buildUtils.js +14 -5
- package/build/drivers/buildUtils.js.map +1 -1
- package/build/fields.d.ts.map +1 -1
- package/build/fields.js +16 -7
- package/build/fields.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +7 -5
- package/build/index.js.map +1 -1
- package/build/json.d.ts +3 -3
- package/build/json.d.ts.map +1 -1
- package/build/json.js +4 -4
- package/build/json.js.map +1 -1
- package/build/loadHints.d.ts +4 -4
- package/build/loadHints.d.ts.map +1 -1
- package/build/loadLens.js +1 -1
- package/build/loadLens.js.map +1 -1
- package/build/preloading/JsonAggregatePreloader.js +6 -2
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/reactiveHints.d.ts +24 -7
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +45 -28
- package/build/reactiveHints.js.map +1 -1
- package/build/relations/AbstractRelationImpl.d.ts +7 -2
- package/build/relations/AbstractRelationImpl.d.ts.map +1 -1
- package/build/relations/AbstractRelationImpl.js.map +1 -1
- package/build/relations/AsyncProperty.d.ts +36 -0
- package/build/relations/AsyncProperty.d.ts.map +1 -0
- package/build/relations/AsyncProperty.js +80 -0
- package/build/relations/AsyncProperty.js.map +1 -0
- package/build/relations/{ReactiveQueryField.d.ts → AsyncReactiveField.d.ts} +10 -10
- package/build/relations/AsyncReactiveField.d.ts.map +1 -0
- package/build/relations/{ReactiveQueryField.js → AsyncReactiveField.js} +19 -19
- package/build/relations/{ReactiveQueryField.js.map → AsyncReactiveField.js.map} +1 -1
- package/build/relations/ReactiveField.d.ts +7 -9
- package/build/relations/ReactiveField.d.ts.map +1 -1
- package/build/relations/ReactiveField.js +5 -10
- package/build/relations/ReactiveField.js.map +1 -1
- package/build/relations/ReactiveGetter.d.ts +5 -5
- package/build/relations/ReactiveGetter.d.ts.map +1 -1
- package/build/relations/ReactiveGetter.js +3 -3
- package/build/relations/ReactiveGetter.js.map +1 -1
- package/build/relations/ReactiveReference.d.ts +2 -2
- package/build/relations/ReactiveReference.d.ts.map +1 -1
- package/build/relations/ReactiveReference.js +100 -36
- package/build/relations/ReactiveReference.js.map +1 -1
- package/build/relations/{hasAsyncProperty.d.ts → hasProperty.d.ts} +12 -12
- package/build/relations/hasProperty.d.ts.map +1 -0
- package/build/relations/{hasAsyncProperty.js → hasProperty.js} +20 -20
- package/build/relations/hasProperty.js.map +1 -0
- package/build/relations/index.d.ts +3 -2
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +16 -11
- package/build/relations/index.js.map +1 -1
- package/build/resurrection.d.ts +10 -0
- package/build/resurrection.d.ts.map +1 -0
- package/build/resurrection.js +93 -0
- package/build/resurrection.js.map +1 -0
- package/build/rules.js +3 -3
- package/build/trusted.d.ts +1 -1
- package/build/trusted.d.ts.map +1 -1
- package/build/trusted.js +1 -1
- package/build/trusted.js.map +1 -1
- package/build/upsert.d.ts.map +1 -1
- package/build/upsert.js +26 -10
- package/build/upsert.js.map +1 -1
- package/build/withLoaded.js +5 -5
- package/build/withLoaded.js.map +1 -1
- package/package.json +9 -9
- package/build/relations/ReactiveQueryField.d.ts.map +0 -1
- package/build/relations/hasAsyncProperty.d.ts.map +0 -1
- package/build/relations/hasAsyncProperty.js.map +0 -1
package/build/reactiveHints.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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.
|
|
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(`
|
|
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
|
-
|
|
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
|
|
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
|
|
274
|
-
* "our prior
|
|
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
|
|
313
|
-
|
|
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
|
|
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
|
|
328
|
-
|
|
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
|
-
/**
|
|
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
|
-
|
|
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 `
|
|
24
|
-
* so we can unset any foreign keys to the being-deleted entity and clear out any pointers
|
|
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
|
|
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":";;;
|
|
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 {
|
|
5
|
+
import { PropertyT } from "./hasProperty";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
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
|
|
16
|
-
export declare class
|
|
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
|
-
[
|
|
35
|
+
[PropertyT]: T;
|
|
36
36
|
}
|
|
37
|
-
/** Type guard utility for determining if an entity field is an
|
|
38
|
-
export declare function
|
|
39
|
-
/** Type guard utility for determining if an entity field is a loaded
|
|
40
|
-
export declare function
|
|
41
|
-
//# sourceMappingURL=
|
|
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.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
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
|
|
14
|
+
const hasProperty_1 = require("./hasProperty");
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
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
|
|
24
|
+
function hasAsyncReactiveField(paramHint, dbHint, fn) {
|
|
25
25
|
return (0, newEntity_1.lazyField)((entity, fieldName) => {
|
|
26
|
-
return new
|
|
26
|
+
return new AsyncReactiveFieldImpl(entity, fieldName, paramHint, dbHint, fn);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
class
|
|
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
|
|
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
|
-
[
|
|
114
|
+
[hasProperty_1.PropertyT] = undefined;
|
|
115
115
|
}
|
|
116
|
-
exports.
|
|
117
|
-
/** Type guard utility for determining if an entity field is an
|
|
118
|
-
function
|
|
119
|
-
return maybe instanceof
|
|
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
|
|
122
|
-
function
|
|
123
|
-
return
|
|
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=
|
|
125
|
+
//# sourceMappingURL=AsyncReactiveField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"AsyncReactiveField.js","sourceRoot":"","sources":["../../src/relations/AsyncReactiveField.ts"],"names":[],"mappings":";;;AAmBA,sDASC;AAqGD,oDAEC;AAGD,gEAEC;AAvID,sDAAgD;AAChD,sCAA2D;AAC3D,oCAAsE;AACtE,4CAAyC;AACzC,oDAA4E;AAC5E,oCAAgD;AAChD,iEAA8D;AAC9D,+CAA0C;AAE1C;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAKnC,SAAa,EAAE,MAAU,EAAE,EAA0C;IACrE,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,OAAO,IAAI,sBAAsB,CAAC,MAAM,EAAE,SAA6B,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,sBACX,SAAQ,2CAAuB;IAWtB;IACA;IACA;IACC;IAXD,UAAU,CAAK;IACf,OAAO,CAAK;IACrB,YAAY,CAAM;IAClB,OAAO,CAAU;IACjB,gBAAgB,GAAG,KAAK,CAAC;IAEzB,YACE,MAAS,EACF,SAA2B,EAC3B,SAAa,EACb,MAAU,EACT,EAA0C;QAElD,KAAK,CAAC,MAAM,CAAC,CAAC;QALP,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAAI;QACb,WAAM,GAAN,MAAM,CAAI;QACT,OAAE,GAAF,EAAE,CAAwC;QAGlD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,wFAAwF;IACxF,IAAI,YAAY;QACd,0FAA0F;QAC1F,mFAAmF;QACnF,MAAM,IAAI,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAA,4BAAoB,EAAC,IAAI,EAAE,IAAA,yBAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAgC;QACnC,0CAA0C;QAC1C,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE;aACzC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAS,CAAC;aACrD,IAAI,CAAC,GAAG,EAAE;YACT,4GAA4G;YAC5G,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC;QAC1F,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,2EAA2E;YAC3E,+CAA+C;YAC/C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,CAAC;QACN,IAAI;QACJ,qCAAqC;IACvC,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG;QACL,6FAA6F;QAC7F,iGAAiG;QACjG,0FAA0F;QAC1F,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,2BAA2B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ;QACV,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,sFAAsF;QACtF,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAA,iCAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,eAAe,CAAC,QAAa;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,CAAC,uBAAS,CAAC,GAAG,SAAqB,CAAC;CACrC;AAhGD,wDAgGC;AAED,sFAAsF;AACtF,SAAgB,oBAAoB,CAAC,KAAU;IAC7C,OAAO,KAAK,YAAY,sBAAsB,CAAC;AACjD,CAAC;AAED,4FAA4F;AAC5F,SAAgB,0BAA0B,CAAC,KAAU;IACnD,OAAO,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC;AACvD,CAAC"}
|
|
@@ -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 {
|
|
6
|
+
import { PropertyT } from "./hasProperty";
|
|
7
7
|
/**
|
|
8
8
|
* A `ReactiveField` is a value that is derived from other entities/values,
|
|
9
|
-
* similar to
|
|
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 `
|
|
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
|
-
[
|
|
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
|
-
[
|
|
80
|
+
[PropertyT]: T;
|
|
81
81
|
private resetCacheUnlessFactoryPinned;
|
|
82
82
|
}
|
|
83
|
-
/** Type guard utility for determining if an entity field is
|
|
84
|
-
export declare function isReactiveField(
|
|
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,
|
|
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"}
|