joist-core 2.1.0 → 2.2.0-next.2
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 +4 -2
- 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 +25 -39
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +97 -44
- 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 +67 -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 +2 -1
- package/build/dataloaders/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +26 -23
- 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/dataloaders/findPaginatedDataLoader.d.ts +8 -0
- package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.js +76 -0
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -0
- 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 +6 -4
- package/build/drivers/buildRawQuery.d.ts.map +1 -1
- package/build/drivers/buildRawQuery.js +6 -5
- 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/json.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity } from "./Entity";
|
|
2
2
|
import { IdOf } from "./EntityManager";
|
|
3
|
-
import { AsyncMethod,
|
|
3
|
+
import { AsyncMethod, Collection, Property, ReactiveGetter, Reference } from "./relations";
|
|
4
4
|
/**
|
|
5
5
|
* A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
|
|
6
6
|
*
|
|
@@ -33,7 +33,7 @@ export type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<key
|
|
|
33
33
|
export type Jsonable<T extends Entity> = {
|
|
34
34
|
-readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;
|
|
35
35
|
};
|
|
36
|
-
export type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends
|
|
36
|
+
export type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends Property<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
|
|
37
37
|
/**
|
|
38
38
|
* Provides an API to put an entity, or list of entities, into a JSON payload.
|
|
39
39
|
*
|
|
@@ -62,7 +62,7 @@ export declare function toJSON<T extends Entity, const H extends JsonHint<T>>(en
|
|
|
62
62
|
export type JsonPayload<T, H> = {
|
|
63
63
|
[HK in keyof NormalizeHint<H> & string]: HK extends keyof T ? JsonPayloadKey<T, H, HK, HK> : HK extends `${infer TK extends string & keyof T}Id` ? JsonPayloadKey<T, H, TK, HK> : HK extends `${infer SK extends string}Ids` ? `${SK}s` extends keyof T ? JsonPayloadKey<T, H, `${SK}s`, HK> : JsonPayloadCustom<NormalizeHint<H>[HK]> : JsonPayloadCustom<NormalizeHint<H>[HK]>;
|
|
64
64
|
};
|
|
65
|
-
type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends
|
|
65
|
+
type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends Property<any, infer U> ? JsonPayloadProperty<U, NormalizeHint<H>[HK]> : T[TK] extends ReactiveGetter<any, infer V> ? V : T[TK];
|
|
66
66
|
type JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;
|
|
67
67
|
type JsonPayloadCollection<U extends Entity, H> = H extends true ? IdOf<U>[] : IsEmpty<H> extends true ? IdOf<U>[] : JsonPayload<U, H>[];
|
|
68
68
|
type JsonPayloadProperty<P, H> = P extends Entity | undefined ? JsonPayloadReference<P, H> : P extends (infer U extends Entity)[] | undefined ? JsonPayloadCollection<U, H> : P;
|
package/build/json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
|
package/build/json.js
CHANGED
|
@@ -8,8 +8,8 @@ const reactiveHints_1 = require("./reactiveHints");
|
|
|
8
8
|
const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
|
|
9
9
|
const ReactiveField_1 = require("./relations/ReactiveField");
|
|
10
10
|
const ReactiveGetter_1 = require("./relations/ReactiveGetter");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const AsyncReactiveField_1 = require("./relations/AsyncReactiveField");
|
|
12
|
+
const hasProperty_1 = require("./relations/hasProperty");
|
|
13
13
|
async function toJSON(entityOrList, hint) {
|
|
14
14
|
// If called with a list, and nothing there, just early return
|
|
15
15
|
if (Array.isArray(entityOrList) && entityOrList.length === 0)
|
|
@@ -62,8 +62,8 @@ async function copyToPayload(payload, entity, hint) {
|
|
|
62
62
|
else if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl ||
|
|
63
63
|
value instanceof ReactiveField_1.ReactiveFieldImpl ||
|
|
64
64
|
value instanceof ReactiveGetter_1.ReactiveGetterImpl ||
|
|
65
|
-
value instanceof
|
|
66
|
-
value instanceof
|
|
65
|
+
value instanceof AsyncReactiveField_1.AsyncReactiveFieldImpl ||
|
|
66
|
+
value instanceof hasProperty_1.PropertyImpl) {
|
|
67
67
|
await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
|
|
68
68
|
}
|
|
69
69
|
else {
|
package/build/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":";;AAkGA,wBA4BC;AA9HD,qCAA4C;AAE5C,qDAA+C;AAC/C,qDAAiD;AACjD,mDAAoD;AAEpD,2EAAwE;AACxE,6DAA8D;AAC9D,+DAAgE;AAChE,uEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
|
package/build/loadHints.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity } from "./Entity";
|
|
2
2
|
import { NormalizeHint } from "./normalizeHints";
|
|
3
|
-
import { AsyncMethod,
|
|
3
|
+
import { AsyncMethod, Collection, LoadedCollection, LoadedMethod, LoadedProperty, LoadedReadOnlyCollection, LoadedReference, OneToOneReference, Property, ReadOnlyCollection, Reference, Relation } from "./relations";
|
|
4
4
|
import { LoadedOneToOneReference } from "./relations/OneToOneReference";
|
|
5
5
|
import { OptsOf } from "./typeMap";
|
|
6
6
|
import { MaybePromise, NullOrDefinedOr } from "./utils";
|
|
@@ -10,11 +10,11 @@ type DeepLoadHint<T extends Entity> = NestedLoadHint<T> & {
|
|
|
10
10
|
};
|
|
11
11
|
type MaybeBaseType = any;
|
|
12
12
|
/** Marks a given `T[K]` field as the loaded/synchronous version of the collection. */
|
|
13
|
-
export type MarkLoaded<T extends Entity, P, UH = {}> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends
|
|
13
|
+
export type MarkLoaded<T extends Entity, P, UH = {}> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends Property<MaybeBaseType, infer V> ? [
|
|
14
14
|
V
|
|
15
15
|
] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
|
|
16
16
|
/** A version of MarkLoaded the uses `DeepLoadHint` for tests. */
|
|
17
|
-
type MarkDeepLoaded<T extends Entity, P> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends
|
|
17
|
+
type MarkDeepLoaded<T extends Entity, P> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends Property<MaybeBaseType, infer V> ? [
|
|
18
18
|
V
|
|
19
19
|
] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
|
|
20
20
|
/**
|
|
@@ -66,7 +66,7 @@ export type Loadable<T extends Entity> = {
|
|
|
66
66
|
* Note that we usually return entities, but for AsyncProperties it could be
|
|
67
67
|
* a calculated primitive value like number or string.
|
|
68
68
|
*/
|
|
69
|
-
export type LoadableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends
|
|
69
|
+
export type LoadableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends Property<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
|
|
70
70
|
/**
|
|
71
71
|
* A load hint of a single key, multiple keys, or nested keys and sub-hints.
|
|
72
72
|
*
|
package/build/loadHints.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadHints.d.ts","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"loadHints.d.ts","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":"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"}
|
package/build/loadLens.js
CHANGED
|
@@ -247,7 +247,7 @@ function lensToPath(fn) {
|
|
|
247
247
|
}
|
|
248
248
|
function isNotLoaded(object, path) {
|
|
249
249
|
const value = object && object[path];
|
|
250
|
-
if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl || (0, relations_1.
|
|
250
|
+
if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl || (0, relations_1.isProperty)(value)) {
|
|
251
251
|
return !value.isLoaded;
|
|
252
252
|
}
|
|
253
253
|
return false;
|
package/build/loadLens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadLens.js","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":";;AAqFA,4BAmFC;AAED,sCAUC;AAGD,4CAaC;AAqBD,0BA4CC;AAOD,oCA8BC;AAGD,wCAOC;AAGD,gCAEC;AAzTD,qCAA4C;AAC5C,mDAA8C;AAC9C,qDAS0B;AAC1B,iEAA8D;AAE9D,
|
|
1
|
+
{"version":3,"file":"loadLens.js","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,6 +108,7 @@ function calcLateralJoins(assigner, root, tree, parentAlias, parentMeta, pathPre
|
|
|
108
108
|
const aliasMaybeSuffix = (0, keywords_1.kq)(`${parentAlias}${field.aliasSuffix}`);
|
|
109
109
|
const cb = new ConditionBuilder_1.ConditionBuilder();
|
|
110
110
|
let m2mTable;
|
|
111
|
+
let m2mAlias;
|
|
111
112
|
if (otherField.kind === "m2o") {
|
|
112
113
|
cb.addRawCondition({
|
|
113
114
|
aliases: [otherAlias, parentAlias],
|
|
@@ -141,7 +142,7 @@ function calcLateralJoins(assigner, root, tree, parentAlias, parentMeta, pathPre
|
|
|
141
142
|
});
|
|
142
143
|
}
|
|
143
144
|
else if (otherField.kind === "m2m") {
|
|
144
|
-
|
|
145
|
+
m2mAlias = assigner.getAlias(otherField.joinTableName);
|
|
145
146
|
// Get the m2m row's id to track in JoinRows
|
|
146
147
|
selects.unshift((0, keywords_1.kqDot)(m2mAlias, "id"));
|
|
147
148
|
m2mTable = {
|
|
@@ -181,7 +182,10 @@ function calcLateralJoins(assigner, root, tree, parentAlias, parentMeta, pathPre
|
|
|
181
182
|
fromAlias: "unset",
|
|
182
183
|
table: otherMeta.tableName,
|
|
183
184
|
query: {
|
|
184
|
-
|
|
185
|
+
// For m2m, order by the join-row's id so preloaded results match the
|
|
186
|
+
// order the lazy batch loader returns (which orders by join-row id).
|
|
187
|
+
// Otherwise, order by the target entity's id.
|
|
188
|
+
selects: [`json_agg(json_build_array(${selects.join(", ")}) order by ${(0, keywords_1.kq)(m2mAlias ?? otherAlias)}.id) as _`],
|
|
185
189
|
tables: [
|
|
186
190
|
{ join: "primary", table: otherMeta.tableName, alias: otherAlias },
|
|
187
191
|
...(m2mTable ? [m2mTable] : []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonAggregatePreloader.js","sourceRoot":"","sources":["../../src/preloading/JsonAggregatePreloader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"JsonAggregatePreloader.js","sourceRoot":"","sources":["../../src/preloading/JsonAggregatePreloader.ts"],"names":[],"mappings":"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"}
|
package/build/reactiveHints.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { EntityMetadata } from "./EntityMetadata";
|
|
|
4
4
|
import { Changes } from "./changes";
|
|
5
5
|
import { Loadable, Loaded, LoadHint } from "./loadHints";
|
|
6
6
|
import { NormalizeHint, SuffixSeperator } from "./normalizeHints";
|
|
7
|
-
import {
|
|
7
|
+
import { Collection, LoadedCollection, LoadedProperty, LoadedReadOnlyCollection, LoadedReference, OneToOneReference, PolymorphicReference, Property, ReactiveGetter, ReadOnlyCollection, Reference } from "./relations";
|
|
8
8
|
import { LoadedOneToOneReference } from "./relations/OneToOneReference";
|
|
9
9
|
import { FieldsOf, RelationsOf } from "./typeMap";
|
|
10
10
|
/** The keys in `T` that rules & hooks can react to. */
|
|
@@ -37,7 +37,7 @@ export type NestedReactiveHint<T extends Entity> = {
|
|
|
37
37
|
};
|
|
38
38
|
/** Given an entity `T` that is being reacted with hint `H`, mark only the `H` attributes visible & populated. */
|
|
39
39
|
export type Reacted<T extends Entity, H> = Entity & {
|
|
40
|
-
[K in keyof NormalizeHint<H> & keyof T]: T[K] extends OneToOneReference<any, infer U> ? LoadedOneToOneReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends PolymorphicReference<any, infer U, infer N> ? PolymorphicReference<T, U, N> & LoadedReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>, N> : T[K] extends Reference<any, infer U, infer N> ? LoadedReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>, N> : T[K] extends Collection<any, infer U> ? LoadedCollection<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends ReadOnlyCollection<any, infer U> ? LoadedReadOnlyCollection<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends
|
|
40
|
+
[K in keyof NormalizeHint<H> & keyof T]: T[K] extends OneToOneReference<any, infer U> ? LoadedOneToOneReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends PolymorphicReference<any, infer U, infer N> ? PolymorphicReference<T, U, N> & LoadedReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>, N> : T[K] extends Reference<any, infer U, infer N> ? LoadedReference<T, Entity & Reacted<U, NormalizeHint<H>[K]>, N> : T[K] extends Collection<any, infer U> ? LoadedCollection<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends ReadOnlyCollection<any, infer U> ? LoadedReadOnlyCollection<T, Entity & Reacted<U, NormalizeHint<H>[K]>> : T[K] extends Property<any, infer V> ? LoadedProperty<any, V> : T[K];
|
|
41
41
|
} & {
|
|
42
42
|
/**
|
|
43
43
|
* Gives reactive rules & fields a way to get the full entity if they really need it.
|
|
@@ -55,10 +55,10 @@ export type MaybeReactedEntity<V> = V extends Entity ? {
|
|
|
55
55
|
fullNonReactiveAccess: V;
|
|
56
56
|
} : V;
|
|
57
57
|
/**
|
|
58
|
-
* Allow returning reacted entities from `
|
|
58
|
+
* Allow returning reacted entities from `hasReactiveProperty`.
|
|
59
59
|
*
|
|
60
60
|
* The `MaybeReactedEntity` is used by `hasReactiveReference` which already has `undefined | never`
|
|
61
|
-
* broken out as a separate generic; `
|
|
61
|
+
* broken out as a separate generic; `hasReactiveProperty` does not, and so this type conditionally
|
|
62
62
|
* pulls `undefined` out first, and then defers to `MaybeReactedEntity`.
|
|
63
63
|
*/
|
|
64
64
|
export type MaybeReactedPropertyEntity<V> = V extends (infer V1 extends Entity) | undefined ? MaybeReactedEntity<V1> | undefined : MaybeReactedEntity<V>;
|
|
@@ -90,7 +90,7 @@ export declare function reverseReactiveHint<T extends Entity>(rootType: MaybeAbs
|
|
|
90
90
|
* I.e. given `[book1, book2]` and `["author", 'publisher"]`, will return all the books' authors' publishers.
|
|
91
91
|
*
|
|
92
92
|
* Note that for references (and only references), we walk both through "the current value"
|
|
93
|
-
* and
|
|
93
|
+
* and prior values remembered in `referenceHistory`. This is fundamentally because references are the true "owner"
|
|
94
94
|
* of the relation, while collections are derived.
|
|
95
95
|
*
|
|
96
96
|
* For example, with reversals walking through collections:
|
|
@@ -105,8 +105,18 @@ export declare function reverseReactiveHint<T extends Entity>(rootType: MaybeAbs
|
|
|
105
105
|
*
|
|
106
106
|
* - Given a hint `author: { books: "title" }`
|
|
107
107
|
* - Which reverses to `book[title] -> author`
|
|
108
|
-
* - When we traverse through `b1.author`, we use both the current value and
|
|
109
|
-
* "our prior
|
|
108
|
+
* - When we traverse through `b1.author`, we use both the current value and remembered values, so that both
|
|
109
|
+
* "our prior authors" and "our new author" see their latest `author.books` collection values.
|
|
110
|
+
*
|
|
111
|
+
* Delete cleanup runs before reverse hints are walked, so the current relation value may already be unset by the
|
|
112
|
+
* time we get here. For persisted entities, `cleanupOnEntityDeleted` clears the owning FK via `setField`, which
|
|
113
|
+
* remembers the prior FK in `referenceHistory`; this lets us still find the old owner. For collection reversals
|
|
114
|
+
* this is enough because collections are derived from the owning FK: removing `b1` from `a1.books` is represented
|
|
115
|
+
* by `b1.author` changing, not by an independent "old books" snapshot.
|
|
116
|
+
*
|
|
117
|
+
* References can also have transient values during a unit of work, i.e. a ReactiveField might observe `b1.author=a2`
|
|
118
|
+
* before the final flush changes it to `a3`. `setField` remembers both original and transient reference values
|
|
119
|
+
* separately from `originalData`, and we walk them in addition to the current value.
|
|
110
120
|
*/
|
|
111
121
|
export declare function followReverseHint(reactionName: string, entities: Entity[], reverseHint: string[]): Promise<Entity[]>;
|
|
112
122
|
/** Converts a normalized reactive `hint` into a load hint. */
|
|
@@ -121,6 +131,13 @@ export interface ReactiveTarget {
|
|
|
121
131
|
/** The path from this `entity` back to the source reactive rule/field. */
|
|
122
132
|
path: string[];
|
|
123
133
|
}
|
|
134
|
+
/** Returns true if `entity` is exactly `typeName` or a subtype of `typeName`.
|
|
135
|
+
*
|
|
136
|
+
* Used to honor poly/type filters like `@Publisher` during reverse-hint walks:
|
|
137
|
+
* a `SmallPublisher` entity should pass an `@Publisher` filter because it is
|
|
138
|
+
* a Publisher via inheritance.
|
|
139
|
+
*/
|
|
140
|
+
export declare function isTypeOrSubType(entity: Entity, typeName: string): boolean;
|
|
124
141
|
export declare function isPolyHint(key: string): boolean;
|
|
125
142
|
export declare function splitPolyHintToKeyAndType(key: string): [string, string];
|
|
126
143
|
/** If this hint is a poly like `author@Book`, return the type, otherwise return undefined. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactiveHints.d.ts","sourceRoot":"","sources":["../src/reactiveHints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reactiveHints.d.ts","sourceRoot":"","sources":["../src/reactiveHints.ts"],"names":[],"mappings":"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"}
|
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("@");
|