joist-core 2.4.0-next.2 → 2.4.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.cjs +25 -11
- package/build/EntityManager.cjs.map +1 -1
- package/build/EntityManager.d.cts +11 -4
- package/build/EntityManager.d.cts.map +1 -1
- package/build/EntityManager.d.mts +11 -4
- package/build/EntityManager.d.mts.map +1 -1
- package/build/EntityManager.js +25 -13
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.cjs +0 -1
- package/build/EntityMetadata.cjs.map +1 -1
- package/build/EntityMetadata.d.cts +8 -4
- package/build/EntityMetadata.d.cts.map +1 -1
- package/build/EntityMetadata.d.mts +8 -4
- package/build/EntityMetadata.d.mts.map +1 -1
- package/build/EntityMetadata.js +0 -1
- package/build/EntityMetadata.js.map +1 -1
- package/build/IndexManager.cjs +23 -5
- package/build/IndexManager.cjs.map +1 -1
- package/build/IndexManager.d.cts.map +1 -1
- package/build/IndexManager.d.mts.map +1 -1
- package/build/IndexManager.js +23 -5
- package/build/IndexManager.js.map +1 -1
- package/build/batchloaders/populateBatchLoader.cjs +2 -2
- package/build/batchloaders/populateBatchLoader.js +2 -2
- package/build/batchloaders/recursiveChildrenBatchLoader.cjs +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.cjs +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.cjs +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +1 -1
- package/build/config.cjs +74 -1
- package/build/config.cjs.map +1 -1
- package/build/config.d.cts +83 -2
- package/build/config.d.cts.map +1 -1
- package/build/config.d.mts +83 -2
- package/build/config.d.mts.map +1 -1
- package/build/config.js +74 -1
- package/build/config.js.map +1 -1
- package/build/configure.cjs +6 -2
- package/build/configure.cjs.map +1 -1
- package/build/configure.d.cts.map +1 -1
- package/build/configure.d.mts.map +1 -1
- package/build/configure.js +6 -2
- package/build/configure.js.map +1 -1
- package/build/dataloaders/findDataLoader.cjs +1 -1
- package/build/dataloaders/findDataLoader.js +1 -1
- package/build/dataloaders/findOrCreateDataLoader.cjs +6 -2
- package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +7 -3
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.cjs +1 -1
- package/build/dataloaders/findPaginatedDataLoader.js +1 -1
- package/build/defaults.cjs +2 -2
- package/build/defaults.js +2 -2
- package/build/fields.cjs +1 -0
- package/build/fields.cjs.map +1 -1
- package/build/fields.d.cts.map +1 -1
- package/build/fields.d.mts.map +1 -1
- package/build/fields.js +1 -0
- package/build/fields.js.map +1 -1
- package/build/index.cjs +13 -8
- package/build/index.cjs.map +1 -1
- package/build/index.d.cts +4 -3
- package/build/index.d.cts.map +1 -1
- package/build/index.d.mts +4 -3
- package/build/index.d.mts.map +1 -1
- package/build/index.js +13 -10
- package/build/index.js.map +1 -1
- package/build/json.cjs +3 -3
- package/build/json.js +3 -3
- package/build/loading/loadHints.cjs +1 -1
- package/build/loading/loadHints.js +1 -1
- package/build/loading/withLoaded.cjs +2 -2
- package/build/loading/withLoaded.js +2 -2
- package/build/newTestInstance.cjs +1 -0
- package/build/newTestInstance.cjs.map +1 -1
- package/build/newTestInstance.d.cts.map +1 -1
- package/build/newTestInstance.d.mts.map +1 -1
- package/build/newTestInstance.js +1 -0
- package/build/newTestInstance.js.map +1 -1
- package/build/preloading/partitionHint.cjs +1 -1
- package/build/preloading/partitionHint.js +1 -1
- package/build/queries/sql/execute.cjs +68 -89
- package/build/queries/sql/execute.cjs.map +1 -1
- package/build/queries/sql/execute.d.cts +35 -18
- package/build/queries/sql/execute.d.cts.map +1 -1
- package/build/queries/sql/execute.d.mts +35 -18
- package/build/queries/sql/execute.d.mts.map +1 -1
- package/build/queries/sql/execute.js +70 -91
- package/build/queries/sql/execute.js.map +1 -1
- package/build/queries/sql/query.cjs +77 -30
- package/build/queries/sql/query.cjs.map +1 -1
- package/build/queries/sql/query.d.cts +64 -21
- package/build/queries/sql/query.d.cts.map +1 -1
- package/build/queries/sql/query.d.mts +64 -21
- package/build/queries/sql/query.d.mts.map +1 -1
- package/build/queries/sql/query.js +75 -30
- package/build/queries/sql/query.js.map +1 -1
- package/build/reactivity/ReactionsManager.cjs +168 -2
- package/build/reactivity/ReactionsManager.cjs.map +1 -1
- package/build/reactivity/ReactionsManager.d.cts +54 -1
- package/build/reactivity/ReactionsManager.d.cts.map +1 -1
- package/build/reactivity/ReactionsManager.d.mts +54 -1
- package/build/reactivity/ReactionsManager.d.mts.map +1 -1
- package/build/reactivity/ReactionsManager.js +169 -3
- package/build/reactivity/ReactionsManager.js.map +1 -1
- package/build/reactivity/reactiveHints.cjs +3 -3
- package/build/reactivity/reactiveHints.cjs.map +1 -1
- package/build/reactivity/reactiveHints.d.cts.map +1 -1
- package/build/reactivity/reactiveHints.d.mts.map +1 -1
- package/build/reactivity/reactiveHints.js +3 -3
- package/build/reactivity/reactiveHints.js.map +1 -1
- package/build/relations/AsyncReactiveField.cjs +3 -3
- package/build/relations/AsyncReactiveField.js +3 -3
- package/build/relations/LazyField.cjs +14 -0
- package/build/relations/LazyField.cjs.map +1 -1
- package/build/relations/LazyField.d.cts +6 -0
- package/build/relations/LazyField.d.cts.map +1 -1
- package/build/relations/LazyField.d.mts +6 -0
- package/build/relations/LazyField.d.mts.map +1 -1
- package/build/relations/LazyField.js +14 -0
- package/build/relations/LazyField.js.map +1 -1
- package/build/relations/ReactiveField.cjs +2 -2
- package/build/relations/ReactiveField.js +2 -2
- package/build/relations/ReactiveManyToMany.cjs +1 -1
- package/build/relations/ReactiveManyToMany.js +1 -1
- package/build/relations/ReactiveReference.cjs +1 -1
- package/build/relations/ReactiveReference.js +1 -1
- package/build/relations/RecursiveCollection.cjs +3 -3
- package/build/relations/RecursiveCollection.js +3 -3
- package/build/relations/hasProperty.cjs +2 -2
- package/build/relations/hasProperty.js +2 -2
- package/build/relations/index.cjs +5 -5
- package/build/relations/index.js +5 -5
- package/build/resurrection.cjs +11 -1
- package/build/resurrection.cjs.map +1 -1
- package/build/resurrection.d.cts +4 -1
- package/build/resurrection.d.cts.map +1 -1
- package/build/resurrection.d.mts +4 -1
- package/build/resurrection.d.mts.map +1 -1
- package/build/resurrection.js +11 -2
- package/build/resurrection.js.map +1 -1
- package/build/transitions.cjs +89 -0
- package/build/transitions.cjs.map +1 -0
- package/build/transitions.d.cts +110 -0
- package/build/transitions.d.cts.map +1 -0
- package/build/transitions.d.mts +110 -0
- package/build/transitions.d.mts.map +1 -0
- package/build/transitions.js +84 -0
- package/build/transitions.js.map +1 -0
- package/package.json +2 -2
|
@@ -13,10 +13,11 @@ import { ExpressionFilter, FindFilter, UniqueFilter } from "./queries/find/Entit
|
|
|
13
13
|
import { MaybePromise } from "./utils.cjs";
|
|
14
14
|
import { LoadHint, Loaded, New } from "./loading/loadHints.cjs";
|
|
15
15
|
import { ReactiveHint } from "./reactivity/reactiveHints.cjs";
|
|
16
|
+
import { ValidationError, ValidationRuleResult } from "./rules.cjs";
|
|
16
17
|
import { RowData } from "./RowData.cjs";
|
|
17
18
|
import { EntityMetadata } from "./EntityMetadata.cjs";
|
|
18
19
|
import { Lens } from "./loading/loadLens.cjs";
|
|
19
|
-
import { CheckSetQuery, EntityQuery, QueryArg, QueryJoinInput, QueryRow, QuerySelect, QuerySource, ResolvedJoins, SetOperand, SetQuery, SetQueryRow
|
|
20
|
+
import { CheckSetQuery, EntityQuery, QueryArg, QueryJoinInput, QueryRow, QuerySelect, QuerySource, QueryTable, ResolvedJoins, SetOperand, SetQuery, SetQueryRow } from "./queries/sql/query.cjs";
|
|
20
21
|
import { PreloadPlugin } from "./plugins/PreloadPlugin.cjs";
|
|
21
22
|
import { Driver } from "./drivers/Driver.cjs";
|
|
22
23
|
import { CheckMutation, ExecuteResult, MutationInput, MutationRow } from "./queries/sql/execute.cjs";
|
|
@@ -207,7 +208,7 @@ declare class EntityManager<C = unknown, Entity$1 extends Entity = Entity, TX ex
|
|
|
207
208
|
* Population runs after the query, using the same relation loaders as `em.populate`.
|
|
208
209
|
* This method is not batched: these are custom queries, too unique to batch.
|
|
209
210
|
*/
|
|
210
|
-
query<R>(q:
|
|
211
|
+
query<R>(q: QueryTable<R, any>): Promise<R[]>;
|
|
211
212
|
query<T extends Entity$1>(q: EntityQuery<T>): Promise<T[]>;
|
|
212
213
|
query<T extends Entity$1, const H extends LoadHint<T>>(q: EntityQuery<T>, options: {
|
|
213
214
|
populate: H;
|
|
@@ -222,7 +223,7 @@ declare class EntityManager<C = unknown, Entity$1 extends Entity = Entity, TX ex
|
|
|
222
223
|
* reads retain query's decoding and permissions. Neither path flushes or repairs cached entities.
|
|
223
224
|
*/
|
|
224
225
|
execute<const M extends MutationInput>(statement: M & CheckMutation<M>): Promise<ExecuteResult<MutationRow<M>>>;
|
|
225
|
-
execute<R>(statement:
|
|
226
|
+
execute<R>(statement: QueryTable<R, any>): Promise<ExecuteResult<R>>;
|
|
226
227
|
execute<T extends Entity$1>(statement: EntityQuery<T>): Promise<ExecuteResult<T>>;
|
|
227
228
|
execute<const Q extends SetQuery<readonly SetOperand[]>>(statement: Q & CheckSetQuery<Q>): Promise<ExecuteResult<SetQueryRow<Q>>>;
|
|
228
229
|
execute<F extends QuerySource, const S extends QuerySelect = never, J extends QueryJoinInput = []>(statement: QueryArg<F, S, J, never>): Promise<ExecuteResult<QueryRow<S, ResolvedJoins<F, J>>>>;
|
|
@@ -810,12 +811,18 @@ declare class NotFoundError extends Error {}
|
|
|
810
811
|
declare class TooManyError extends Error {
|
|
811
812
|
constructor(message: string);
|
|
812
813
|
}
|
|
814
|
+
/** Invokes a single validation rule, coercing its result/sync throws into a promise. */
|
|
815
|
+
declare function invokeRule(entity: Entity, fn: (entity: any) => MaybePromise<ValidationRuleResult>): Promise<ValidationError[]>;
|
|
813
816
|
declare function driverBeforeBegin<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
814
817
|
declare function driverAfterBegin<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
815
818
|
declare function driverBeforeCommit<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
816
819
|
declare function driverAfterCommit<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
817
820
|
declare function isDefined<T extends any>(param: T | undefined | null): param is T;
|
|
818
821
|
declare function setLastNow(now: Date | undefined): void;
|
|
822
|
+
/** An error thrown by `em.flush` after a previous `em.flush` on the same EntityManager failed. */
|
|
823
|
+
declare class FailedFlushError extends Error {
|
|
824
|
+
constructor(cause: unknown);
|
|
825
|
+
}
|
|
819
826
|
/** An error thrown when `em.mode === "read-only"` but entities are mutated/flushed. */
|
|
820
827
|
declare class ReadOnlyError extends Error {
|
|
821
828
|
constructor();
|
|
@@ -831,5 +838,5 @@ declare function createRowFromEntityData(e: Entity, opts?: {
|
|
|
831
838
|
preferOriginalData?: boolean;
|
|
832
839
|
}): Record<string, any>;
|
|
833
840
|
//#endregion
|
|
834
|
-
export { EntityConstructor, EntityManager, EntityManagerHook, EntityManagerInternalApi, EntityManagerMode, EntityManagerOpts, FindCountFilterOptions, FindFilterOptions, FindGqlFilterOptions, FindOperation, FlushOptions, IdOf, LoaderCache, MaybeAbstractEntityConstructor, NotFoundError, ReadOnlyError, TaggedId, TimestampFields, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
841
|
+
export { EntityConstructor, EntityManager, EntityManagerHook, EntityManagerInternalApi, EntityManagerMode, EntityManagerOpts, FailedFlushError, FindCountFilterOptions, FindFilterOptions, FindGqlFilterOptions, FindOperation, FlushOptions, IdOf, LoaderCache, MaybeAbstractEntityConstructor, NotFoundError, ReadOnlyError, TaggedId, TimestampFields, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, invokeRule, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
835
842
|
//# sourceMappingURL=EntityManager.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.cts","names":[],"sources":["../src/EntityManager.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityManager.d.cts","names":[],"sources":["../src/EntityManager.ts"],"mappings":"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"}
|
|
@@ -13,10 +13,11 @@ import { ExpressionFilter, FindFilter, UniqueFilter } from "./queries/find/Entit
|
|
|
13
13
|
import { MaybePromise } from "./utils.mjs";
|
|
14
14
|
import { LoadHint, Loaded, New } from "./loading/loadHints.mjs";
|
|
15
15
|
import { ReactiveHint } from "./reactivity/reactiveHints.mjs";
|
|
16
|
+
import { ValidationError, ValidationRuleResult } from "./rules.mjs";
|
|
16
17
|
import { RowData } from "./RowData.mjs";
|
|
17
18
|
import { EntityMetadata } from "./EntityMetadata.mjs";
|
|
18
19
|
import { Lens } from "./loading/loadLens.mjs";
|
|
19
|
-
import { CheckSetQuery, EntityQuery, QueryArg, QueryJoinInput, QueryRow, QuerySelect, QuerySource, ResolvedJoins, SetOperand, SetQuery, SetQueryRow
|
|
20
|
+
import { CheckSetQuery, EntityQuery, QueryArg, QueryJoinInput, QueryRow, QuerySelect, QuerySource, QueryTable, ResolvedJoins, SetOperand, SetQuery, SetQueryRow } from "./queries/sql/query.mjs";
|
|
20
21
|
import { PreloadPlugin } from "./plugins/PreloadPlugin.mjs";
|
|
21
22
|
import { Driver } from "./drivers/Driver.mjs";
|
|
22
23
|
import { CheckMutation, ExecuteResult, MutationInput, MutationRow } from "./queries/sql/execute.mjs";
|
|
@@ -207,7 +208,7 @@ declare class EntityManager<C = unknown, Entity$1 extends Entity = Entity, TX ex
|
|
|
207
208
|
* Population runs after the query, using the same relation loaders as `em.populate`.
|
|
208
209
|
* This method is not batched: these are custom queries, too unique to batch.
|
|
209
210
|
*/
|
|
210
|
-
query<R>(q:
|
|
211
|
+
query<R>(q: QueryTable<R, any>): Promise<R[]>;
|
|
211
212
|
query<T extends Entity$1>(q: EntityQuery<T>): Promise<T[]>;
|
|
212
213
|
query<T extends Entity$1, const H extends LoadHint<T>>(q: EntityQuery<T>, options: {
|
|
213
214
|
populate: H;
|
|
@@ -222,7 +223,7 @@ declare class EntityManager<C = unknown, Entity$1 extends Entity = Entity, TX ex
|
|
|
222
223
|
* reads retain query's decoding and permissions. Neither path flushes or repairs cached entities.
|
|
223
224
|
*/
|
|
224
225
|
execute<const M extends MutationInput>(statement: M & CheckMutation<M>): Promise<ExecuteResult<MutationRow<M>>>;
|
|
225
|
-
execute<R>(statement:
|
|
226
|
+
execute<R>(statement: QueryTable<R, any>): Promise<ExecuteResult<R>>;
|
|
226
227
|
execute<T extends Entity$1>(statement: EntityQuery<T>): Promise<ExecuteResult<T>>;
|
|
227
228
|
execute<const Q extends SetQuery<readonly SetOperand[]>>(statement: Q & CheckSetQuery<Q>): Promise<ExecuteResult<SetQueryRow<Q>>>;
|
|
228
229
|
execute<F extends QuerySource, const S extends QuerySelect = never, J extends QueryJoinInput = []>(statement: QueryArg<F, S, J, never>): Promise<ExecuteResult<QueryRow<S, ResolvedJoins<F, J>>>>;
|
|
@@ -810,12 +811,18 @@ declare class NotFoundError extends Error {}
|
|
|
810
811
|
declare class TooManyError extends Error {
|
|
811
812
|
constructor(message: string);
|
|
812
813
|
}
|
|
814
|
+
/** Invokes a single validation rule, coercing its result/sync throws into a promise. */
|
|
815
|
+
declare function invokeRule(entity: Entity, fn: (entity: any) => MaybePromise<ValidationRuleResult>): Promise<ValidationError[]>;
|
|
813
816
|
declare function driverBeforeBegin<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
814
817
|
declare function driverAfterBegin<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
815
818
|
declare function driverBeforeCommit<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
816
819
|
declare function driverAfterCommit<TXN>(em: EntityManager<any, any, TXN>, txn: TXN): Promise<unknown>;
|
|
817
820
|
declare function isDefined<T extends any>(param: T | undefined | null): param is T;
|
|
818
821
|
declare function setLastNow(now: Date | undefined): void;
|
|
822
|
+
/** An error thrown by `em.flush` after a previous `em.flush` on the same EntityManager failed. */
|
|
823
|
+
declare class FailedFlushError extends Error {
|
|
824
|
+
constructor(cause: unknown);
|
|
825
|
+
}
|
|
819
826
|
/** An error thrown when `em.mode === "read-only"` but entities are mutated/flushed. */
|
|
820
827
|
declare class ReadOnlyError extends Error {
|
|
821
828
|
constructor();
|
|
@@ -831,5 +838,5 @@ declare function createRowFromEntityData(e: Entity, opts?: {
|
|
|
831
838
|
preferOriginalData?: boolean;
|
|
832
839
|
}): Record<string, any>;
|
|
833
840
|
//#endregion
|
|
834
|
-
export { EntityConstructor, EntityManager, EntityManagerHook, EntityManagerInternalApi, EntityManagerMode, EntityManagerOpts, FindCountFilterOptions, FindFilterOptions, FindGqlFilterOptions, FindOperation, FlushOptions, IdOf, LoaderCache, MaybeAbstractEntityConstructor, NotFoundError, ReadOnlyError, TaggedId, TimestampFields, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
841
|
+
export { EntityConstructor, EntityManager, EntityManagerHook, EntityManagerInternalApi, EntityManagerMode, EntityManagerOpts, FailedFlushError, FindCountFilterOptions, FindFilterOptions, FindGqlFilterOptions, FindOperation, FlushOptions, IdOf, LoaderCache, MaybeAbstractEntityConstructor, NotFoundError, ReadOnlyError, TaggedId, TimestampFields, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, invokeRule, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
835
842
|
//# sourceMappingURL=EntityManager.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.mts","names":[],"sources":["../src/EntityManager.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityManager.d.mts","names":[],"sources":["../src/EntityManager.ts"],"mappings":"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"}
|
package/build/EntityManager.js
CHANGED
|
@@ -2,15 +2,9 @@ import { BatchLoader } from "./batchloaders/BatchLoader.js";
|
|
|
2
2
|
import "./relations/Collection.js";
|
|
3
3
|
import { CustomCollection } from "./relations/CustomCollection.js";
|
|
4
4
|
import { CustomReference } from "./relations/CustomReference.js";
|
|
5
|
-
import { deepNormalizeHint } from "./normalizeHints.js";
|
|
6
|
-
import "./batchloaders/recursiveChildrenBatchLoader.js";
|
|
7
|
-
import "./batchloaders/recursiveM2mBatchLoader.js";
|
|
8
|
-
import "./batchloaders/recursiveParentsBatchLoader.js";
|
|
9
|
-
import { RecursiveCycleError } from "./relations/RecursiveCycleError.js";
|
|
10
|
-
import "./relations/RecursiveCollection.js";
|
|
11
|
-
import { followReverseHint } from "./reactivity/reactiveHints.js";
|
|
12
5
|
import { assertLoaded, isLoadedForPopulate } from "./loading/loadHints.js";
|
|
13
6
|
import { AsyncMethodPopulateSecret } from "./relations/hasAsyncMethod.js";
|
|
7
|
+
import { RecursiveCycleError } from "./relations/RecursiveCycleError.js";
|
|
14
8
|
import { AsyncPropertyImpl } from "./relations/AsyncProperty.js";
|
|
15
9
|
import { getField, setField } from "./fields.js";
|
|
16
10
|
import { keyToNumber, keyToTaggedId, tagId, toTaggedId } from "./keys.js";
|
|
@@ -26,13 +20,19 @@ import "./batchloaders/oneToOneBatchLoader.js";
|
|
|
26
20
|
import { ReactiveReferenceImpl } from "./relations/ReactiveReference.js";
|
|
27
21
|
import { OneToOneReferenceImpl } from "./relations/OneToOneReference.js";
|
|
28
22
|
import { PolymorphicReferenceImpl } from "./relations/PolymorphicReference.js";
|
|
23
|
+
import "./batchloaders/recursiveChildrenBatchLoader.js";
|
|
24
|
+
import "./batchloaders/recursiveM2mBatchLoader.js";
|
|
25
|
+
import "./batchloaders/recursiveParentsBatchLoader.js";
|
|
26
|
+
import "./relations/RecursiveCollection.js";
|
|
29
27
|
import "./relations/index.js";
|
|
30
28
|
import { assertNever, fail, failIfAnyRejected, getOrSet, groupBy, hasAnyKey, partition, toArray } from "./utils.js";
|
|
31
29
|
import { newEntity } from "./newEntity.js";
|
|
30
|
+
import { deepNormalizeHint } from "./normalizeHints.js";
|
|
31
|
+
import { followReverseHint } from "./reactivity/reactiveHints.js";
|
|
32
32
|
import "./typeMap.js";
|
|
33
33
|
import { ValidationErrors } from "./rules.js";
|
|
34
|
-
import { getConstructorFromTag, getConstructorFromTaggedId, getMetadataForType } from "./configure.js";
|
|
35
34
|
import { constraintNameToValidationError } from "./config.js";
|
|
35
|
+
import { getConstructorFromTag, getConstructorFromTaggedId, getMetadataForType } from "./configure.js";
|
|
36
36
|
import { getBaseAndSelfMetas, getBaseMeta, getBaseSelfAndSubMetas, getMetadata } from "./EntityMetadata.js";
|
|
37
37
|
import { runInTrustedContext } from "./trusted.js";
|
|
38
38
|
import { setAsyncDefaults, setSyncDefaults } from "./defaults.js";
|
|
@@ -50,7 +50,7 @@ import "./drivers/index.js";
|
|
|
50
50
|
import { FieldLogger, noopFieldLogger } from "./logging/FieldLogger.js";
|
|
51
51
|
import { ReactionLogger } from "./logging/ReactionLogger.js";
|
|
52
52
|
import "./plugins/PreloadPlugin.js";
|
|
53
|
-
import {
|
|
53
|
+
import { parseRootQuery } from "./queries/sql/query.js";
|
|
54
54
|
import { upsert } from "./upsert.js";
|
|
55
55
|
import { NoIdError, asConcreteCstr, getRelationEntries, getRelations, setOpts } from "./index.js";
|
|
56
56
|
import "./batchloaders/enumCollectionBatchLoader.js";
|
|
@@ -106,6 +106,8 @@ var EntityManager = class EntityManager {
|
|
|
106
106
|
#entitiesByTag = /* @__PURE__ */ new Map();
|
|
107
107
|
#indexManager = new IndexManager();
|
|
108
108
|
#isValidating = false;
|
|
109
|
+
/** The error that failed a previous `em.flush`, after which this EntityManager can't flush again. */
|
|
110
|
+
#flushError = void 0;
|
|
109
111
|
#findRestricted = false;
|
|
110
112
|
#pendingPercolate = /* @__PURE__ */ new Map();
|
|
111
113
|
#preloadedRelations = /* @__PURE__ */ new Map();
|
|
@@ -297,7 +299,7 @@ var EntityManager = class EntityManager {
|
|
|
297
299
|
this.#assertFindAllowed("query");
|
|
298
300
|
const em = this;
|
|
299
301
|
return (async function query() {
|
|
300
|
-
const plan =
|
|
302
|
+
const plan = parseRootQuery(q);
|
|
301
303
|
if (options?.populate && plan.output.kind !== "entity") fail("em.query populate requires an entity selection");
|
|
302
304
|
const { rows } = await em.driver.executeQuery(em, plan.sql, plan.bindings);
|
|
303
305
|
const result = plan.decodeRows(em, rows);
|
|
@@ -863,6 +865,7 @@ var EntityManager = class EntityManager {
|
|
|
863
865
|
}
|
|
864
866
|
async #flush(flushOptions = {}) {
|
|
865
867
|
if (this.mode === "read-only") throw new ReadOnlyError();
|
|
868
|
+
if (this.#flushError !== void 0) throw new FailedFlushError(this.#flushError);
|
|
866
869
|
const { skipValidation = false } = flushOptions;
|
|
867
870
|
this.#fl.startLock();
|
|
868
871
|
const allFlushedEntities = /* @__PURE__ */ new Set();
|
|
@@ -987,7 +990,7 @@ var EntityManager = class EntityManager {
|
|
|
987
990
|
await runValidation(entityTodos, joinRowTodos, !skipValidation);
|
|
988
991
|
this.#rm.throwIfAnySuppressedTypeErrors();
|
|
989
992
|
if (suppressedDefaultTypeErrors.length > 0) throw suppressedDefaultTypeErrors[0];
|
|
990
|
-
if (Object.keys(entityTodos).length > 0 || Object.keys(joinRowTodos).length > 0) {
|
|
993
|
+
if (Object.keys(entityTodos).length > 0 || Object.keys(joinRowTodos).length > 0 || this.#rm.hasPendingCommitTransitions()) {
|
|
991
994
|
await this.driver.transaction(this, async () => {
|
|
992
995
|
do {
|
|
993
996
|
if (Object.keys(entityTodos).length > 0 || Object.keys(joinRowTodos).length > 0) {
|
|
@@ -1018,6 +1021,7 @@ var EntityManager = class EntityManager {
|
|
|
1018
1021
|
await runCommitValidation(commitRuleTodos, commitRuleJoinRowTodos);
|
|
1019
1022
|
}
|
|
1020
1023
|
await beforeCommit(this.ctx, allFlushedEntities);
|
|
1024
|
+
await this.#rm.runCommitTransitions();
|
|
1021
1025
|
if (this.mode === "in-memory-writes") throw new InMemoryRollbackError();
|
|
1022
1026
|
});
|
|
1023
1027
|
await afterCommit(this.ctx, allFlushedEntities);
|
|
@@ -1037,12 +1041,13 @@ var EntityManager = class EntityManager {
|
|
|
1037
1041
|
this.#dataloaders = {};
|
|
1038
1042
|
this.#batchLoaders = {};
|
|
1039
1043
|
this.#preloadedRelations = /* @__PURE__ */ new Map();
|
|
1040
|
-
this.#rm.clear();
|
|
1041
1044
|
}
|
|
1042
1045
|
for (const e of createdThenDeleted) getInstanceData(e).fixupCreatedThenDeleted();
|
|
1043
1046
|
this.#merging?.clear();
|
|
1047
|
+
this.#rm.clear();
|
|
1044
1048
|
return [...allFlushedEntities].sort((a, b) => getInstanceData(a).entityIndex - getInstanceData(b).entityIndex);
|
|
1045
1049
|
} catch (e) {
|
|
1050
|
+
if (!(e instanceof InMemoryRollbackError)) this.#flushError = e;
|
|
1046
1051
|
if (e instanceof RecursiveCycleError) {
|
|
1047
1052
|
const entity = e.entities[0];
|
|
1048
1053
|
for (const meta of getBaseAndSelfMetas(getMetadata(entity))) {
|
|
@@ -1323,6 +1328,7 @@ var EntityManager = class EntityManager {
|
|
|
1323
1328
|
} else throw new Error("Unsupported override for setFieldLogging");
|
|
1324
1329
|
}
|
|
1325
1330
|
async [Symbol.asyncDispose]() {
|
|
1331
|
+
if (this.#flushError !== void 0) return;
|
|
1326
1332
|
await this.flush();
|
|
1327
1333
|
}
|
|
1328
1334
|
/** Returns entities matching the filter using indexed search when available. */
|
|
@@ -1858,6 +1864,12 @@ function hasPaginationSettings(options) {
|
|
|
1858
1864
|
}
|
|
1859
1865
|
/** An error we throw to get knex to `ROLLBACK`, but then catch. */
|
|
1860
1866
|
var InMemoryRollbackError = class extends Error {};
|
|
1867
|
+
/** An error thrown by `em.flush` after a previous `em.flush` on the same EntityManager failed. */
|
|
1868
|
+
var FailedFlushError = class extends Error {
|
|
1869
|
+
constructor(cause) {
|
|
1870
|
+
super("EntityManager cannot flush after a previous flush failed, use a new EntityManager", { cause });
|
|
1871
|
+
}
|
|
1872
|
+
};
|
|
1861
1873
|
/** An error thrown when `em.mode === "read-only"` but entities are mutated/flushed. */
|
|
1862
1874
|
var ReadOnlyError = class extends Error {
|
|
1863
1875
|
constructor() {
|
|
@@ -1908,6 +1920,6 @@ function createRowFromEntityData(e, opts = {}) {
|
|
|
1908
1920
|
return row;
|
|
1909
1921
|
}
|
|
1910
1922
|
//#endregion
|
|
1911
|
-
export { EntityManager, NotFoundError, ReadOnlyError, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
1923
|
+
export { EntityManager, FailedFlushError, NotFoundError, ReadOnlyError, TooManyError, appendStack, createRowFromEntityData, driverAfterBegin, driverAfterCommit, driverBeforeBegin, driverBeforeCommit, getDefaultEntityLimit, getEmInternalApi, invokeRule, isDefined, isId, isKey, resetDefaultEntityLimit, sameEntity, sameReference, setDefaultEntityLimit, setLastNow };
|
|
1912
1924
|
|
|
1913
1925
|
//# sourceMappingURL=EntityManager.js.map
|