@shivaedev/effect-prisma 0.6.3 → 0.6.4
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/CHANGELOG.md +5 -1
- package/dist/database.d.ts +4 -4
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +12 -12
- package/dist/database.js.map +1 -1
- package/dist/error.d.ts +5 -5
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +1 -2
- package/dist/error.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/internal/adapters/transaction-settlement.d.ts +10 -0
- package/dist/internal/adapters/transaction-settlement.d.ts.map +1 -0
- package/dist/internal/adapters/transaction-settlement.js +56 -0
- package/dist/internal/adapters/transaction-settlement.js.map +1 -0
- package/dist/internal/client-lifecycle.d.ts.map +1 -1
- package/dist/internal/client-lifecycle.js.map +1 -1
- package/dist/internal/contract-normalization.d.ts.map +1 -1
- package/dist/internal/contract-normalization.js +1 -3
- package/dist/internal/contract-normalization.js.map +1 -1
- package/dist/internal/database-facade.d.ts +24 -0
- package/dist/internal/database-facade.d.ts.map +1 -0
- package/dist/internal/database-facade.js +84 -0
- package/dist/internal/database-facade.js.map +1 -0
- package/dist/internal/database-factory.d.ts +4 -44
- package/dist/internal/database-factory.d.ts.map +1 -1
- package/dist/internal/database-factory.js +11 -84
- package/dist/internal/database-factory.js.map +1 -1
- package/dist/internal/database-types.d.ts +37 -0
- package/dist/internal/database-types.d.ts.map +1 -0
- package/dist/internal/database-types.js +2 -0
- package/dist/internal/database-types.js.map +1 -0
- package/dist/internal/dynamic.d.ts +5 -0
- package/dist/internal/dynamic.d.ts.map +1 -0
- package/dist/internal/dynamic.js +12 -0
- package/dist/internal/dynamic.js.map +1 -0
- package/dist/internal/executor.d.ts.map +1 -1
- package/dist/internal/promise.d.ts +1 -1
- package/dist/internal/promise.d.ts.map +1 -1
- package/dist/internal/promise.js +1 -3
- package/dist/internal/promise.js.map +1 -1
- package/dist/internal/query-execution.d.ts +2 -2
- package/dist/internal/query-execution.d.ts.map +1 -1
- package/dist/internal/query-execution.js +2 -6
- package/dist/internal/query-execution.js.map +1 -1
- package/dist/internal/recipe.d.ts.map +1 -1
- package/dist/internal/recipe.js +7 -18
- package/dist/internal/recipe.js.map +1 -1
- package/dist/internal/relation-plan.d.ts +1 -1
- package/dist/internal/relation-result.d.ts +4 -0
- package/dist/internal/relation-result.d.ts.map +1 -0
- package/dist/internal/relation-result.js +19 -0
- package/dist/internal/relation-result.js.map +1 -0
- package/dist/internal/relation-runtime.d.ts +3 -3
- package/dist/internal/relation-runtime.d.ts.map +1 -1
- package/dist/internal/relation-runtime.js +9 -34
- package/dist/internal/relation-runtime.js.map +1 -1
- package/dist/internal/relation-stream.d.ts +3 -3
- package/dist/internal/relation-stream.d.ts.map +1 -1
- package/dist/internal/relation-stream.js +12 -14
- package/dist/internal/relation-stream.js.map +1 -1
- package/dist/internal/sqlite-datetime.d.ts +1 -1
- package/dist/internal/sqlite-datetime.d.ts.map +1 -1
- package/dist/internal/sqlite-datetime.js +3 -1
- package/dist/internal/sqlite-datetime.js.map +1 -1
- package/dist/internal/sqlite-pragmas.d.ts.map +1 -1
- package/dist/internal/sqlite-pragmas.js.map +1 -1
- package/dist/internal/testing.d.ts +1 -1
- package/dist/internal/testing.d.ts.map +1 -1
- package/dist/internal/testing.js +5 -2
- package/dist/internal/testing.js.map +1 -1
- package/dist/internal/transaction.d.ts +5 -5
- package/dist/internal/transaction.d.ts.map +1 -1
- package/dist/internal/transaction.js +3 -51
- package/dist/internal/transaction.js.map +1 -1
- package/dist/relation/include-metadata.d.ts.map +1 -1
- package/dist/relation/include.d.ts +2 -2
- package/dist/relation/include.d.ts.map +1 -1
- package/dist/relation/prisma-methods.d.ts +3 -3
- package/dist/relation/prisma-methods.d.ts.map +1 -1
- package/dist/relation.d.ts +2 -2
- package/dist/relation.d.ts.map +1 -1
- package/dist/sqlite.d.ts +3 -3
- package/dist/sqlite.d.ts.map +1 -1
- package/dist/sqlite.js +14 -12
- package/dist/sqlite.js.map +1 -1
- package/dist/testing/transaction.d.ts +6 -7
- package/dist/testing/transaction.d.ts.map +1 -1
- package/dist/testing/transaction.js +2 -2
- package/dist/testing/transaction.js.map +1 -1
- package/dist/testing/types.d.ts +2 -2
- package/dist/testing/types.d.ts.map +1 -1
- package/dist/testing/vitest.d.ts +3 -3
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/testing/vitest.js +2 -2
- package/dist/testing/vitest.js.map +1 -1
- package/dist/testing.d.ts +3 -3
- package/package.json +2 -2
- package/src/bin/normalize-contract.ts +1 -1
- package/src/database.ts +49 -67
- package/src/error.ts +9 -19
- package/src/index.ts +3 -3
- package/src/internal/adapters/transaction-settlement.ts +67 -0
- package/src/internal/client-lifecycle.ts +3 -10
- package/src/internal/contract-normalization.ts +3 -8
- package/src/internal/database-facade.ts +143 -0
- package/src/internal/database-factory.ts +30 -298
- package/src/internal/database-types.ts +69 -0
- package/src/internal/dynamic.ts +16 -0
- package/src/internal/executor.ts +1 -4
- package/src/internal/promise.ts +3 -11
- package/src/internal/query-execution.ts +4 -8
- package/src/internal/recipe.ts +19 -84
- package/src/internal/relation-plan.ts +1 -1
- package/src/internal/relation-result.ts +27 -0
- package/src/internal/relation-runtime.ts +43 -133
- package/src/internal/relation-stream.ts +22 -48
- package/src/internal/sqlite-datetime.ts +10 -23
- package/src/internal/sqlite-pragmas.ts +1 -4
- package/src/internal/testing.ts +13 -15
- package/src/internal/transaction.ts +14 -107
- package/src/relation/include-metadata.ts +10 -42
- package/src/relation/include.ts +19 -115
- package/src/relation/prisma-methods.ts +23 -111
- package/src/relation.ts +18 -46
- package/src/sqlite.ts +57 -78
- package/src/testing/transaction.ts +20 -33
- package/src/testing/types.ts +9 -28
- package/src/testing/vitest.ts +14 -28
- package/src/testing.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-factory.js","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database-factory.js","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAA4C,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAKN,+BAA+B,GAE/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,IAAI,kCAAkC,GAAG,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,UAAiD,EACjD,eAAsH,EACzE,EAAE;IAC/C,IAAI,UAAU,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;IAC/E,CAAC;IAID,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAoD,UAAU,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAsC;QAChD,iBAAiB,EAAE,OAAO,CAAC,SAAS,CACnC,GAAG,+BAA+B,qBAAqB,kCAAkC,EAAE,EAAE,EAC7F,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CACjC;QACD,SAAS,EAAE,IAAI,OAAO,EAAE;QACxB,OAAO,EAAE,OAAO;KAChB,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,MAA6C,EAAqD,EAAE;QACvH,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;YACzF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAC3B,OAA0E,EACD,EAAE,CAC3E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CACrD,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,wBAAwB,CAAC,CACzG,CAAC;IACH,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,CAAC,YAAqB,EAAwC,EAAE;QAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EACnD,CAAC,QAAQ,EAAE,EAAE;YACZ,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzE,CAAC,CACD,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC7B,KAAK;QACL,CAAC,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,EAAE;KAChD,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { orm } from "@prisma-next/sql-orm-client";
|
|
2
|
+
import type { Context, Effect, Layer } from "effect";
|
|
3
|
+
import type { PrismaError } from "../error.ts";
|
|
4
|
+
import type { Relation } from "../relation.ts";
|
|
5
|
+
import type { AnySqlContract } from "./executor.ts";
|
|
6
|
+
type OrmFor<Contract extends AnySqlContract> = ReturnType<typeof orm<Contract>>;
|
|
7
|
+
type DefaultNamespaceId<Contract extends AnySqlContract> = "__unbound__" extends keyof OrmFor<Contract> ? "__unbound__" : "public" extends keyof OrmFor<Contract> ? "public" : keyof OrmFor<Contract>;
|
|
8
|
+
export type DefaultModels<Contract extends AnySqlContract> = OrmFor<Contract>[DefaultNamespaceId<Contract>] extends infer Models extends object ? Models : never;
|
|
9
|
+
type IsUnion<Value, Whole = Value> = Value extends unknown ? ([Whole] extends [Value] ? false : true) : never;
|
|
10
|
+
type IsSingletonString<Value extends string> = Record<never, never> extends Record<Value, never> ? false : true;
|
|
11
|
+
export declare const internalContextIdentifierPrefix = "\0@shivaedev/effect-prisma/internal/";
|
|
12
|
+
export type DatabaseIdentifierLiteral<Identifier extends string> = [Identifier] extends [`\0@shivaedev/effect-prisma/internal/${string}`] ? never : string extends Identifier ? never : true extends IsUnion<Identifier> ? never : IsSingletonString<Identifier> extends true ? Identifier : never;
|
|
13
|
+
export interface DatabaseIdentifier<Contract extends AnySqlContract, Identifier extends string> {
|
|
14
|
+
readonly _contract: (contract: Contract) => Contract;
|
|
15
|
+
readonly _databaseIdentifier: (identifier: Identifier) => Identifier;
|
|
16
|
+
}
|
|
17
|
+
type DatabaseModels<Contract extends AnySqlContract, Identifier extends string> = {
|
|
18
|
+
readonly [Model in keyof DefaultModels<Contract>]: Relation<DefaultModels<Contract>[Model], Contract, Model & string, DatabaseIdentifier<Contract, Identifier>>;
|
|
19
|
+
};
|
|
20
|
+
export type DatabaseService<Contract extends AnySqlContract, Identifier extends string> = DatabaseModels<Contract, Identifier> & {
|
|
21
|
+
transaction<A, E, R>(program: Effect.Effect<A, E, R> & (DatabaseIdentifier<Contract, Identifier> extends R ? unknown : never)): Effect.Effect<A, E | PrismaError, Exclude<R, DatabaseIdentifier<Contract, Identifier>>>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The driver-independent part of a database definition: the Context service
|
|
25
|
+
* carrying the typed facade. Driver entrypoints add their own `layer` options.
|
|
26
|
+
*/
|
|
27
|
+
export interface DatabaseServiceHolder<Contract extends AnySqlContract, Identifier extends string> extends Context.Service<DatabaseIdentifier<Contract, Identifier>, DatabaseService<Contract, Identifier>> {
|
|
28
|
+
}
|
|
29
|
+
export type AnyDatabase = Effect.Effect<unknown, never, unknown> & {
|
|
30
|
+
readonly layer: (...arguments_: ReadonlyArray<never>) => Layer.Any;
|
|
31
|
+
};
|
|
32
|
+
export type DatabaseServiceOf<Database extends AnyDatabase> = Effect.Success<Database>;
|
|
33
|
+
export interface SqlDatabase<Contract extends AnySqlContract, Identifier extends string, Options> extends DatabaseServiceHolder<Contract, Identifier> {
|
|
34
|
+
readonly layer: (options: Options) => Layer.Layer<DatabaseIdentifier<Contract, Identifier>, PrismaError>;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=database-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-types.d.ts","sourceRoot":"","sources":["../../src/internal/database-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-types.js","sourceRoot":"","sources":["../../src/internal/database-types.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,+BAA+B,GAAG,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const hasMethod: (value: unknown, name: PropertyKey) => value is object;
|
|
2
|
+
export declare const invokeMethod: (target: object, name: PropertyKey, arguments_: ReadonlyArray<unknown>) => unknown;
|
|
3
|
+
export declare const isPromiseLike: (value: unknown) => value is PromiseLike<unknown>;
|
|
4
|
+
export declare const isAsyncIterable: (value: unknown) => value is AsyncIterable<unknown>;
|
|
5
|
+
//# sourceMappingURL=dynamic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../src/internal/dynamic.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,EAAE,MAAM,WAAW,KAAG,KAAK,IAAI,MACD,CAAC;AAEvE,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,MAAM,WAAW,EAAE,YAAY,aAAa,CAAC,OAAO,CAAC,KAAG,OAMpG,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAA6B,CAAC;AAEzG,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,aAAa,CAAC,OAAO,CAA2C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const isObjectLike = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
|
|
2
|
+
export const hasMethod = (value, name) => isObjectLike(value) && typeof Reflect.get(value, name) === "function";
|
|
3
|
+
export const invokeMethod = (target, name, arguments_) => {
|
|
4
|
+
const method = Reflect.get(target, name);
|
|
5
|
+
if (typeof method !== "function") {
|
|
6
|
+
throw new TypeError(`${String(name)} is not a method`);
|
|
7
|
+
}
|
|
8
|
+
return Reflect.apply(method, target, arguments_);
|
|
9
|
+
};
|
|
10
|
+
export const isPromiseLike = (value) => hasMethod(value, "then");
|
|
11
|
+
export const isAsyncIterable = (value) => hasMethod(value, Symbol.asyncIterator);
|
|
12
|
+
//# sourceMappingURL=dynamic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../src/internal/dynamic.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AAEvI,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,IAAiB,EAAmB,EAAE,CAC/E,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,UAAU,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAiB,EAAE,UAAkC,EAAW,EAAE;IAC9G,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAiC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAmC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/internal/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AACxD,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,QAAQ,SAAS,cAAc;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/internal/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AACxD,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,QAAQ,SAAS,cAAc;IACjE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc;IACxG,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE;QAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,IAAI,EAAE,OAAO,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;CAC/D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import { type PrismaError } from "../error.
|
|
2
|
+
import { type PrismaError } from "../error.ts";
|
|
3
3
|
export declare const fromPrismaPromise: <A>(evaluate: (signal: AbortSignal) => PromiseLike<A>) => Effect.Effect<A, PrismaError>;
|
|
4
4
|
//# sourceMappingURL=promise.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/internal/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAE/E,eAAO,MAAM,iBAAiB,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/internal/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAE/E,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAIF,CAAC"}
|
package/dist/internal/promise.js
CHANGED
|
@@ -3,7 +3,5 @@ import { isPrismaFailure, toPrismaError } from "../error.js";
|
|
|
3
3
|
export const fromPrismaPromise = (evaluate) => Effect.tryPromise({
|
|
4
4
|
try: (signal) => Promise.resolve(evaluate(signal)),
|
|
5
5
|
catch: (error) => error,
|
|
6
|
-
}).pipe(Effect.catch((error) => isPrismaFailure(error)
|
|
7
|
-
? Effect.fail(toPrismaError(error))
|
|
8
|
-
: Effect.die(error)));
|
|
6
|
+
}).pipe(Effect.catch((error) => (isPrismaFailure(error) ? Effect.fail(toPrismaError(error)) : Effect.die(error))));
|
|
9
7
|
//# sourceMappingURL=promise.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/internal/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/internal/promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,QAAiD,EAAiC,EAAE,CACxH,MAAM,CAAC,UAAU,CAAC;IACjB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;CACvB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import { type PrismaError } from "../error.
|
|
3
|
-
import type { DatabaseExecutor } from "./executor.
|
|
2
|
+
import { type PrismaError } from "../error.ts";
|
|
3
|
+
import type { DatabaseExecutor } from "./executor.ts";
|
|
4
4
|
export declare const executeQuery: <A, E, R>(executor: Pick<DatabaseExecutor<object>, "liveness" | "querySemaphore">, effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | PrismaError, R>;
|
|
5
5
|
//# sourceMappingURL=query-execution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../src/internal/query-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,UAAU,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACvE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"query-execution.d.ts","sourceRoot":"","sources":["../../src/internal/query-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,UAAU,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC,EACvE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CAMrC,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { toPrismaError } from "../error.js";
|
|
3
3
|
export const executeQuery = (executor, effect) => {
|
|
4
|
-
const checked = Effect.suspend(() => executor.liveness.open
|
|
5
|
-
|
|
6
|
-
: Effect.fail(toPrismaError({ code: executor.liveness.closedCode })));
|
|
7
|
-
return executor.querySemaphore === undefined
|
|
8
|
-
? checked
|
|
9
|
-
: executor.querySemaphore.withPermit(Effect.uninterruptible(checked));
|
|
4
|
+
const checked = Effect.suspend(() => executor.liveness.open ? effect : Effect.fail(toPrismaError({ code: executor.liveness.closedCode })));
|
|
5
|
+
return executor.querySemaphore === undefined ? checked : executor.querySemaphore.withPermit(Effect.uninterruptible(checked));
|
|
10
6
|
};
|
|
11
7
|
//# sourceMappingURL=query-execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-execution.js","sourceRoot":"","sources":["../../src/internal/query-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAG9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,QAAuE,EACvE,MAA8B,EACS,EAAE;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC7B,GAAyC,EAAE,CAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"query-execution.js","sourceRoot":"","sources":["../../src/internal/query-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAG9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,QAAuE,EACvE,MAA8B,EACS,EAAE;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC7B,GAAyC,EAAE,CAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CACrG,CAAC;IACF,OAAO,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9H,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,cAA6B,CAAC;AAEzE,eAAO,MAAM,eAAe,GAAI,QAAQ,cAAc,EAAE,MAAM,WAAW,EAAE,YAAY,aAAa,CAAC,OAAO,CAAC,KAAG,cAO9G,CAAC;AA0FH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,QAAQ,cAAc,EAAE,OAAO,MAAM,EAAE,qBAAqB,MAAM,GAAG,SAAS,KAAG,OAQ7H,CAAC"}
|
package/dist/internal/recipe.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hasMethod, invokeMethod } from "./dynamic.js";
|
|
1
2
|
import { getRelationPlan } from "./relation-plan.js";
|
|
2
3
|
export const rootRecipe = (model) => ({ model });
|
|
3
4
|
export const appendOperation = (parent, name, arguments_) => ({
|
|
@@ -20,13 +21,10 @@ const operations = (recipe) => {
|
|
|
20
21
|
return reversed.reverse();
|
|
21
22
|
};
|
|
22
23
|
const applyMethod = (current, name, arguments_, model) => {
|
|
23
|
-
if (
|
|
24
|
-
current === null ||
|
|
25
|
-
typeof Reflect.get(current, name) !== "function") {
|
|
24
|
+
if (!hasMethod(current, name)) {
|
|
26
25
|
throw new TypeError(`Cannot call ${String(name)} while replaying ${model}`);
|
|
27
26
|
}
|
|
28
|
-
|
|
29
|
-
return Reflect.apply(method, current, arguments_);
|
|
27
|
+
return invokeMethod(current, name, arguments_);
|
|
30
28
|
};
|
|
31
29
|
const replayPlan = (collection, plan, owner, transactionIdentity) => {
|
|
32
30
|
if (!plan.liveness.open) {
|
|
@@ -35,13 +33,10 @@ const replayPlan = (collection, plan, owner, transactionIdentity) => {
|
|
|
35
33
|
if (plan.owner !== owner) {
|
|
36
34
|
throw new TypeError("Included Relations must use the same Database");
|
|
37
35
|
}
|
|
38
|
-
if (plan.transactionIdentity !== undefined &&
|
|
39
|
-
plan.transactionIdentity !== transactionIdentity) {
|
|
36
|
+
if (plan.transactionIdentity !== undefined && plan.transactionIdentity !== transactionIdentity) {
|
|
40
37
|
throw new TypeError("Included Relation belongs to another transaction");
|
|
41
38
|
}
|
|
42
|
-
const relatedModel = typeof collection === "object" && collection !== null
|
|
43
|
-
? Reflect.get(collection, "modelName")
|
|
44
|
-
: undefined;
|
|
39
|
+
const relatedModel = typeof collection === "object" && collection !== null ? Reflect.get(collection, "modelName") : undefined;
|
|
45
40
|
if (typeof relatedModel === "string" && relatedModel !== plan.recipe.model) {
|
|
46
41
|
throw new TypeError(`Included relation expects ${relatedModel}, received ${plan.recipe.model}`);
|
|
47
42
|
}
|
|
@@ -75,10 +70,7 @@ const includeRefinement = (value, owner, transactionIdentity) => {
|
|
|
75
70
|
throw new TypeError("Included queries must use the same related model");
|
|
76
71
|
}
|
|
77
72
|
return (collection) => {
|
|
78
|
-
const branches = Object.fromEntries(plans.map(([name, queryPlan]) => [
|
|
79
|
-
name,
|
|
80
|
-
replayPlan(collection, queryPlan, owner, transactionIdentity),
|
|
81
|
-
]));
|
|
73
|
+
const branches = Object.fromEntries(plans.map(([name, queryPlan]) => [name, replayPlan(collection, queryPlan, owner, transactionIdentity)]));
|
|
82
74
|
return applyMethod(collection, "combine", [branches], model ?? "relation");
|
|
83
75
|
};
|
|
84
76
|
};
|
|
@@ -86,10 +78,7 @@ const replayRecipeFrom = (root, recipe, owner, transactionIdentity) => {
|
|
|
86
78
|
let current = root;
|
|
87
79
|
for (const operation of operations(recipe)) {
|
|
88
80
|
const arguments_ = operation.name === "include" && operation.arguments.length === 2
|
|
89
|
-
? [
|
|
90
|
-
operation.arguments[0],
|
|
91
|
-
includeRefinement(operation.arguments[1], owner, transactionIdentity),
|
|
92
|
-
]
|
|
81
|
+
? [operation.arguments[0], includeRefinement(operation.arguments[1], owner, transactionIdentity)]
|
|
93
82
|
: operation.arguments;
|
|
94
83
|
current = applyMethod(current, operation.name, arguments_, recipe.model);
|
|
95
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqB,MAAM,oBAAoB,CAAC;AAaxE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-result.d.ts","sourceRoot":"","sources":["../../src/internal/relation-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,EAAE,UAAU,WAAW,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAgBpH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Effect, Option } from "effect";
|
|
2
|
+
import { hasMethod, invokeMethod, isPromiseLike } from "./dynamic.js";
|
|
3
|
+
import { fromPrismaPromise } from "./promise.js";
|
|
4
|
+
const settle = (value, map) => isPromiseLike(value) ? fromPrismaPromise(() => value).pipe(Effect.map(map)) : Effect.succeed(map(value));
|
|
5
|
+
const countOf = (result) => (typeof result === "object" && result !== null ? Reflect.get(result, "count") : undefined);
|
|
6
|
+
export const evaluateResult = (value, terminal) => {
|
|
7
|
+
if (terminal === "count" && hasMethod(value, "aggregate")) {
|
|
8
|
+
return settle(invokeMethod(value, "aggregate", [(summary) => ({ count: summary.count() })]), countOf);
|
|
9
|
+
}
|
|
10
|
+
if (terminal === "exists" && hasMethod(value, "first")) {
|
|
11
|
+
return settle(invokeMethod(value, "first", []), (result) => result !== null);
|
|
12
|
+
}
|
|
13
|
+
const executable = hasMethod(value, "all") ? invokeMethod(value, "all", []) : value;
|
|
14
|
+
if (isPromiseLike(executable)) {
|
|
15
|
+
return settle(executable, (result) => (terminal === "first" ? Option.fromNullishOr(result) : result));
|
|
16
|
+
}
|
|
17
|
+
return Effect.succeed(executable);
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=relation-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-result.js","sourceRoot":"","sources":["../../src/internal/relation-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,GAAiC,EAAuC,EAAE,CACzG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1G,MAAM,OAAO,GAAG,CAAC,MAAe,EAAW,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEzI,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,QAAiC,EAAuC,EAAE;IACxH,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7H,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { PrismaError } from "../error.
|
|
3
|
-
import type { Relation } from "../relation.
|
|
4
|
-
import type { AnyPostgresContract, DatabaseExecutor } from "./executor.
|
|
2
|
+
import type { PrismaError } from "../error.ts";
|
|
3
|
+
import type { Relation } from "../relation.ts";
|
|
4
|
+
import type { AnyPostgresContract, DatabaseExecutor } from "./executor.ts";
|
|
5
5
|
export declare const makeModelRelation: <Collection, Models extends object, ExecutorContract extends AnyPostgresContract = AnyPostgresContract, Model extends string = string>(executor: DatabaseExecutor<Models, ExecutorContract>, model: Model, resolveExecutor?: Effect.Effect<DatabaseExecutor<Models, ExecutorContract>, PrismaError>) => Relation<Collection, undefined, Model>;
|
|
6
6
|
//# sourceMappingURL=relation-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-runtime.d.ts","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"relation-runtime.d.ts","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAoH3E,eAAO,MAAM,iBAAiB,GAC7B,UAAU,EACV,MAAM,SAAS,MAAM,EACrB,gBAAgB,SAAS,mBAAmB,GAAG,mBAAmB,EAClE,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,UAAU,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACpD,OAAO,KAAK,EACZ,kBAAiB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAA4B,KAChH,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAOtC,CAAC"}
|
|
@@ -1,36 +1,9 @@
|
|
|
1
|
-
import { Effect, Effectable
|
|
2
|
-
import { fromPrismaPromise } from "./promise.js";
|
|
1
|
+
import { Effect, Effectable } from "effect";
|
|
3
2
|
import { executeQuery } from "./query-execution.js";
|
|
4
|
-
import { appendOperation, replayRecipe, rootRecipe
|
|
3
|
+
import { appendOperation, replayRecipe, rootRecipe } from "./recipe.js";
|
|
5
4
|
import { setRelationPlan } from "./relation-plan.js";
|
|
5
|
+
import { evaluateResult } from "./relation-result.js";
|
|
6
6
|
import { makeRelationStream } from "./relation-stream.js";
|
|
7
|
-
const evaluateResult = (value, terminal) => {
|
|
8
|
-
if (terminal === "count" &&
|
|
9
|
-
typeof value === "object" &&
|
|
10
|
-
value !== null &&
|
|
11
|
-
typeof Reflect.get(value, "aggregate") === "function") {
|
|
12
|
-
const aggregate = Reflect.apply(Reflect.get(value, "aggregate"), value, [(summary) => ({ count: summary.count() })]);
|
|
13
|
-
return fromPrismaPromise(() => aggregate).pipe(Effect.map((result) => result.count));
|
|
14
|
-
}
|
|
15
|
-
if (terminal === "exists" &&
|
|
16
|
-
typeof value === "object" &&
|
|
17
|
-
value !== null &&
|
|
18
|
-
typeof Reflect.get(value, "first") === "function") {
|
|
19
|
-
const first = Reflect.apply(Reflect.get(value, "first"), value, []);
|
|
20
|
-
return fromPrismaPromise(() => first).pipe(Effect.map((result) => result !== null));
|
|
21
|
-
}
|
|
22
|
-
const executable = typeof value === "object" &&
|
|
23
|
-
value !== null &&
|
|
24
|
-
typeof Reflect.get(value, "all") === "function"
|
|
25
|
-
? Reflect.apply(Reflect.get(value, "all"), value, [])
|
|
26
|
-
: value;
|
|
27
|
-
if (typeof executable === "object" &&
|
|
28
|
-
executable !== null &&
|
|
29
|
-
"then" in executable) {
|
|
30
|
-
return fromPrismaPromise(() => executable).pipe(Effect.map((result) => terminal === "first" ? Option.fromNullishOr(result) : result));
|
|
31
|
-
}
|
|
32
|
-
return Effect.succeed(executable);
|
|
33
|
-
};
|
|
34
7
|
const runtimes = new WeakMap();
|
|
35
8
|
const runtimeOf = (self) => {
|
|
36
9
|
const runtime = runtimes.get(self);
|
|
@@ -58,8 +31,7 @@ const RelationPrototype = {
|
|
|
58
31
|
},
|
|
59
32
|
}),
|
|
60
33
|
get stream() {
|
|
61
|
-
const
|
|
62
|
-
const runtime = runtimeOf(relation);
|
|
34
|
+
const runtime = runtimeOf(this);
|
|
63
35
|
return makeRelationStream(runtime.resolveExecutor, runtime.recipe);
|
|
64
36
|
},
|
|
65
37
|
};
|
|
@@ -105,9 +77,12 @@ const makeRelationProxy = (runtime) => {
|
|
|
105
77
|
}
|
|
106
78
|
return proxy;
|
|
107
79
|
};
|
|
108
|
-
|
|
80
|
+
function asRelation(proxy) {
|
|
81
|
+
return proxy;
|
|
82
|
+
}
|
|
83
|
+
export const makeModelRelation = (executor, model, resolveExecutor = Effect.succeed(executor)) => asRelation(makeRelationProxy({
|
|
109
84
|
executor,
|
|
110
85
|
recipe: rootRecipe(model),
|
|
111
86
|
resolveExecutor,
|
|
112
|
-
});
|
|
87
|
+
}));
|
|
113
88
|
//# sourceMappingURL=relation-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
|
-
import { type PrismaError } from "../error.
|
|
3
|
-
import type { AnyPostgresContract, DatabaseExecutor } from "./executor.
|
|
4
|
-
import { type RelationRecipe } from "./recipe.
|
|
2
|
+
import { type PrismaError } from "../error.ts";
|
|
3
|
+
import type { AnyPostgresContract, DatabaseExecutor } from "./executor.ts";
|
|
4
|
+
import { type RelationRecipe } from "./recipe.ts";
|
|
5
5
|
export declare const makeRelationStream: <Models extends object, Contract extends AnyPostgresContract>(resolveExecutor: Effect.Effect<DatabaseExecutor<Models, Contract>, PrismaError>, recipe: RelationRecipe) => Stream.Stream<unknown, PrismaError>;
|
|
6
6
|
//# sourceMappingURL=relation-stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-stream.d.ts","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"relation-stream.d.ts","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,WAAW,EAAiB,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG3E,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,aAAa,CAAC;AAWhE,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,mBAAmB,EAC7F,iBAAiB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC/E,QAAQ,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAyBpC,CAAC"}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
2
|
import { isPrismaFailure, toPrismaError } from "../error.js";
|
|
3
|
+
import { hasMethod, invokeMethod, isAsyncIterable } from "./dynamic.js";
|
|
3
4
|
import { fromPrismaPromise } from "./promise.js";
|
|
4
5
|
import { executeQuery } from "./query-execution.js";
|
|
5
6
|
import { replayRecipe } from "./recipe.js";
|
|
7
|
+
const collectRows = (iterable) => fromPrismaPromise(async () => {
|
|
8
|
+
const rows = [];
|
|
9
|
+
for await (const row of iterable) {
|
|
10
|
+
rows.push(row);
|
|
11
|
+
}
|
|
12
|
+
return rows;
|
|
13
|
+
});
|
|
6
14
|
export const makeRelationStream = (resolveExecutor, recipe) => {
|
|
7
15
|
return Stream.unwrap(Effect.flatMap(resolveExecutor, (executor) => executeQuery(executor, Effect.sync(() => {
|
|
8
16
|
const collection = replayRecipe(executor.models, recipe, executor.identity, executor.transactionIdentity);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
typeof Reflect.get(collection, "all") !== "function") {
|
|
17
|
+
const iterable = hasMethod(collection, "all") ? invokeMethod(collection, "all", []) : undefined;
|
|
18
|
+
if (!isAsyncIterable(iterable)) {
|
|
12
19
|
throw new TypeError("Only collection Relations can be streamed");
|
|
13
20
|
}
|
|
14
|
-
const iterable = Reflect.apply(Reflect.get(collection, "all"), collection, []);
|
|
15
21
|
if (executor.mode === "root") {
|
|
16
|
-
return Stream.fromAsyncIterable(iterable, (error) => error).pipe(Stream.catch((error) => isPrismaFailure(error)
|
|
17
|
-
? Stream.fail(toPrismaError(error))
|
|
18
|
-
: Stream.die(error)));
|
|
22
|
+
return Stream.fromAsyncIterable(iterable, (error) => error).pipe(Stream.catch((error) => (isPrismaFailure(error) ? Stream.fail(toPrismaError(error)) : Stream.die(error))));
|
|
19
23
|
}
|
|
20
|
-
const buffered = executeQuery(executor,
|
|
21
|
-
const rows = [];
|
|
22
|
-
for await (const row of iterable) {
|
|
23
|
-
rows.push(row);
|
|
24
|
-
}
|
|
25
|
-
return rows;
|
|
26
|
-
}));
|
|
24
|
+
const buffered = executeQuery(executor, collectRows(iterable));
|
|
27
25
|
return Stream.unwrap(Effect.map(buffered, (rows) => Stream.fromIterable(rows)));
|
|
28
26
|
}))));
|
|
29
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-stream.js","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"relation-stream.js","sourceRoot":"","sources":["../../src/internal/relation-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAuB,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,GAAG,CAAC,QAAgC,EAA8C,EAAE,CACpG,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,eAA+E,EAC/E,MAAsB,EACgB,EAAE;IACxC,OAAO,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5C,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QAChB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACzG,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CACF,CACD,CACD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAWpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAAmD,CAAC;AAU5G;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,CAAC,cAAc,CAAC,KAAG,IAiCtF,CAAC"}
|
|
@@ -61,6 +61,8 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
|
61
61
|
return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
62
62
|
},
|
|
63
63
|
};
|
|
64
|
-
context
|
|
64
|
+
if (!Reflect.set(context, "contractCodecs", utcRegistry)) {
|
|
65
|
+
throw new TypeError("The SQLite execution context does not accept a codec registry");
|
|
66
|
+
}
|
|
65
67
|
};
|
|
66
68
|
//# sourceMappingURL=sqlite-datetime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAQA,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,KAAG,IAajF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAClB,qIAAqI,CACrI,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAClB,qIAAqI,CACrI,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAA8B,EAAQ,EAAE;IACxF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Effect } from "effect";
|
|
2
|
-
import type { PrismaError } from "../error.
|
|
2
|
+
import type { PrismaError } from "../error.ts";
|
|
3
3
|
export declare const DatabaseTestingTypeId: unique symbol;
|
|
4
4
|
export interface DatabaseTesting<DatabaseId> {
|
|
5
5
|
readonly withTestTransaction: <A, E, R>(program: Effect.Effect<A, E, R> & (DatabaseId extends R ? unknown : never)) => Effect.Effect<A, E | PrismaError, DatabaseId | Exclude<R, DatabaseId>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAA+D,CAAC;AAE3G,MAAM,WAAW,eAAe,CAAC,UAAU;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KACtE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB,CAAC,UAAU;IAC9C,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CAC9D;AAQD,eAAO,MAAM,kBAAkB,GAAI,UAAU,EAAE,UAAU,MAAM,KAAG,eAAe,CAAC,UAAU,CAQ3F,CAAC"}
|