@shivaedev/effect-prisma 0.6.3 → 0.7.0
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 +26 -1
- package/dist/bin/normalize-contract.js +1 -0
- package/dist/bin/normalize-contract.js.map +1 -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 +5 -6
- 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 +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 +5 -10
- package/dist/internal/contract-normalization.js.map +1 -1
- package/dist/internal/database-facade.d.ts +19 -0
- package/dist/internal/database-facade.d.ts.map +1 -0
- package/dist/internal/database-facade.js +79 -0
- package/dist/internal/database-facade.js.map +1 -0
- package/dist/internal/database-factory.d.ts +4 -48
- package/dist/internal/database-factory.d.ts.map +1 -1
- package/dist/internal/database-factory.js +11 -90
- package/dist/internal/database-factory.js.map +1 -1
- package/dist/internal/database-types.d.ts +33 -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 +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 -4
- 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 +3 -3
- package/dist/internal/recipe.d.ts.map +1 -1
- package/dist/internal/recipe.js +9 -20
- 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 +12 -37
- 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 +20 -24
- package/dist/internal/relation-stream.js.map +1 -1
- package/dist/internal/sqlite-datetime.d.ts +1 -27
- package/dist/internal/sqlite-datetime.d.ts.map +1 -1
- package/dist/internal/sqlite-datetime.js +16 -35
- 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/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 +5 -53
- 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 +8 -5
- package/dist/relation/include.d.ts.map +1 -1
- package/dist/relation/prisma-methods.d.ts +17 -17
- package/dist/relation/prisma-methods.d.ts.map +1 -1
- package/dist/relation.d.ts +4 -4
- package/dist/relation.d.ts.map +1 -1
- package/dist/sqlite.d.ts +5 -10
- 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 +7 -7
- 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 +35 -37
- package/src/bin/normalize-contract.ts +2 -1
- package/src/database.ts +49 -67
- package/src/error.ts +13 -23
- package/src/index.ts +3 -3
- package/src/internal/adapters/transaction-settlement.ts +70 -0
- package/src/internal/client-lifecycle.ts +4 -11
- package/src/internal/contract-normalization.ts +6 -14
- package/src/internal/database-facade.ts +138 -0
- package/src/internal/database-factory.ts +34 -306
- package/src/internal/database-types.ts +65 -0
- package/src/internal/dynamic.ts +16 -0
- package/src/internal/executor.ts +4 -11
- package/src/internal/promise.ts +4 -12
- package/src/internal/query-execution.ts +4 -8
- package/src/internal/recipe.ts +24 -89
- package/src/internal/relation-plan.ts +1 -1
- package/src/internal/relation-result.ts +27 -0
- package/src/internal/relation-runtime.ts +45 -135
- package/src/internal/relation-stream.ts +24 -51
- package/src/internal/sqlite-datetime.ts +20 -54
- package/src/internal/sqlite-pragmas.ts +3 -16
- package/src/internal/testing.ts +13 -15
- package/src/internal/transaction.ts +16 -109
- package/src/relation/include-metadata.ts +11 -43
- package/src/relation/include.ts +46 -140
- package/src/relation/prisma-methods.ts +36 -122
- package/src/relation.ts +20 -48
- package/src/sqlite.ts +59 -85
- package/src/testing/transaction.ts +20 -33
- package/src/testing/types.ts +15 -34
- package/src/testing/vitest.ts +14 -28
- package/src/testing.ts +3 -3
package/src/testing/vitest.ts
CHANGED
|
@@ -1,38 +1,24 @@
|
|
|
1
1
|
import { it as effectIt } from "@effect/vitest";
|
|
2
|
-
import { makeEffectIt } from "@shivaedev/effect-test";
|
|
3
2
|
import type { Effect, Layer } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
DatabaseIt,
|
|
8
|
-
DatabaseService,
|
|
9
|
-
MakeDatabaseItOptions,
|
|
10
|
-
} from "./types.js";
|
|
3
|
+
import { type EffectClock, makeEffectIt } from "@shivaedev/effect-test";
|
|
4
|
+
import { withTestTransaction } from "./transaction.ts";
|
|
5
|
+
import type { AnyDatabase, DatabaseIt, MakeDatabaseItOptions } from "./types.ts";
|
|
11
6
|
|
|
12
|
-
export
|
|
13
|
-
Database extends AnyDatabase,
|
|
14
|
-
Provided,
|
|
15
|
-
LayerError,
|
|
16
|
-
>(
|
|
7
|
+
export function makeDatabaseIt<Database extends AnyDatabase, Provided, LayerError>(
|
|
17
8
|
options: MakeDatabaseItOptions<Database, Provided, LayerError> & {
|
|
18
|
-
readonly layer: Layer.Layer<
|
|
19
|
-
Provided | Effect.Services<Database>,
|
|
20
|
-
LayerError
|
|
21
|
-
>;
|
|
9
|
+
readonly layer: Layer.Layer<Provided | Effect.Services<Database>, LayerError>;
|
|
22
10
|
},
|
|
23
|
-
): DatabaseIt<Database, Provided | Effect.Services<Database
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
): DatabaseIt<Database, Provided | Effect.Services<Database>>;
|
|
12
|
+
export function makeDatabaseIt(options: {
|
|
13
|
+
readonly clock?: EffectClock | undefined;
|
|
14
|
+
readonly database: AnyDatabase;
|
|
15
|
+
readonly layer: Layer.Layer<unknown, unknown>;
|
|
16
|
+
}): unknown {
|
|
26
17
|
const { effectApp } = makeEffectIt({
|
|
27
18
|
around: (effect) => withTestTransaction(options.database, effect),
|
|
28
19
|
clock: options.clock,
|
|
29
20
|
layer: options.layer,
|
|
30
|
-
makeHarness: () =>
|
|
31
|
-
options.database as unknown as Effect.Effect<
|
|
32
|
-
DatabaseService<Database>,
|
|
33
|
-
never,
|
|
34
|
-
Effect.Services<Database>
|
|
35
|
-
>,
|
|
21
|
+
makeHarness: () => options.database,
|
|
36
22
|
});
|
|
37
23
|
|
|
38
24
|
return new Proxy(effectIt, {
|
|
@@ -42,5 +28,5 @@ export const makeDatabaseIt = <
|
|
|
42
28
|
}
|
|
43
29
|
return Reflect.get(target, property, receiver);
|
|
44
30
|
},
|
|
45
|
-
})
|
|
46
|
-
}
|
|
31
|
+
});
|
|
32
|
+
}
|
package/src/testing.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { withTestTransaction } from "./testing/transaction.
|
|
1
|
+
export { withTestTransaction } from "./testing/transaction.ts";
|
|
2
2
|
export type {
|
|
3
3
|
AnyDatabase,
|
|
4
4
|
DatabaseIt,
|
|
@@ -6,5 +6,5 @@ export type {
|
|
|
6
6
|
DatabaseTest,
|
|
7
7
|
DatabaseTester,
|
|
8
8
|
MakeDatabaseItOptions,
|
|
9
|
-
} from "./testing/types.
|
|
10
|
-
export { makeDatabaseIt } from "./testing/vitest.
|
|
9
|
+
} from "./testing/types.ts";
|
|
10
|
+
export { makeDatabaseIt } from "./testing/vitest.ts";
|