@shivaedev/effect-prisma 0.6.4 → 0.7.1
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 +27 -0
- package/dist/bin/normalize-contract.js +2 -1
- package/dist/bin/normalize-contract.js.map +1 -1
- package/dist/database.d.ts +3 -3
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +4 -4
- package/dist/database.js.map +1 -1
- package/dist/error.js +4 -4
- package/dist/error.js.map +1 -1
- package/dist/internal/adapters/transaction-settlement.d.ts.map +1 -1
- package/dist/internal/adapters/transaction-settlement.js +1 -1
- package/dist/internal/adapters/transaction-settlement.js.map +1 -1
- package/dist/internal/client-lifecycle.d.ts +2 -2
- 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 +0 -4
- package/dist/internal/contract-normalization.d.ts.map +1 -1
- package/dist/internal/contract-normalization.js +4 -7
- package/dist/internal/contract-normalization.js.map +1 -1
- package/dist/internal/database-facade.d.ts +1 -6
- package/dist/internal/database-facade.d.ts.map +1 -1
- package/dist/internal/database-facade.js +3 -8
- package/dist/internal/database-facade.js.map +1 -1
- package/dist/internal/database-factory.d.ts +1 -5
- package/dist/internal/database-factory.d.ts.map +1 -1
- package/dist/internal/database-factory.js +1 -7
- package/dist/internal/database-factory.js.map +1 -1
- package/dist/internal/database-types.d.ts +4 -8
- package/dist/internal/database-types.d.ts.map +1 -1
- package/dist/internal/dynamic.d.ts +1 -1
- package/dist/internal/dynamic.d.ts.map +1 -1
- package/dist/internal/dynamic.js.map +1 -1
- package/dist/internal/executor.d.ts +3 -7
- 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 +2 -2
- package/dist/internal/promise.js.map +1 -1
- package/dist/internal/query-execution.d.ts +1 -1
- package/dist/internal/query-execution.d.ts.map +1 -1
- package/dist/internal/query-execution.js +1 -1
- package/dist/internal/query-execution.js.map +1 -1
- package/dist/internal/recipe.d.ts +3 -3
- package/dist/internal/recipe.d.ts.map +1 -1
- package/dist/internal/recipe.js +2 -2
- package/dist/internal/recipe.js.map +1 -1
- package/dist/internal/relation-result.d.ts +1 -1
- package/dist/internal/relation-result.d.ts.map +1 -1
- package/dist/internal/relation-result.js.map +1 -1
- package/dist/internal/relation-runtime.d.ts +2 -2
- package/dist/internal/relation-runtime.d.ts.map +1 -1
- package/dist/internal/relation-runtime.js +3 -3
- package/dist/internal/relation-runtime.js.map +1 -1
- package/dist/internal/relation-stream.d.ts +1 -1
- package/dist/internal/relation-stream.d.ts.map +1 -1
- package/dist/internal/relation-stream.js +13 -15
- package/dist/internal/relation-stream.js.map +1 -1
- package/dist/internal/sqlite-datetime.d.ts +0 -26
- package/dist/internal/sqlite-datetime.d.ts.map +1 -1
- package/dist/internal/sqlite-datetime.js +13 -34
- package/dist/internal/sqlite-datetime.js.map +1 -1
- package/dist/internal/sqlite-pragmas.d.ts +1 -13
- package/dist/internal/sqlite-pragmas.d.ts.map +1 -1
- package/dist/internal/sqlite-pragmas.js +2 -12
- 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/transaction.d.ts +3 -3
- package/dist/internal/transaction.d.ts.map +1 -1
- package/dist/internal/transaction.js +3 -3
- package/dist/internal/transaction.js.map +1 -1
- package/dist/relation/include-metadata.d.ts +1 -1
- package/dist/relation/include-metadata.d.ts.map +1 -1
- package/dist/relation/include.d.ts +7 -4
- package/dist/relation/include.d.ts.map +1 -1
- package/dist/relation/prisma-methods.d.ts +16 -16
- package/dist/relation/prisma-methods.d.ts.map +1 -1
- package/dist/relation.d.ts +3 -3
- package/dist/relation.d.ts.map +1 -1
- package/dist/sqlite.d.ts +4 -9
- package/dist/sqlite.d.ts.map +1 -1
- package/dist/sqlite.js +6 -6
- package/dist/sqlite.js.map +1 -1
- package/dist/testing/transaction.d.ts +1 -1
- package/dist/testing/transaction.d.ts.map +1 -1
- package/dist/testing/transaction.js +1 -1
- package/dist/testing/transaction.js.map +1 -1
- package/dist/testing/types.d.ts +7 -7
- package/dist/testing/types.d.ts.map +1 -1
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/testing/vitest.js.map +1 -1
- package/dist/testing.d.ts +3 -3
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -2
- package/dist/testing.js.map +1 -1
- package/package.json +42 -36
- package/src/bin/normalize-contract.ts +2 -1
- package/src/database.ts +7 -7
- package/src/error.ts +4 -4
- package/src/internal/adapters/transaction-settlement.ts +4 -1
- package/src/internal/client-lifecycle.ts +2 -2
- package/src/internal/contract-normalization.ts +4 -7
- package/src/internal/database-facade.ts +3 -8
- package/src/internal/database-factory.ts +5 -9
- package/src/internal/database-types.ts +5 -9
- package/src/internal/dynamic.ts +1 -1
- package/src/internal/executor.ts +3 -7
- package/src/internal/promise.ts +2 -2
- package/src/internal/query-execution.ts +1 -1
- package/src/internal/recipe.ts +8 -8
- package/src/internal/relation-result.ts +2 -2
- package/src/internal/relation-runtime.ts +6 -6
- package/src/internal/relation-stream.ts +5 -6
- package/src/internal/sqlite-datetime.ts +13 -34
- package/src/internal/sqlite-pragmas.ts +3 -13
- package/src/internal/testing.ts +1 -1
- package/src/internal/transaction.ts +5 -5
- package/src/relation/include-metadata.ts +1 -1
- package/src/relation/include.ts +36 -34
- package/src/relation/prisma-methods.ts +21 -19
- package/src/relation.ts +3 -3
- package/src/sqlite.ts +10 -15
- package/src/testing/transaction.ts +2 -2
- package/src/testing/types.ts +8 -8
- package/src/testing/vitest.ts +1 -1
- package/src/testing.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,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,CAAC,MAAsB,EAAE,IAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../src/internal/recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { PrismaError } from "
|
|
2
|
+
import type { PrismaError } from "#error.ts";
|
|
3
3
|
export declare const evaluateResult: (value: unknown, terminal: PropertyKey | undefined) => Effect.Effect<unknown, PrismaError>;
|
|
4
4
|
//# sourceMappingURL=relation-result.d.ts.map
|
|
@@ -1 +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,
|
|
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,WAAW,CAAC;AAS7C,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,EAAE,UAAU,WAAW,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAgBpH,CAAC"}
|
|
@@ -1 +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,
|
|
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,OAAiC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjI,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 "
|
|
3
|
-
import type { Relation } from "
|
|
2
|
+
import type { PrismaError } from "#error.ts";
|
|
3
|
+
import type { Relation } from "#relation.ts";
|
|
4
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,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,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,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,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"}
|
|
@@ -15,20 +15,20 @@ const runtimeOf = (self) => {
|
|
|
15
15
|
const relationEffect = (self) => {
|
|
16
16
|
const runtime = runtimeOf(self);
|
|
17
17
|
return Effect.flatMap(runtime.resolveExecutor, (executor) => executeQuery(executor, Effect.suspend(() => evaluateResult(replayRecipe(executor.models, runtime.recipe, executor.identity, executor.transactionIdentity), runtime.terminal)))).pipe(Effect.withSpan(`prisma.${runtime.recipe.model}.${String(runtime.terminal ?? "all")}`, {
|
|
18
|
-
kind: "client",
|
|
19
18
|
attributes: {
|
|
20
|
-
"db.system": "postgresql",
|
|
21
19
|
"db.model": runtime.recipe.model,
|
|
22
20
|
"db.operation": String(runtime.terminal ?? "all"),
|
|
21
|
+
"db.system": "postgresql",
|
|
23
22
|
},
|
|
23
|
+
kind: "client",
|
|
24
24
|
}));
|
|
25
25
|
};
|
|
26
26
|
const RelationPrototype = {
|
|
27
27
|
...Effectable.Prototype({
|
|
28
|
-
label: "EffectPrismaRelation",
|
|
29
28
|
evaluate() {
|
|
30
29
|
return relationEffect(this);
|
|
31
30
|
},
|
|
31
|
+
label: "EffectPrismaRelation",
|
|
32
32
|
}),
|
|
33
33
|
get stream() {
|
|
34
34
|
const runtime = runtimeOf(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,QAAQ,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAuB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAe1D,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA8B,CAAC;AAE3D,MAAM,SAAS,GAAG,CAAC,IAAY,EAAsB,EAAE;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAuC,EAAE;IAC5E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC3D,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACnB,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAChI,CACD,CACD,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE;QACtF,
|
|
1
|
+
{"version":3,"file":"relation-runtime.js","sourceRoot":"","sources":["../../src/internal/relation-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
|
-
import { type PrismaError } from "
|
|
2
|
+
import { type PrismaError } from "#error.ts";
|
|
3
3
|
import type { AnyPostgresContract, DatabaseExecutor } from "./executor.ts";
|
|
4
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>;
|
|
@@ -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,
|
|
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,WAAW,CAAC;AAE7E,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,CAwBnC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
|
-
import { isPrismaFailure, toPrismaError } from "
|
|
2
|
+
import { isPrismaFailure, toPrismaError } from "#error.ts";
|
|
3
3
|
import { hasMethod, invokeMethod, isAsyncIterable } from "./dynamic.js";
|
|
4
4
|
import { fromPrismaPromise } from "./promise.js";
|
|
5
5
|
import { executeQuery } from "./query-execution.js";
|
|
@@ -11,18 +11,16 @@ const collectRows = (iterable) => fromPrismaPromise(async () => {
|
|
|
11
11
|
}
|
|
12
12
|
return rows;
|
|
13
13
|
});
|
|
14
|
-
export const makeRelationStream = (resolveExecutor, recipe) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}))));
|
|
27
|
-
};
|
|
14
|
+
export const makeRelationStream = (resolveExecutor, recipe) => Stream.unwrap(Effect.flatMap(resolveExecutor, (executor) => executeQuery(executor, Effect.sync(() => {
|
|
15
|
+
const collection = replayRecipe(executor.models, recipe, executor.identity, executor.transactionIdentity);
|
|
16
|
+
const iterable = hasMethod(collection, "all") ? invokeMethod(collection, "all", []) : undefined;
|
|
17
|
+
if (!isAsyncIterable(iterable)) {
|
|
18
|
+
throw new TypeError("Only collection Relations can be streamed");
|
|
19
|
+
}
|
|
20
|
+
if (executor.mode === "root") {
|
|
21
|
+
return Stream.fromAsyncIterable(iterable, (error) => error).pipe(Stream.catch((error) => (isPrismaFailure(error) ? Stream.fail(toPrismaError(error)) : Stream.die(error))));
|
|
22
|
+
}
|
|
23
|
+
const buffered = executeQuery(executor, collectRows(iterable));
|
|
24
|
+
return Stream.unwrap(Effect.map(buffered, (rows) => Stream.fromIterable(rows)));
|
|
25
|
+
}))));
|
|
28
26
|
//# sourceMappingURL=relation-stream.js.map
|
|
@@ -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,
|
|
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,WAAW,CAAC;AAC7E,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,EAAyC,EAAE,CAC/F,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,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,CACxC,MAAM,CAAC,MAAM,CACZ,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5C,YAAY,CACX,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAChB,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC1G,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;IAChG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,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;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/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;AACjF,CAAC,CAAC,CACF,CACD,CACD,CAAC"}
|
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
import type { ExecutionContext } from "@prisma-next/sql-runtime";
|
|
2
2
|
import type { AnySqlContract } from "./executor.ts";
|
|
3
|
-
/**
|
|
4
|
-
* Stamp `Z` onto a SQLite datetime string that carries no zone designator.
|
|
5
|
-
*
|
|
6
|
-
* SQLite stores `DateTime` as text and computes `datetime('now')` — the default
|
|
7
|
-
* `prisma-next db init` generates — in UTC, but writes it as
|
|
8
|
-
* `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
|
|
9
|
-
* so decoding it unchanged shifts the instant by the process' UTC offset.
|
|
10
|
-
* Values that already carry `Z` or a numeric offset, date-only values (which
|
|
11
|
-
* `new Date` already reads as UTC), and anything that is not a datetime string
|
|
12
|
-
* are returned unchanged.
|
|
13
|
-
*/
|
|
14
3
|
export declare const normalizeSqliteDatetime: (value: string) => string;
|
|
15
|
-
/**
|
|
16
|
-
* Replace the client's codec registry with one that decodes zone-less
|
|
17
|
-
* `sqlite/datetime@1` values as UTC.
|
|
18
|
-
*
|
|
19
|
-
* The registry is the single resolution point for both row decoding and the
|
|
20
|
-
* JSON decoding of included relations, so wrapping it covers every read path
|
|
21
|
-
* without touching encoding. Prisma Next rejects a second descriptor for an
|
|
22
|
-
* already-registered codec id, so an extension pack cannot replace the codec
|
|
23
|
-
* itself. Must run before the first query, because the runtime reads the
|
|
24
|
-
* registry off the context when it is created.
|
|
25
|
-
*
|
|
26
|
-
* Codecs are identified by the resolved reference rather than by `codec.id`:
|
|
27
|
-
* Prisma Next materializes a codec through an unbound descriptor factory, so
|
|
28
|
-
* the instance's `id` accessor throws.
|
|
29
|
-
*/
|
|
30
4
|
export declare const decodeSqliteDatetimesAsUtc: (context: ExecutionContext<AnySqlContract>) => void;
|
|
31
5
|
//# sourceMappingURL=sqlite-datetime.d.ts.map
|
|
@@ -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;AAapD,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAAmD,CAAC;AAa5G,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,CAAC,cAAc,CAAC,KAAG,IAiCtF,CAAC"}
|
|
@@ -1,39 +1,18 @@
|
|
|
1
1
|
const sqliteDatetimeCodecId = "sqlite/datetime@1";
|
|
2
|
-
const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* SQLite stores `DateTime` as text and computes `datetime('now')` — the default
|
|
7
|
-
* `prisma-next db init` generates — in UTC, but writes it as
|
|
8
|
-
* `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
|
|
9
|
-
* so decoding it unchanged shifts the instant by the process' UTC offset.
|
|
10
|
-
* Values that already carry `Z` or a numeric offset, date-only values (which
|
|
11
|
-
* `new Date` already reads as UTC), and anything that is not a datetime string
|
|
12
|
-
* are returned unchanged.
|
|
13
|
-
*/
|
|
2
|
+
const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)$/u;
|
|
3
|
+
// SQLite computes `datetime('now')`, the default `prisma-next db init` generates, in UTC but writes it as `YYYY-MM-DD HH:MM:SS`
|
|
4
|
+
// with no zone, and `new Date` reads that form as local time. Values with a zone and date-only values already read as UTC.
|
|
14
5
|
export const normalizeSqliteDatetime = (value) => value.replace(zonelessDatetime, "$1T$2Z");
|
|
15
6
|
const decodeAsUtc = (codec) => ({
|
|
16
|
-
id: sqliteDatetimeCodecId,
|
|
17
|
-
encode: (value, context) => codec.encode(value, context),
|
|
18
7
|
decode: (wire, context) => codec.decode(typeof wire === "string" ? normalizeSqliteDatetime(wire) : wire, context),
|
|
19
|
-
encodeJson: (value) => codec.encodeJson(value),
|
|
20
8
|
decodeJson: (json) => codec.decodeJson(typeof json === "string" ? normalizeSqliteDatetime(json) : json),
|
|
9
|
+
encode: (value, context) => codec.encode(value, context),
|
|
10
|
+
encodeJson: (value) => codec.encodeJson(value),
|
|
11
|
+
id: sqliteDatetimeCodecId,
|
|
21
12
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
* The registry is the single resolution point for both row decoding and the
|
|
27
|
-
* JSON decoding of included relations, so wrapping it covers every read path
|
|
28
|
-
* without touching encoding. Prisma Next rejects a second descriptor for an
|
|
29
|
-
* already-registered codec id, so an extension pack cannot replace the codec
|
|
30
|
-
* itself. Must run before the first query, because the runtime reads the
|
|
31
|
-
* registry off the context when it is created.
|
|
32
|
-
*
|
|
33
|
-
* Codecs are identified by the resolved reference rather than by `codec.id`:
|
|
34
|
-
* Prisma Next materializes a codec through an unbound descriptor factory, so
|
|
35
|
-
* the instance's `id` accessor throws.
|
|
36
|
-
*/
|
|
13
|
+
// The registry resolves codecs for rows and included relations alike, and Prisma Next rejects a second descriptor for a registered
|
|
14
|
+
// codec id, so wrapping the registry is the one way to cover every read. It must run before the first query, which reads the
|
|
15
|
+
// registry off the context. Codecs are matched by reference because a materialized codec's `id` accessor throws.
|
|
37
16
|
export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
38
17
|
const registry = context.contractCodecs;
|
|
39
18
|
const descriptors = context.codecDescriptors;
|
|
@@ -48,6 +27,10 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
|
48
27
|
return utc;
|
|
49
28
|
};
|
|
50
29
|
const utcRegistry = {
|
|
30
|
+
forCodecRef: (reference) => {
|
|
31
|
+
const codec = registry.forCodecRef(reference);
|
|
32
|
+
return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
33
|
+
},
|
|
51
34
|
forColumn: (namespaceId, table, column) => {
|
|
52
35
|
const codec = registry.forColumn(namespaceId, table, column);
|
|
53
36
|
if (codec === undefined) {
|
|
@@ -56,10 +39,6 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
|
56
39
|
const reference = descriptors.codecRefForColumn(namespaceId, table, column);
|
|
57
40
|
return reference?.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
58
41
|
},
|
|
59
|
-
forCodecRef: (reference) => {
|
|
60
|
-
const codec = registry.forCodecRef(reference);
|
|
61
|
-
return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
62
|
-
},
|
|
63
42
|
};
|
|
64
43
|
if (!Reflect.set(context, "contractCodecs", utcRegistry)) {
|
|
65
44
|
throw new TypeError("The SQLite execution context does not accept a codec registry");
|
|
@@ -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,GAAG,
|
|
1
|
+
{"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
export declare const MEMORY_PATH = ":memory:";
|
|
2
|
-
/**
|
|
3
|
-
* Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
|
|
4
|
-
* `RuntimeConnection`, so an in-memory database would give each transaction its
|
|
5
|
-
* own empty database.
|
|
6
|
-
*/
|
|
7
2
|
export declare const assertFileBackedPath: (path: string) => void;
|
|
8
|
-
|
|
9
|
-
* Apply connect-time pragmas.
|
|
10
|
-
*
|
|
11
|
-
* The driver already sets `foreign_keys` and `busy_timeout` on every connection
|
|
12
|
-
* it opens, but it has no hook for anything else, so durable pragmas such as
|
|
13
|
-
* `journal_mode` are applied once against the database file itself.
|
|
14
|
-
*/
|
|
15
|
-
export declare const applySqlitePragmas: (path: string, pragmas: ReadonlyArray<string>) => void;
|
|
3
|
+
export declare const applySqlitePragmas: (path: string, pragmas: readonly string[]) => void;
|
|
16
4
|
//# sourceMappingURL=sqlite-pragmas.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAGtC,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,IAa7E,CAAC"}
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
2
|
export const MEMORY_PATH = ":memory:";
|
|
3
|
-
|
|
4
|
-
* Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
|
|
5
|
-
* `RuntimeConnection`, so an in-memory database would give each transaction its
|
|
6
|
-
* own empty database.
|
|
7
|
-
*/
|
|
3
|
+
// Prisma Next's SQLite driver opens a fresh `node:sqlite` connection per `RuntimeConnection`, so each transaction would get its own empty in-memory database.
|
|
8
4
|
export const assertFileBackedPath = (path) => {
|
|
9
5
|
if (path === MEMORY_PATH || path.trim().length === 0) {
|
|
10
6
|
throw new TypeError("Effect Prisma requires a file-backed SQLite database; transactions run on their own connection and cannot see an in-memory database");
|
|
11
7
|
}
|
|
12
8
|
};
|
|
13
|
-
|
|
14
|
-
* Apply connect-time pragmas.
|
|
15
|
-
*
|
|
16
|
-
* The driver already sets `foreign_keys` and `busy_timeout` on every connection
|
|
17
|
-
* it opens, but it has no hook for anything else, so durable pragmas such as
|
|
18
|
-
* `journal_mode` are applied once against the database file itself.
|
|
19
|
-
*/
|
|
9
|
+
// The driver has no hook for pragmas beyond `foreign_keys` and `busy_timeout`, so durable ones such as `journal_mode` go to the file once.
|
|
20
10
|
export const applySqlitePragmas = (path, pragmas) => {
|
|
21
11
|
if (pragmas.length === 0) {
|
|
22
12
|
return;
|
|
@@ -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
|
|
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,8JAA8J;AAC9J,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,2IAA2I;AAC3I,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAA0B,EAAQ,EAAE;IACpF,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 "
|
|
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,
|
|
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,WAAW,CAAC;AAE7C,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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { orm } from "@prisma-next/sql-orm-client";
|
|
2
2
|
import { Effect, Exit, Semaphore } from "effect";
|
|
3
|
-
import type { PrismaError } from "
|
|
4
|
-
import { type SettledConnection, type SettledTransaction } from "
|
|
3
|
+
import type { PrismaError } from "#error.ts";
|
|
4
|
+
import { type SettledConnection, type SettledTransaction } from "#internal/adapters/transaction-settlement.ts";
|
|
5
5
|
import type { AnySqlContract, DatabaseExecutor } from "./executor.ts";
|
|
6
6
|
export type TransactionOrm<Contract extends AnySqlContract> = ReturnType<typeof orm<Contract>>;
|
|
7
7
|
export declare const withTransactionSemaphore: <A, E, R>(semaphore: Semaphore.Semaphore | undefined, transaction: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
8
8
|
export interface TransactionResource<Models extends object, Contract extends AnySqlContract> {
|
|
9
9
|
readonly connection: SettledConnection;
|
|
10
|
-
readonly transaction: SettledTransaction;
|
|
11
10
|
readonly executor: DatabaseExecutor<Models, Contract> & {
|
|
12
11
|
readonly querySemaphore: Semaphore.Semaphore;
|
|
13
12
|
};
|
|
13
|
+
readonly transaction: SettledTransaction;
|
|
14
14
|
}
|
|
15
15
|
export declare const acquireTransaction: <Models extends object, Contract extends AnySqlContract>(current: DatabaseExecutor<Models, Contract>, models: (orm: TransactionOrm<Contract>) => Models, mode: "test" | "transaction") => Effect.Effect<TransactionResource<Models, Contract>, PrismaError>;
|
|
16
16
|
export declare const releaseTransaction: <Models extends object, Contract extends AnySqlContract, A, E>(resource: TransactionResource<Models, Contract>, exit: Exit.Exit<A, E>) => Effect.Effect<void, PrismaError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAoB,MAAM,8CAA8C,CAAC;AACjI,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/F,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,WAAW,SAAS,CAAC,SAAS,GAAG,SAAS,EAC1C,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgF,CAAC;AAEzG,MAAM,WAAW,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc;IAC1F,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;QACvD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;KAC7C,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CACzC;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EACxF,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,MAAM,EACjD,MAAM,MAAM,GAAG,aAAa,KAC1B,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAgChE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAC9F,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA4C,CAAC;AAE/E,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAClG,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA6C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { orm } from "@prisma-next/sql-orm-client";
|
|
2
2
|
import { Effect, Exit, Semaphore } from "effect";
|
|
3
|
-
import { settleConnection } from "
|
|
3
|
+
import { settleConnection } from "#internal/adapters/transaction-settlement.ts";
|
|
4
4
|
import { fromPrismaPromise } from "./promise.js";
|
|
5
5
|
export const withTransactionSemaphore = (semaphore, transaction) => (semaphore === undefined ? transaction : semaphore.withPermit(transaction));
|
|
6
6
|
export const acquireTransaction = (current, models, mode) => fromPrismaPromise(async () => {
|
|
@@ -8,12 +8,11 @@ export const acquireTransaction = (current, models, mode) => fromPrismaPromise(a
|
|
|
8
8
|
try {
|
|
9
9
|
const transaction = await connection.transaction();
|
|
10
10
|
const transactionOrm = orm({
|
|
11
|
-
runtime: transaction,
|
|
12
11
|
context: current.client.context,
|
|
12
|
+
runtime: transaction,
|
|
13
13
|
});
|
|
14
14
|
return {
|
|
15
15
|
connection,
|
|
16
|
-
transaction,
|
|
17
16
|
executor: {
|
|
18
17
|
client: current.client,
|
|
19
18
|
identity: current.identity,
|
|
@@ -27,6 +26,7 @@ export const acquireTransaction = (current, models, mode) => fromPrismaPromise(a
|
|
|
27
26
|
transactionIdentity: {},
|
|
28
27
|
transactionSemaphore: current.transactionSemaphore,
|
|
29
28
|
},
|
|
29
|
+
transaction,
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAmD,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAmD,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,SAA0C,EAC1C,WAAmC,EACV,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAUzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,OAA2C,EAC3C,MAAiD,EACjD,IAA4B,EACwC,EAAE,CACtE,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAE/D,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,OAAO,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,OAAO;YACN,UAAU;YACV,QAAQ,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE;oBACT,UAAU,EAAE,4BAA4B;oBACxC,IAAI,EAAE,IAAI;iBACV;gBACD,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;gBAC9B,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvC,mBAAmB,EAAE,EAAE;gBACvB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aAClD;YACD,WAAW;SACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEhF,MAAM,iBAAiB,GAAG,CACzB,QAA+C,EAC/C,IAAqB,EACrB,eAAwB,EACW,EAAE,CACrC,MAAM,CAAC,eAAe,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAChB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;AACzC,CAAC,CAAC,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,CACb,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzI,CACD,CACD,CAAC"}
|
|
@@ -29,6 +29,6 @@ type AnyNullableField<Fields, Names extends readonly string[]> = Names extends r
|
|
|
29
29
|
] ? Head extends keyof Fields ? Fields[Head] extends {
|
|
30
30
|
readonly nullable: true;
|
|
31
31
|
} ? true : AnyNullableField<Fields, Tail> : true : false;
|
|
32
|
-
export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ?
|
|
32
|
+
export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ? Value[] : RelationCardinalityOf<Contract, Model, RelationName> extends "N:1" ? AnyNullableField<ModelFields<Contract, Model>, RelationLocalFields<Contract, Model, RelationName>> extends true ? Value | null : Value : Value | null;
|
|
33
33
|
export {};
|
|
34
34
|
//# sourceMappingURL=include-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.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,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAE7D,KAAK,kBAAkB,CACtB,QAAQ,SAAS,mBAAmB,EACpC,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,MAAM,IACxB,YAAY,SAAS,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;AAEjH,KAAK,qBAAqB,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IACjH,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,WAAW,SAAS,MAAM,CAAC;CACvD,GACE,WAAW,GACX,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IACnH,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAE3F,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IACrH,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS;IACzD,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,SAAS,MAAM,CAAA;KAAE,CAAC;CAC9D,GACE,OAAO,GACP,KAAK,CAAC;AAEV,KAAK,mBAAmB,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IAC/G,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS;IACzD,QAAQ,CAAC,EAAE,EAAE;QACZ,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,SAAS,SAAS,MAAM,EAAE,CAAC;KAC7D,CAAC;CACF,GACE,MAAM,GACN,SAAS,EAAE,CAAC;AAEhB,KAAK,gBAAgB,CAAC,QAAQ,SAAS,mBAAmB,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAEvI,KAAK,WAAW,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,IAC1E,gBAAgB,CAAC,QAAQ,CAAC,SAAS;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;CAC9B,GACE,KAAK,SAAS,MAAM,MAAM,GACzB,MAAM,CAAC,KAAK,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,GACtD,MAAM,GACN,KAAK,GACN,KAAK,GACN,KAAK,CAAC;AAEV,KAAK,gBAAgB,CAAC,MAAM,EAAE,KAAK,SAAS,SAAS,MAAM,EAAE,IAAI,KAAK,SAAS,SAAS;IACvF,MAAM,IAAI,SAAS,MAAM;IACzB,GAAG,MAAM,IAAI,SAAS,SAAS,MAAM,EAAE;CACvC,GACE,IAAI,SAAS,MAAM,MAAM,GACxB,MAAM,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC/C,IAAI,GACJ,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,GAC/B,IAAI,GACL,KAAK,CAAC;AAET,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,EAAE,KAAK,IAC/H,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,KAAK,GAAG,KAAK,GACvE,KAAK,EAAE,GACP,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,KAAK,GACjE,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,SAAS,IAAI,GAC9G,KAAK,GAAG,IAAI,GACZ,KAAK,GACN,KAAK,GAAG,IAAI,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DefaultModelRow, Collection as PrismaCollection, RelationNames } from "@prisma-next/sql-orm-client";
|
|
2
|
-
import type { Relation, RelationQuery } from "
|
|
2
|
+
import type { Relation, RelationQuery } from "#relation.ts";
|
|
3
3
|
import type { AnyPostgresContract, IncludedRelationValue, IsToManyRelation, RelatedModelNameOf } from "./include-metadata.ts";
|
|
4
4
|
type Simplify<Value> = {
|
|
5
5
|
[Key in keyof Value]: Value[Key];
|
|
@@ -18,10 +18,13 @@ type AcceptRelatedQueryShape<Shape extends Readonly<Record<string, unknown>>, Co
|
|
|
18
18
|
type WithIncludedRelation<Collection, Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = Collection extends PrismaCollection<Contract, Model, infer Row, infer State> ? PrismaCollection<Contract, Model, Simplify<Row & {
|
|
19
19
|
readonly [Key in RelationName]: Value;
|
|
20
20
|
}>, State> : never;
|
|
21
|
+
interface IncludeOverloads<Collection, Contract extends AnyPostgresContract, Model extends string, DatabaseId> {
|
|
22
|
+
<RelationName extends RelationNames<Contract, Model>>(relationName: RelationName): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedRelationValue<Contract, Model, RelationName, DefaultModelRow<Contract, RelatedModelNameOf<Contract, Model, RelationName>>>>, Contract, Model, DatabaseId>;
|
|
23
|
+
<RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
|
|
24
|
+
<RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
|
|
25
|
+
}
|
|
21
26
|
export type IncludeMethod<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer _Row, infer _State> ? {
|
|
22
|
-
include
|
|
23
|
-
include<RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
|
|
24
|
-
include<RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
|
|
27
|
+
include: IncludeOverloads<Collection, Contract, Model, DatabaseId>;
|
|
25
28
|
} : Record<never, never> : Record<never, never>;
|
|
26
29
|
export {};
|
|
27
30
|
//# sourceMappingURL=include.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,IAAI,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"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"}
|