joist-core 2.1.0 → 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 +59 -29
- 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/batchloaders/manyToManyBatchLoader.js +3 -1
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +3 -1
- package/build/batchloaders/recursiveM2mBatchLoader.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/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +0 -7
- package/build/dataloaders/findDataLoader.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
|
@@ -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":"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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 {
|
|
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"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReactiveFieldImpl = void 0;
|
|
4
4
|
exports.hasReactiveField = hasReactiveField;
|
|
5
5
|
exports.isReactiveField = isReactiveField;
|
|
6
|
-
exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
|
|
7
6
|
const EntityManager_1 = require("../EntityManager");
|
|
8
7
|
const EntityMetadata_1 = require("../EntityMetadata");
|
|
9
8
|
const fields_1 = require("../fields");
|
|
@@ -11,7 +10,7 @@ const index_1 = require("../index");
|
|
|
11
10
|
const newEntity_1 = require("../newEntity");
|
|
12
11
|
const reactiveHints_1 = require("../reactiveHints");
|
|
13
12
|
const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
|
|
14
|
-
const
|
|
13
|
+
const hasProperty_1 = require("./hasProperty");
|
|
15
14
|
/**
|
|
16
15
|
* Creates a calculated derived value from a load hint + lambda.
|
|
17
16
|
*
|
|
@@ -129,7 +128,7 @@ class ReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
|
|
|
129
128
|
(0, fields_1.setField)(this.entity, this.fieldName, newValue);
|
|
130
129
|
this.#isCached = "factory-value";
|
|
131
130
|
}
|
|
132
|
-
[
|
|
131
|
+
[hasProperty_1.PropertyT] = undefined;
|
|
133
132
|
resetCacheUnlessFactoryPinned() {
|
|
134
133
|
// If factories asked for a hard-coded value, don't reset the cached flag
|
|
135
134
|
if (this.#isCached === "factory-value")
|
|
@@ -138,12 +137,8 @@ class ReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
|
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
exports.ReactiveFieldImpl = ReactiveFieldImpl;
|
|
141
|
-
/** Type guard utility for determining if an entity field is
|
|
142
|
-
function isReactiveField(
|
|
143
|
-
return
|
|
144
|
-
}
|
|
145
|
-
/** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
|
|
146
|
-
function isLoadedAsyncProperty(maybeAsyncProperty) {
|
|
147
|
-
return isReactiveField(maybeAsyncProperty) && maybeAsyncProperty.isLoaded;
|
|
140
|
+
/** Type guard utility for determining if an entity field is a ReactiveField. */
|
|
141
|
+
function isReactiveField(maybeReactiveField) {
|
|
142
|
+
return maybeReactiveField instanceof ReactiveFieldImpl;
|
|
148
143
|
}
|
|
149
144
|
//# sourceMappingURL=ReactiveField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveField.js","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":";;;AAoEA,4CAQC;AAiID,0CAEC;
|
|
1
|
+
{"version":3,"file":"ReactiveField.js","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":";;;AAoEA,4CAQC;AAiID,0CAEC;AA9MD,oDAAoD;AACpD,sDAAgE;AAChE,sCAA2D;AAC3D,oCAAoC;AAEpC,4CAAyC;AACzC,oDAA4E;AAC5E,iEAA8D;AAC9D,+CAA0C;AAmD1C;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,IAAO,EACP,EAAgC;IAEhC,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAmB,CAAC;QACzE,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,iBACX,SAAQ,2CAAuB;IAcrB;IAXD,MAAM,CAAiB;IACvB,aAAa,CAAI;IAC1B,YAAY,CAAM;IAClB,iDAAiD;IACjD,SAAS,CAAsB;IAC/B,SAAS,GAA8B,KAAK,CAAC;IAE7C,YACE,MAAS,EACT,KAAqB,EACrB,YAAe,EACP,EAAgC;QAExC,KAAK,CAAC,MAAM,CAAC,CAAC;QAFN,OAAE,GAAF,EAAE,CAA8B;QAGxC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgC;QACzC,6FAA6F;QAC7F,wEAAwE;QACxE,EAAE;QACF,+FAA+F;QAC/F,2GAA2G;QAC3G,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3G,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzD,qGAAqG;gBACrG,qEAAqE;gBACrE,oGAAoG;gBACpG,yHAAyH;gBACzH,8GAA8G;gBAC9G,sDAAsD;gBACtD,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,6EAA6E;gBAC7E,OAAO,IAAI,CAAC,GAAG,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,iHAAiH;IACjH,IAAI,GAAG;QACL,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,wFAAwF;QACxF,kDAAkD;QAClD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3C,mHAAmH;QACnH,mHAAmH;QACnH,oCAAoC;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,MAAuB,CAAC,CAAC;YAClD,IAAI,CAAC,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;gBACnD,6EAA6E;gBAC7E,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,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,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAA6B,CAAC;IACnD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,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,0EAA0E;QAC1E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAA,gCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,aAAa;QACX,+FAA+F;QAC/F,0FAA0F;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACV,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,YAAY,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,eAAe,CAAC,QAAa;QAC3B,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;IACnC,CAAC;IAED,CAAC,uBAAS,CAAC,GAAG,SAAqB,CAAC;IAE5B,6BAA6B;QACnC,yEAAyE;QACzE,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe;YAAE,OAAO;QAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACF;AA5HD,8CA4HC;AAED,gFAAgF;AAChF,SAAgB,eAAe,CAAC,kBAAuB;IACrD,OAAO,kBAAkB,YAAY,iBAAiB,CAAC;AACzD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Entity } from "../Entity";
|
|
2
2
|
import { Reacted, ShallowReactiveHint } from "../reactiveHints";
|
|
3
|
-
import {
|
|
3
|
+
import { PropertyT } from "./hasProperty";
|
|
4
4
|
/**
|
|
5
5
|
* A `ReactiveGetter` is a getter that declares what primitive fields it depends on.
|
|
6
6
|
*
|
|
7
|
-
* This is very similar to a `
|
|
7
|
+
* This is very similar to a `ReactiveProperty`, except because it's limited to
|
|
8
8
|
* only immediate fields on the entity, it can always have `.get` called, and doesn't
|
|
9
9
|
* need to be loaded.
|
|
10
10
|
*
|
|
@@ -13,7 +13,7 @@ import { AsyncPropertyT } from "./hasAsyncProperty";
|
|
|
13
13
|
* to access getter, and risk missing reactivity.
|
|
14
14
|
*/
|
|
15
15
|
export interface ReactiveGetter<T extends Entity, V> {
|
|
16
|
-
[
|
|
16
|
+
[PropertyT]: T;
|
|
17
17
|
get: V;
|
|
18
18
|
}
|
|
19
19
|
/** Creates a `ReactiveGetter`, for simple "getters" that still trackable for reactivity. */
|
|
@@ -23,8 +23,8 @@ export declare class ReactiveGetterImpl<T extends Entity, const H extends Shallo
|
|
|
23
23
|
constructor(entity: T, fieldName: keyof T & string, hint: H, fn: (entity: Reacted<T, H>) => V);
|
|
24
24
|
get get(): V;
|
|
25
25
|
get reactiveHint(): H;
|
|
26
|
-
[
|
|
26
|
+
[PropertyT]: T;
|
|
27
27
|
}
|
|
28
|
-
/** Type guard utility for determining if an entity field is
|
|
28
|
+
/** Type guard utility for determining if an entity field is a ReactiveGetter. */
|
|
29
29
|
export declare function isReactiveGetter(maybeReactiveGetter: any): maybeReactiveGetter is ReactiveGetter<any, any>;
|
|
30
30
|
//# sourceMappingURL=ReactiveGetter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveGetter.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ReactiveGetter.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACjD,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;CACR;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3F,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAC3B,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAItB;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,cAAc,CACpH,CAAC,EACD,CAAC,CACF;;gBAMa,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAO7F,IAAI,GAAG,IAAI,CAAC,CAEX;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;CACrC;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,GAAG,mBAAmB,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAE1G"}
|
|
@@ -4,7 +4,7 @@ exports.ReactiveGetterImpl = void 0;
|
|
|
4
4
|
exports.hasReactiveGetter = hasReactiveGetter;
|
|
5
5
|
exports.isReactiveGetter = isReactiveGetter;
|
|
6
6
|
const newEntity_1 = require("../newEntity");
|
|
7
|
-
const
|
|
7
|
+
const hasProperty_1 = require("./hasProperty");
|
|
8
8
|
/** Creates a `ReactiveGetter`, for simple "getters" that still trackable for reactivity. */
|
|
9
9
|
function hasReactiveGetter(fieldName, hint, fn) {
|
|
10
10
|
return (0, newEntity_1.lazyField)((entity, fieldName) => {
|
|
@@ -28,10 +28,10 @@ class ReactiveGetterImpl {
|
|
|
28
28
|
get reactiveHint() {
|
|
29
29
|
return this.#hint;
|
|
30
30
|
}
|
|
31
|
-
[
|
|
31
|
+
[hasProperty_1.PropertyT] = undefined;
|
|
32
32
|
}
|
|
33
33
|
exports.ReactiveGetterImpl = ReactiveGetterImpl;
|
|
34
|
-
/** Type guard utility for determining if an entity field is
|
|
34
|
+
/** Type guard utility for determining if an entity field is a ReactiveGetter. */
|
|
35
35
|
function isReactiveGetter(maybeReactiveGetter) {
|
|
36
36
|
return maybeReactiveGetter instanceof ReactiveGetterImpl;
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveGetter.js","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":";;;AAsBA,8CAQC;AA8BD,4CAEC;AA7DD,4CAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"ReactiveGetter.js","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":";;;AAsBA,8CAQC;AA8BD,4CAEC;AA7DD,4CAAyC;AAEzC,+CAA0C;AAkB1C,4FAA4F;AAC5F,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,IAAO,EACP,EAAgC;IAEhC,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAA6B,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,kBAAkB;IAIpB,OAAO,CAAI;IACX,UAAU,CAAmB;IAC7B,KAAK,CAAI;IACT,GAAG,CAA+B;IAE3C,YAAY,MAAS,EAAE,SAA2B,EAAE,IAAO,EAAE,EAAgC;QAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,CAAC,uBAAS,CAAC,GAAG,SAAqB,CAAC;CACrC;AAzBD,gDAyBC;AAED,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,mBAAwB;IACvD,OAAO,mBAAmB,YAAY,kBAAkB,CAAC;AAC3D,CAAC"}
|
|
@@ -58,13 +58,13 @@ export declare class ReactiveReferenceImpl<T extends Entity, U extends Entity, H
|
|
|
58
58
|
private fn;
|
|
59
59
|
constructor(entity: T, field: ManyToOneField, reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedEntity<U> | N);
|
|
60
60
|
load(opts?: {
|
|
61
|
-
withDeleted?:
|
|
61
|
+
withDeleted?: boolean;
|
|
62
62
|
forceReload?: true;
|
|
63
63
|
}): Promise<U | N>;
|
|
64
64
|
get isLoaded(): boolean;
|
|
65
65
|
resetIsLoaded(): void;
|
|
66
66
|
private doGet;
|
|
67
|
-
get fieldValue(): U;
|
|
67
|
+
get fieldValue(): U | N;
|
|
68
68
|
get getWithDeleted(): U | N;
|
|
69
69
|
get get(): U | N;
|
|
70
70
|
set(_: U | N): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveReference.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,QAAQ,EAYT,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,GAAG,SAAS,CAAE,SAAQ,SAAS,CACnH,CAAC,EACD,CAAC,EACD,CAAC,CACF;IACC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IAEf,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3E;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB,oJAAoJ;IACpJ,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEZ,oHAAoH;IACpH,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE7B,UAAU,EAAE,MAAM,CAAC;IAEnB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACtG,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,GACnD,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAClC,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACtG,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC/D,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AActC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,qBAAqB,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACzB,CAAC,SAAS,KAAK,GAAG,SAAS,CAE3B,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,CACjC,YAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"ReactiveReference.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,12 +45,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
45
45
|
fn;
|
|
46
46
|
#fieldName;
|
|
47
47
|
#otherMeta;
|
|
48
|
-
#
|
|
49
|
-
// Either the loaded entity, or N/undefined if we're allowed to be null
|
|
50
|
-
#loaded;
|
|
51
|
-
// In ref-mode, we use our materialized FK value (which might be undefined)
|
|
52
|
-
// If full-mode, we calculate the FK value from the subgraph
|
|
53
|
-
#loadedMode = undefined;
|
|
48
|
+
#state;
|
|
54
49
|
// #isLoaded doesn't necessary care if we're ref-mode or full-mode, it's just
|
|
55
50
|
// whether a caller can call `.get` and not have it blow up.
|
|
56
51
|
#isLoaded = undefined;
|
|
@@ -63,7 +58,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
63
58
|
// Minimizing changes until the other PR lands...
|
|
64
59
|
this.#fieldName = field.fieldName;
|
|
65
60
|
this.#otherMeta = field.otherMetadata();
|
|
66
|
-
this.#
|
|
61
|
+
this.#state = new RRUnloadedState(this);
|
|
67
62
|
// We can be initialized with [entity | id | undefined], and if it's entity or id, then setImpl
|
|
68
63
|
// will set loaded appropriately; but if we're initialized undefined, then mark loaded here
|
|
69
64
|
if (entity.isNewEntity) {
|
|
@@ -83,14 +78,18 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
83
78
|
// full load hint if we need recalculated.
|
|
84
79
|
const maybeDirty = opts?.forceReload || (0, __1.getEmInternalApi)(em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
|
|
85
80
|
if (maybeDirty) {
|
|
86
|
-
this.#
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this.#
|
|
81
|
+
return (this.#loadPromise ??= em
|
|
82
|
+
.populate(this.entity, { hint: loadHint, ...opts })
|
|
83
|
+
.then(() => {
|
|
84
|
+
this.#state = this.#state.enterRecalcMode(this);
|
|
90
85
|
this.#isLoaded = true;
|
|
91
86
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
92
87
|
// Go through `this.get` so that `setField` is called to set our latest value
|
|
88
|
+
this.#isCached = false;
|
|
93
89
|
return this.doGet(opts);
|
|
90
|
+
})
|
|
91
|
+
.finally(() => {
|
|
92
|
+
this.#loadPromise = undefined;
|
|
94
93
|
}));
|
|
95
94
|
}
|
|
96
95
|
else {
|
|
@@ -98,24 +97,30 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
98
97
|
// ...ideally we would check `isSet` and whether the key was in the `instanceData`
|
|
99
98
|
const current = this.current();
|
|
100
99
|
if ((0, __1.isEntity)(current) || current === undefined) {
|
|
101
|
-
this.#
|
|
100
|
+
this.#state = new RRRefState(this, current);
|
|
102
101
|
this.#isLoaded = true;
|
|
103
|
-
this.#loaded = current;
|
|
104
102
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
105
103
|
return current;
|
|
106
104
|
}
|
|
107
105
|
else {
|
|
108
|
-
return (this.#loadPromise ??= em
|
|
109
|
-
this.#
|
|
110
|
-
|
|
106
|
+
return (this.#loadPromise ??= em
|
|
107
|
+
.load(this.#otherMeta.cstr, current)
|
|
108
|
+
.then((loaded) => {
|
|
109
|
+
this.#state = new RRRefState(this, loaded);
|
|
111
110
|
this.#isLoaded = true;
|
|
112
|
-
this.#loaded = loaded;
|
|
113
111
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
114
112
|
return loaded;
|
|
113
|
+
})
|
|
114
|
+
.finally(() => {
|
|
115
|
+
this.#loadPromise = undefined;
|
|
115
116
|
}));
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
}
|
|
120
|
+
// The ReactiveField.load() always sets `#isCached = false`, but our assertion is that our
|
|
121
|
+
// IsLoadedCache/resetIsLoaded infra is good enough to "see all invalidating mutations",
|
|
122
|
+
// so we don't need this explicit reset.
|
|
123
|
+
// this.#isCached = false;
|
|
119
124
|
return this.doGet(opts);
|
|
120
125
|
}
|
|
121
126
|
get isLoaded() {
|
|
@@ -127,13 +132,13 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
127
132
|
const maybeDirty = (0, __1.getEmInternalApi)(this.entity.em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
|
|
128
133
|
if (maybeDirty) {
|
|
129
134
|
// If we're dirty, only being "full" loaded is good enough to recalc
|
|
130
|
-
this.#
|
|
135
|
+
this.#state = this.#state.enterRecalcMode(this);
|
|
131
136
|
this.#isLoaded = (0, __1.isLoaded)(this.entity, this.loadHint);
|
|
132
137
|
this.#isCached = false;
|
|
133
138
|
}
|
|
134
139
|
else {
|
|
135
140
|
// If we've had `.load` called before, assume we're still loaded
|
|
136
|
-
this.#isLoaded =
|
|
141
|
+
this.#isLoaded = this.#state.canReturnValue;
|
|
137
142
|
}
|
|
138
143
|
return this.#isLoaded;
|
|
139
144
|
}
|
|
@@ -147,11 +152,11 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
147
152
|
// Fast pass if we've already calculated this (cache invalidation will happen on
|
|
148
153
|
// any mutation via #resetIsLoaded)..
|
|
149
154
|
if (this.#isCached) {
|
|
150
|
-
return this
|
|
155
|
+
return this.filterDeleted(this.#state.doGet(), opts);
|
|
151
156
|
}
|
|
152
157
|
// Call isLoaded to probe the load hint, and get `#isLoaded` set, but still have
|
|
153
158
|
// our `if` check the raw `#isLoaded` to know if we should eval-latest or return `loaded`.
|
|
154
|
-
if (this.isLoaded && this.#
|
|
159
|
+
if (this.isLoaded && this.#state.kind === "full") {
|
|
155
160
|
const newValue = this.filterDeleted(fn(this.entity), opts);
|
|
156
161
|
// It's cheap to set this every time we're called, i.e. even if it's not the
|
|
157
162
|
// official "being called during em.flush" update (...unless we're accessing it
|
|
@@ -160,14 +165,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
160
165
|
if (!(0, __1.getEmInternalApi)(this.entity.em).isValidating) {
|
|
161
166
|
this.setImpl(newValue);
|
|
162
167
|
}
|
|
163
|
-
this.#
|
|
168
|
+
this.#state = new RRFullState(this, newValue);
|
|
164
169
|
this.#isCached = true;
|
|
165
170
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
166
171
|
}
|
|
167
|
-
else if (
|
|
168
|
-
// We're either
|
|
169
|
-
// but in theory
|
|
170
|
-
//
|
|
172
|
+
else if (this.#state.canReturnValue) {
|
|
173
|
+
// We're either in ref mode, or in full mode but not actually fully loaded,
|
|
174
|
+
// but in theory those states only get set after `.load()` / `.preload()` / import,
|
|
175
|
+
// so we should have some stored value, even if it's not fully up-to-date.
|
|
171
176
|
this.#isCached = true;
|
|
172
177
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
173
178
|
}
|
|
@@ -175,7 +180,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
175
180
|
const noun = this.entity.isNewEntity ? "derived" : "loaded";
|
|
176
181
|
throw new Error(`${this.entity}.${this.fieldName} has not been ${noun} yet`);
|
|
177
182
|
}
|
|
178
|
-
return this
|
|
183
|
+
return this.filterDeleted(this.#state.doGet(), opts);
|
|
179
184
|
}
|
|
180
185
|
get fieldValue() {
|
|
181
186
|
return (0, fields_1.getField)(this.entity, this.fieldName);
|
|
@@ -205,20 +210,18 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
205
210
|
return !!this.maybeFindEntity();
|
|
206
211
|
}
|
|
207
212
|
preload() {
|
|
208
|
-
this.#
|
|
209
|
-
this.#loadedMode = "ref";
|
|
213
|
+
this.#state = new RRRefState(this, this.maybeFindEntity());
|
|
210
214
|
this.#isLoaded = true;
|
|
211
215
|
this.#isCached = true;
|
|
212
216
|
}
|
|
213
217
|
unload() {
|
|
214
|
-
this.#
|
|
215
|
-
this.#loadedMode = undefined;
|
|
218
|
+
this.#state = new RRUnloadedState(this);
|
|
216
219
|
this.#isLoaded = false;
|
|
217
220
|
this.#isCached = false;
|
|
221
|
+
this.#loadPromise = undefined;
|
|
218
222
|
}
|
|
219
223
|
import(other, findEntity) {
|
|
220
|
-
this.#
|
|
221
|
-
this.#loadedMode = "ref";
|
|
224
|
+
this.#state = other.#state.import(this, findEntity);
|
|
222
225
|
this.#isLoaded = true;
|
|
223
226
|
this.#isCached = true;
|
|
224
227
|
}
|
|
@@ -268,8 +271,10 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
268
271
|
if (this.isCascadeDelete)
|
|
269
272
|
return;
|
|
270
273
|
(0, fields_1.setField)(this.entity, this.fieldName, undefined);
|
|
271
|
-
this.#
|
|
274
|
+
this.#state = new RRRefState(this, undefined);
|
|
272
275
|
this.#isLoaded = false;
|
|
276
|
+
this.#isCached = false;
|
|
277
|
+
this.#loadPromise = undefined;
|
|
273
278
|
}
|
|
274
279
|
// We need to keep U in data[fieldName] to handle entities without an id assigned yet.
|
|
275
280
|
current(opts) {
|
|
@@ -317,9 +322,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
317
322
|
*/
|
|
318
323
|
maybeFindEntity() {
|
|
319
324
|
// Check this.loaded first b/c a new entity won't have an id yet
|
|
325
|
+
if (this.#state.canReturnValue) {
|
|
326
|
+
const loaded = this.#state.doGet();
|
|
327
|
+
if (loaded !== undefined) {
|
|
328
|
+
return loaded;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
320
331
|
const { idTaggedMaybe } = this;
|
|
321
|
-
return (
|
|
322
|
-
(idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined));
|
|
332
|
+
return idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined;
|
|
323
333
|
}
|
|
324
334
|
[Relation_1.RelationT] = null;
|
|
325
335
|
[Relation_1.RelationU] = null;
|
|
@@ -330,4 +340,58 @@ exports.ReactiveReferenceImpl = ReactiveReferenceImpl;
|
|
|
330
340
|
function isReactiveReference(maybeReactiveRef) {
|
|
331
341
|
return maybeReactiveRef instanceof ReactiveReferenceImpl;
|
|
332
342
|
}
|
|
343
|
+
class RRUnloadedState {
|
|
344
|
+
kind = "unloaded";
|
|
345
|
+
canReturnValue = false;
|
|
346
|
+
#rr;
|
|
347
|
+
constructor(rr) {
|
|
348
|
+
this.#rr = rr;
|
|
349
|
+
}
|
|
350
|
+
doGet() {
|
|
351
|
+
throw new Error(`${this.#rr.entity}.${this.#rr.fieldName} was not loaded`);
|
|
352
|
+
}
|
|
353
|
+
enterRecalcMode(target) {
|
|
354
|
+
return new RRFullState(target, undefined);
|
|
355
|
+
}
|
|
356
|
+
import(target, _findEntity) {
|
|
357
|
+
return new RRUnloadedState(target);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
class RRRefState {
|
|
361
|
+
kind = "ref";
|
|
362
|
+
canReturnValue = true;
|
|
363
|
+
#loaded;
|
|
364
|
+
constructor(_rr, loaded) {
|
|
365
|
+
this.#loaded = loaded;
|
|
366
|
+
}
|
|
367
|
+
doGet() {
|
|
368
|
+
return this.#loaded;
|
|
369
|
+
}
|
|
370
|
+
enterRecalcMode(target) {
|
|
371
|
+
return new RRFullState(target, this.#loaded);
|
|
372
|
+
}
|
|
373
|
+
import(target, findEntity) {
|
|
374
|
+
return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
class RRFullState {
|
|
378
|
+
kind = "full";
|
|
379
|
+
canReturnValue = true;
|
|
380
|
+
#loaded;
|
|
381
|
+
constructor(_rr, loaded) {
|
|
382
|
+
this.#loaded = loaded;
|
|
383
|
+
}
|
|
384
|
+
doGet() {
|
|
385
|
+
return this.#loaded;
|
|
386
|
+
}
|
|
387
|
+
enterRecalcMode(_target) {
|
|
388
|
+
return this;
|
|
389
|
+
}
|
|
390
|
+
import(target, findEntity) {
|
|
391
|
+
return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
function mapReactiveReferenceEntity(entity, findEntity) {
|
|
395
|
+
return (0, __1.isEntity)(entity) ? findEntity(entity) : entity;
|
|
396
|
+
}
|
|
333
397
|
//# sourceMappingURL=ReactiveReference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
|