joist-core 2.1.0-next.2 → 2.1.0-next.21
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/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +15 -4
- package/build/EntityManager.js.map +1 -1
- package/build/JoinRows.js +6 -1
- package/build/JoinRows.js.map +1 -1
- 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/loadBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/loadBatchLoader.js +0 -2
- package/build/batchloaders/loadBatchLoader.js.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.js +1 -1
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/oneToManyBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/oneToManyBatchLoader.js +0 -2
- package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/oneToOneBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/oneToOneBatchLoader.js +0 -2
- package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +0 -2
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +0 -2
- package/build/batchloaders/recursiveParentsBatchLoader.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/dataloaders/findCountDataLoader.js +2 -2
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.d.ts +0 -1
- package/build/dataloaders/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +0 -8
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -2
- 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 +2 -2
- 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 +11 -4
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +11 -15
- package/build/reactiveHints.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/ReactiveQueryField.d.ts +2 -2
- package/build/relations/ReactiveQueryField.d.ts.map +1 -1
- package/build/relations/ReactiveQueryField.js +2 -2
- package/build/relations/ReactiveQueryField.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 +95 -35
- package/build/relations/ReactiveReference.js.map +1 -1
- package/build/relations/hasAsyncQueryProperty.d.ts +38 -0
- package/build/relations/hasAsyncQueryProperty.d.ts.map +1 -0
- package/build/relations/hasAsyncQueryProperty.js +80 -0
- package/build/relations/hasAsyncQueryProperty.js.map +1 -0
- 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 +2 -1
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +13 -8
- package/build/relations/index.js.map +1 -1
- package/build/withLoaded.js +2 -2
- package/build/withLoaded.js.map +1 -1
- package/package.json +2 -2
- package/build/relations/hasAsyncProperty.d.ts.map +0 -1
- package/build/relations/hasAsyncProperty.js.map +0 -1
|
@@ -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":"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"}
|
|
@@ -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"}
|
|
@@ -2,7 +2,7 @@ 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
|
* A `ReactiveQueryField` 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
|
|
@@ -32,7 +32,7 @@ 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
37
|
/** Type guard utility for determining if an entity field is an ReactiveQueryField. */
|
|
38
38
|
export declare function isReactiveQueryField(maybe: any): maybe is ReactiveField<any, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveQueryField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.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,
|
|
1
|
+
{"version":3,"file":"ReactiveQueryField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.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"}
|
|
@@ -11,7 +11,7 @@ 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
|
* A `ReactiveQueryField` 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
|
|
@@ -111,7 +111,7 @@ 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
116
|
exports.ReactiveQueryFieldImpl = ReactiveQueryFieldImpl;
|
|
117
117
|
/** Type guard utility for determining if an entity field is an ReactiveQueryField. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveQueryField.js","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":";;;AAmBA,sDASC;AAqGD,oDAEC;AAGD,gEAEC;AAvID,sDAAgD;AAChD,sCAA2D;AAC3D,oCAAsE;AACtE,4CAAyC;AACzC,oDAA4E;AAC5E,oCAAgD;AAChD,iEAA8D;AAC9D
|
|
1
|
+
{"version":3,"file":"ReactiveQueryField.js","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":"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"}
|
|
@@ -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) {
|
|
@@ -84,13 +79,17 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
84
79
|
const maybeDirty = opts?.forceReload || (0, __1.getEmInternalApi)(em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
|
|
85
80
|
if (maybeDirty) {
|
|
86
81
|
this.#isCached = false;
|
|
87
|
-
return (this.#loadPromise ??= em
|
|
88
|
-
this
|
|
89
|
-
|
|
82
|
+
return (this.#loadPromise ??= em
|
|
83
|
+
.populate(this.entity, { hint: loadHint, ...opts })
|
|
84
|
+
.then(() => {
|
|
85
|
+
this.#state = this.#state.enterRecalcMode(this);
|
|
90
86
|
this.#isLoaded = true;
|
|
91
87
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
92
88
|
// Go through `this.get` so that `setField` is called to set our latest value
|
|
93
89
|
return this.doGet(opts);
|
|
90
|
+
})
|
|
91
|
+
.finally(() => {
|
|
92
|
+
this.#loadPromise = undefined;
|
|
94
93
|
}));
|
|
95
94
|
}
|
|
96
95
|
else {
|
|
@@ -98,20 +97,22 @@ 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
|
}
|
|
@@ -127,13 +128,13 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
127
128
|
const maybeDirty = (0, __1.getEmInternalApi)(this.entity.em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
|
|
128
129
|
if (maybeDirty) {
|
|
129
130
|
// If we're dirty, only being "full" loaded is good enough to recalc
|
|
130
|
-
this.#
|
|
131
|
+
this.#state = this.#state.enterRecalcMode(this);
|
|
131
132
|
this.#isLoaded = (0, __1.isLoaded)(this.entity, this.loadHint);
|
|
132
133
|
this.#isCached = false;
|
|
133
134
|
}
|
|
134
135
|
else {
|
|
135
136
|
// If we've had `.load` called before, assume we're still loaded
|
|
136
|
-
this.#isLoaded =
|
|
137
|
+
this.#isLoaded = this.#state.canReturnValue;
|
|
137
138
|
}
|
|
138
139
|
return this.#isLoaded;
|
|
139
140
|
}
|
|
@@ -147,11 +148,11 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
147
148
|
// Fast pass if we've already calculated this (cache invalidation will happen on
|
|
148
149
|
// any mutation via #resetIsLoaded)..
|
|
149
150
|
if (this.#isCached) {
|
|
150
|
-
return this
|
|
151
|
+
return this.filterDeleted(this.#state.doGet(), opts);
|
|
151
152
|
}
|
|
152
153
|
// Call isLoaded to probe the load hint, and get `#isLoaded` set, but still have
|
|
153
154
|
// our `if` check the raw `#isLoaded` to know if we should eval-latest or return `loaded`.
|
|
154
|
-
if (this.isLoaded && this.#
|
|
155
|
+
if (this.isLoaded && this.#state.kind === "full") {
|
|
155
156
|
const newValue = this.filterDeleted(fn(this.entity), opts);
|
|
156
157
|
// It's cheap to set this every time we're called, i.e. even if it's not the
|
|
157
158
|
// official "being called during em.flush" update (...unless we're accessing it
|
|
@@ -160,14 +161,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
160
161
|
if (!(0, __1.getEmInternalApi)(this.entity.em).isValidating) {
|
|
161
162
|
this.setImpl(newValue);
|
|
162
163
|
}
|
|
163
|
-
this.#
|
|
164
|
+
this.#state = new RRFullState(this, newValue);
|
|
164
165
|
this.#isCached = true;
|
|
165
166
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
166
167
|
}
|
|
167
|
-
else if (
|
|
168
|
-
// We're either
|
|
169
|
-
// but in theory
|
|
170
|
-
//
|
|
168
|
+
else if (this.#state.canReturnValue) {
|
|
169
|
+
// We're either in ref mode, or in full mode but not actually fully loaded,
|
|
170
|
+
// but in theory those states only get set after `.load()` / `.preload()` / import,
|
|
171
|
+
// so we should have some stored value, even if it's not fully up-to-date.
|
|
171
172
|
this.#isCached = true;
|
|
172
173
|
(0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
|
|
173
174
|
}
|
|
@@ -175,7 +176,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
175
176
|
const noun = this.entity.isNewEntity ? "derived" : "loaded";
|
|
176
177
|
throw new Error(`${this.entity}.${this.fieldName} has not been ${noun} yet`);
|
|
177
178
|
}
|
|
178
|
-
return this
|
|
179
|
+
return this.filterDeleted(this.#state.doGet(), opts);
|
|
179
180
|
}
|
|
180
181
|
get fieldValue() {
|
|
181
182
|
return (0, fields_1.getField)(this.entity, this.fieldName);
|
|
@@ -205,20 +206,18 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
205
206
|
return !!this.maybeFindEntity();
|
|
206
207
|
}
|
|
207
208
|
preload() {
|
|
208
|
-
this.#
|
|
209
|
-
this.#loadedMode = "ref";
|
|
209
|
+
this.#state = new RRRefState(this, this.maybeFindEntity());
|
|
210
210
|
this.#isLoaded = true;
|
|
211
211
|
this.#isCached = true;
|
|
212
212
|
}
|
|
213
213
|
unload() {
|
|
214
|
-
this.#
|
|
215
|
-
this.#loadedMode = undefined;
|
|
214
|
+
this.#state = new RRUnloadedState(this);
|
|
216
215
|
this.#isLoaded = false;
|
|
217
216
|
this.#isCached = false;
|
|
217
|
+
this.#loadPromise = undefined;
|
|
218
218
|
}
|
|
219
219
|
import(other, findEntity) {
|
|
220
|
-
this.#
|
|
221
|
-
this.#loadedMode = "ref";
|
|
220
|
+
this.#state = other.#state.import(this, findEntity);
|
|
222
221
|
this.#isLoaded = true;
|
|
223
222
|
this.#isCached = true;
|
|
224
223
|
}
|
|
@@ -268,8 +267,10 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
268
267
|
if (this.isCascadeDelete)
|
|
269
268
|
return;
|
|
270
269
|
(0, fields_1.setField)(this.entity, this.fieldName, undefined);
|
|
271
|
-
this.#
|
|
270
|
+
this.#state = new RRRefState(this, undefined);
|
|
272
271
|
this.#isLoaded = false;
|
|
272
|
+
this.#isCached = false;
|
|
273
|
+
this.#loadPromise = undefined;
|
|
273
274
|
}
|
|
274
275
|
// We need to keep U in data[fieldName] to handle entities without an id assigned yet.
|
|
275
276
|
current(opts) {
|
|
@@ -317,9 +318,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
|
|
|
317
318
|
*/
|
|
318
319
|
maybeFindEntity() {
|
|
319
320
|
// Check this.loaded first b/c a new entity won't have an id yet
|
|
321
|
+
if (this.#state.canReturnValue) {
|
|
322
|
+
const loaded = this.#state.doGet();
|
|
323
|
+
if (loaded !== undefined) {
|
|
324
|
+
return loaded;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
320
327
|
const { idTaggedMaybe } = this;
|
|
321
|
-
return (this
|
|
322
|
-
(idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined));
|
|
328
|
+
return ((idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined));
|
|
323
329
|
}
|
|
324
330
|
[Relation_1.RelationT] = null;
|
|
325
331
|
[Relation_1.RelationU] = null;
|
|
@@ -330,4 +336,58 @@ exports.ReactiveReferenceImpl = ReactiveReferenceImpl;
|
|
|
330
336
|
function isReactiveReference(maybeReactiveRef) {
|
|
331
337
|
return maybeReactiveRef instanceof ReactiveReferenceImpl;
|
|
332
338
|
}
|
|
339
|
+
class RRUnloadedState {
|
|
340
|
+
kind = "unloaded";
|
|
341
|
+
canReturnValue = false;
|
|
342
|
+
#rr;
|
|
343
|
+
constructor(rr) {
|
|
344
|
+
this.#rr = rr;
|
|
345
|
+
}
|
|
346
|
+
doGet() {
|
|
347
|
+
throw new Error(`${this.#rr.entity}.${this.#rr.fieldName} was not loaded`);
|
|
348
|
+
}
|
|
349
|
+
enterRecalcMode(target) {
|
|
350
|
+
return new RRFullState(target, undefined);
|
|
351
|
+
}
|
|
352
|
+
import(target, _findEntity) {
|
|
353
|
+
return new RRUnloadedState(target);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
class RRRefState {
|
|
357
|
+
kind = "ref";
|
|
358
|
+
canReturnValue = true;
|
|
359
|
+
#loaded;
|
|
360
|
+
constructor(_rr, loaded) {
|
|
361
|
+
this.#loaded = loaded;
|
|
362
|
+
}
|
|
363
|
+
doGet() {
|
|
364
|
+
return this.#loaded;
|
|
365
|
+
}
|
|
366
|
+
enterRecalcMode(target) {
|
|
367
|
+
return new RRFullState(target, this.#loaded);
|
|
368
|
+
}
|
|
369
|
+
import(target, findEntity) {
|
|
370
|
+
return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
class RRFullState {
|
|
374
|
+
kind = "full";
|
|
375
|
+
canReturnValue = true;
|
|
376
|
+
#loaded;
|
|
377
|
+
constructor(_rr, loaded) {
|
|
378
|
+
this.#loaded = loaded;
|
|
379
|
+
}
|
|
380
|
+
doGet() {
|
|
381
|
+
return this.#loaded;
|
|
382
|
+
}
|
|
383
|
+
enterRecalcMode(_target) {
|
|
384
|
+
return this;
|
|
385
|
+
}
|
|
386
|
+
import(target, findEntity) {
|
|
387
|
+
return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
function mapReactiveReferenceEntity(entity, findEntity) {
|
|
391
|
+
return (0, __1.isEntity)(entity) ? findEntity(entity) : entity;
|
|
392
|
+
}
|
|
333
393
|
//# sourceMappingURL=ReactiveReference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":";;;AAkEA,oDAUC;AA+VD,kDAEC;AA7aD,0BAeY;AAGZ,sCAA+C;AAE/C,4CAAyC;AACzC,oDAAgG;AAChG,iEAA+E;AAC/E,6DAAiE;AACjE,2CAAoD;AACpD,yCAAkD;AAwClD,qCAAqC;AACrC,SAAgB,oBAAoB,CAKlC,IAAO,EAAE,EAAwD;IACjE,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,IAAA,eAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAmB,CAAC;QACvE,OAAO,IAAI,qBAAqB,CAAa,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,qBAMX,SAAQ,2CAA0B;IAoBzB;IACC;IAlBD,UAAU,CAAmB;IAC7B,UAAU,CAAiB;IAC3B,aAAa,CAAI;IAC1B,uEAAuE;IACvE,OAAO,CAAqB;IAC5B,2EAA2E;IAC3E,4DAA4D;IAC5D,WAAW,GAA+B,SAAS,CAAC;IACpD,6EAA6E;IAC7E,4DAA4D;IAC5D,SAAS,GAAwB,SAAS,CAAC;IAC3C,SAAS,GAAY,KAAK,CAAC;IAC3B,YAAY,CAAM;IAElB,YACE,MAAS,EACT,KAAqB,EACd,YAAe,EACd,EAAwD;QAEhE,KAAK,CAAC,MAAM,CAAC,CAAC;QAHP,iBAAY,GAAZ,YAAY,CAAG;QACd,OAAE,GAAF,EAAE,CAAsD;QAGhE,iDAAiD;QACjD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAA6B,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,+FAA+F;QAC/F,2FAA2F;QAC3F,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,gEAAgE;QAClE,CAAC;QACD,4GAA4G;QAC5G,0GAA0G;QAC1G,IAAA,mBAAe,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAiD;QAC1D,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YACxC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,yFAAyF;YACzF,yFAAyF;YACzF,0CAA0C;YAC1C,MAAM,UAAU,GAAG,IAAI,EAAE,WAAW,IAAI,IAAA,oBAAgB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClH,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC5F,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;oBAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;oBAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzD,6EAA6E;oBAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,8EAA8E;gBAC9E,kFAAkF;gBAClF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,IAAA,YAAQ,EAAC,OAAO,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzD,OAAO,OAAO,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnF,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;wBAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACzD,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CAAC,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,2GAA2G;QAC3G,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxD,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,2FAA2F;QAC3F,MAAM,UAAU,GAAG,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzG,IAAI,UAAU,EAAE,CAAC;YACf,oEAAoE;YACpE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAA,YAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,IAAgC;QAC5C,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,gFAAgF;QAChF,qCAAqC;QACrC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,SAAe,CAAC;QAClF,CAAC;QACD,gFAAgF;QAChF,0FAA0F;QAC1F,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,MAAa,CAAQ,EAAE,IAAI,CAAC,CAAC;YACzE,4EAA4E;YAC5E,+EAA+E;YAC/E,6EAA6E;YAC7E,oDAAoD;YACpD,IAAI,CAAC,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,mFAAmF;YACnF,iFAAiF;YACjF,wDAAwD;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,iBAAiB,IAAI,MAAM,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,SAAe,CAAC;IAClF,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,CAAQ;QACV,IAAA,QAAI,EAAC,cAAc,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,8BAA8B,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,MAAa;QACnB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,IAAA,cAAU,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,uGAAuG;QACvG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAA,YAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAwC,EAAE,UAAuB;QACtE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,kDAAkD;IAClD,IAAI,aAAa;QACf,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,IAAA,6BAAyB,EAAC,IAAI,CAAC,OAAO,EAAE,CAAiB,CAAC;IACnE,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,IAAI,IAAA,6BAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,eAAe,IAAI,IAAA,6BAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,IAAI,IAAA,oCAAe,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAA,oCAAe,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,QAAQ;QACV,MAAM,IAAI,GAAG,IAAA,eAAW,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;IAEf,2CAA2C;IAC3C,IAAY,OAAO;QACjB,IAAA,oBAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,IAAA,UAAM,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,IAAA,WAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,CAAkB;QAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,yBAAyB,CAAC,CAAC;IAC/F,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAY,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,qFAAqF;QACrF,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,SAAgB,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,sFAAsF;IACtF,OAAO,CAAC,IAAgC;QACtC,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,IAAI,IAAA,YAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,OAAY,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,SAAS;QAClB,OAAQ,IAAA,eAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAoB,CAAC,aAAa,EAAE,CAAC;IACjG,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ;QACb,OAAO,6BAA6B,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,QAAQ,gBAAgB,IAAI,CAAC,SAAS;;aAE5F,IAAI,CAAC,EAAE,GAAG,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CAAC,MAAa,EAAE,IAAgC;QACnE,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACrE,OAAO,SAAU,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,IAAA,sCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,gEAAgE;QAChE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,OAAO,CACL,IAAI,CAAC,OAAO;YACZ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAW,CAAC,CAAC,CAAE,SAAe,CAAC,CACtG,CAAC;IACJ,CAAC;IAED,CAAC,oBAAS,CAAC,GAAM,IAAK,CAAC;IACvB,CAAC,oBAAS,CAAC,GAAM,IAAK,CAAC;IACvB,CAAC,sBAAU,CAAC,GAAM,IAAK,CAAC;CACzB;AApUD,sDAoUC;AAED,oFAAoF;AACpF,SAAgB,mBAAmB,CAAC,gBAAqB;IACvD,OAAO,gBAAgB,YAAY,qBAAqB,CAAC;AAC3D,CAAC"}
|
|
1
|
+
{"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
|