@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
|
@@ -2,10 +2,10 @@ import type { Contract as PrismaContract } from "@prisma-next/contract/types";
|
|
|
2
2
|
import type { SqlStorage } from "@prisma-next/sql-contract/types";
|
|
3
3
|
import type { AggregateBuilder, AggregateResult, AggregateSpec, DefaultModelRow, GroupedCollection, Collection as PrismaCollection } from "@prisma-next/sql-orm-client";
|
|
4
4
|
import type { Effect, Stream } from "effect";
|
|
5
|
-
import type { PrismaError } from "../error.
|
|
6
|
-
import type { CollectionResult, Relation, RelationQuery } from "../relation.
|
|
7
|
-
import type { IncludeMethod } from "./include.
|
|
8
|
-
type AnyFunction = (...arguments_:
|
|
5
|
+
import type { PrismaError } from "../error.ts";
|
|
6
|
+
import type { CollectionResult, Relation, RelationQuery } from "../relation.ts";
|
|
7
|
+
import type { IncludeMethod } from "./include.ts";
|
|
8
|
+
type AnyFunction = (...arguments_: readonly never[]) => unknown;
|
|
9
9
|
type AnyPostgresContract = PrismaContract<SqlStorage>;
|
|
10
10
|
type FieldTuple<Row> = readonly [keyof Row & string, ...(keyof Row & string)[]];
|
|
11
11
|
type Simplify<Value> = {
|
|
@@ -13,7 +13,7 @@ type Simplify<Value> = {
|
|
|
13
13
|
};
|
|
14
14
|
type TerminalMethod<Method> = Method extends (...arguments_: infer Arguments) => PromiseLike<infer Value> ? (...arguments_: Arguments) => Effect.Effect<Awaited<Value>, PrismaError> : never;
|
|
15
15
|
type SelectMethod<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer _Row, infer State> ? {
|
|
16
|
-
select<Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields)
|
|
16
|
+
select: <Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields) => Relation<PrismaCollection<Contract, Model, Pick<DefaultModelRow<Contract, Model>, Fields[number]>, State>, Contract, Model, DatabaseId>;
|
|
17
17
|
} : Record<never, never> : Collection extends {
|
|
18
18
|
select: infer Select extends AnyFunction;
|
|
19
19
|
} ? {
|
|
@@ -22,21 +22,21 @@ type SelectMethod<Collection, Contract, Model extends string, DatabaseId> = Cont
|
|
|
22
22
|
type AggregateConfigure<Collection> = Collection extends {
|
|
23
23
|
aggregate: infer Method extends AnyFunction;
|
|
24
24
|
} ? Exclude<Parameters<Method>[1], undefined> : never;
|
|
25
|
-
type AggregateSuccess<Collection, Contract extends AnyPostgresContract, Model extends string, Spec extends AggregateSpec> = Collection extends GroupedCollection<Contract, Model, infer Fields extends FieldTuple<DefaultModelRow<Contract, Model>>> ?
|
|
25
|
+
type AggregateSuccess<Collection, Contract extends AnyPostgresContract, Model extends string, Spec extends AggregateSpec> = Collection extends GroupedCollection<Contract, Model, infer Fields extends FieldTuple<DefaultModelRow<Contract, Model>>> ? Simplify<Pick<DefaultModelRow<Contract, Model>, Fields[number]> & AggregateResult<Spec>>[] : AggregateResult<Spec>;
|
|
26
26
|
type AggregateMethod<Collection, Contract, Model extends string> = Contract extends AnyPostgresContract ? Collection extends {
|
|
27
27
|
aggregate: AnyFunction;
|
|
28
28
|
} ? {
|
|
29
|
-
aggregate<Spec extends AggregateSpec>(make: (aggregate: AggregateBuilder<Contract, Model>) => Spec, configure?: AggregateConfigure<Collection>)
|
|
29
|
+
aggregate: <Spec extends AggregateSpec>(make: (aggregate: AggregateBuilder<Contract, Model>) => Spec, configure?: AggregateConfigure<Collection>) => Effect.Effect<AggregateSuccess<Collection, Contract, Model, Spec>, PrismaError>;
|
|
30
30
|
} : Record<never, never> : Record<never, never>;
|
|
31
31
|
type CollectionMethods<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer _Row, infer State> ? {
|
|
32
|
-
groupBy<Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields)
|
|
33
|
-
cursor(values: State extends {
|
|
32
|
+
groupBy: <Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields) => Relation<GroupedCollection<Contract, Model, Fields>, Contract, Model, DatabaseId>;
|
|
33
|
+
cursor: (values: State extends {
|
|
34
34
|
readonly hasOrderBy: true;
|
|
35
|
-
} ? Partial<Record<keyof DefaultModelRow<Contract, Model> & string, unknown>> : never)
|
|
36
|
-
distinct<Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields)
|
|
37
|
-
distinctOn<Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: State extends {
|
|
35
|
+
} ? Partial<Record<keyof DefaultModelRow<Contract, Model> & string, unknown>> : never) => Relation<Collection, Contract, Model, DatabaseId>;
|
|
36
|
+
distinct: <Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: Fields) => Relation<Collection, Contract, Model, DatabaseId>;
|
|
37
|
+
distinctOn: <Fields extends FieldTuple<DefaultModelRow<Contract, Model>>>(...fields: State extends {
|
|
38
38
|
readonly hasOrderBy: true;
|
|
39
|
-
} ? Fields : never)
|
|
39
|
+
} ? Fields : never) => Relation<Collection, Contract, Model, DatabaseId>;
|
|
40
40
|
} & (State extends {
|
|
41
41
|
readonly hasWhere: true;
|
|
42
42
|
} ? {
|
|
@@ -44,12 +44,12 @@ type CollectionMethods<Collection, Contract, Model extends string, DatabaseId> =
|
|
|
44
44
|
} : Record<never, never>) : Record<never, never> : Record<never, never>;
|
|
45
45
|
type CollectionConveniences<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer Row, infer _State> ? {
|
|
46
46
|
readonly stream: Stream.Stream<Row, PrismaError>;
|
|
47
|
-
count()
|
|
48
|
-
exists()
|
|
47
|
+
count: () => RelationQuery<number, Contract, Model, DatabaseId>;
|
|
48
|
+
exists: () => Effect.Effect<boolean, PrismaError>;
|
|
49
49
|
} : Record<never, never> : CollectionResult<Collection> extends ReadonlyArray<infer Row> ? {
|
|
50
50
|
readonly stream: Stream.Stream<Row, PrismaError>;
|
|
51
|
-
count()
|
|
52
|
-
exists()
|
|
51
|
+
count: () => Effect.Effect<number, PrismaError>;
|
|
52
|
+
exists: () => Effect.Effect<boolean, PrismaError>;
|
|
53
53
|
} : Record<never, never>;
|
|
54
54
|
export type PrismaRelationMethods<Collection, Contract, Model extends string, DatabaseId> = SelectMethod<Collection, Contract, Model, DatabaseId> & IncludeMethod<Collection, Contract, Model, DatabaseId> & AggregateMethod<Collection, Contract, Model> & CollectionMethods<Collection, Contract, Model, DatabaseId> & CollectionConveniences<Collection, Contract, Model, DatabaseId>;
|
|
55
55
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-methods.d.ts","sourceRoot":"","sources":["../../src/relation/prisma-methods.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,EACX,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,IAAI,gBAAgB,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,KAAK,WAAW,GAAG,CAAC,GAAG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"prisma-methods.d.ts","sourceRoot":"","sources":["../../src/relation/prisma-methods.ts"],"names":[],"mappings":"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"}
|
package/dist/relation.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Effect } from "effect";
|
|
2
|
-
import type { PrismaError } from "./error.
|
|
3
|
-
import type { PrismaRelationMethods } from "./relation/prisma-methods.
|
|
4
|
-
type AnyFunction = (...arguments_:
|
|
2
|
+
import type { PrismaError } from "./error.ts";
|
|
3
|
+
import type { PrismaRelationMethods } from "./relation/prisma-methods.ts";
|
|
4
|
+
type AnyFunction = (...arguments_: readonly never[]) => unknown;
|
|
5
5
|
export type CollectionResult<Collection> = Collection extends {
|
|
6
|
-
all()
|
|
6
|
+
all: () => infer Result;
|
|
7
7
|
} ? Awaited<Result> : never;
|
|
8
8
|
type NormalizeTerminal<Name, Result> = Name extends "first" ? import("effect").Option.Option<Exclude<Result, null>> : Result;
|
|
9
9
|
type WrapReturn<Name, Result, Contract, Model extends string, DatabaseId> = Result extends PromiseLike<infer Value> ? Effect.Effect<NormalizeTerminal<Name, Awaited<Value>>, PrismaError> : Result extends object ? Relation<Result, Contract, Model, DatabaseId> : never;
|
package/dist/relation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,KAAK,WAAW,GAAG,CAAC,GAAG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
|
package/dist/sqlite.d.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { type SqliteOptionsBase } from "@prisma-next/sqlite/runtime";
|
|
2
2
|
import { type Layer } from "effect";
|
|
3
|
-
import type { PrismaError } from "./error.
|
|
4
|
-
import {
|
|
5
|
-
import type { AnySqlContract } from "./internal/executor.
|
|
6
|
-
export declare const defaultSqlitePragmas:
|
|
3
|
+
import type { PrismaError } from "./error.ts";
|
|
4
|
+
import type { DatabaseIdentifier, DatabaseIdentifierLiteral, DatabaseServiceHolder } from "./internal/database-types.ts";
|
|
5
|
+
import type { AnySqlContract } from "./internal/executor.ts";
|
|
6
|
+
export declare const defaultSqlitePragmas: readonly string[];
|
|
7
7
|
export interface SqliteDatabaseLayerOptions extends SqliteOptionsBase {
|
|
8
|
-
/** Path to the database file. In-memory databases are not supported. */
|
|
9
8
|
readonly path: string;
|
|
10
|
-
|
|
11
|
-
* Pragmas applied once when the Layer connects. Defaults to
|
|
12
|
-
* {@link defaultSqlitePragmas}; pass `[]` to skip them.
|
|
13
|
-
*/
|
|
14
|
-
readonly pragmas?: ReadonlyArray<string>;
|
|
9
|
+
readonly pragmas?: readonly string[];
|
|
15
10
|
}
|
|
16
11
|
type SqliteFactoryOptions<Contract extends AnySqlContract> = {
|
|
17
12
|
readonly contract: Contract;
|
package/dist/sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAe,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAe,EAAqB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,qBAAqB,EAAiB,MAAM,8BAA8B,CAAC;AACxI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAyB,CAAC;AAE5E,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,KAAK,oBAAoB,CAAC,QAAQ,SAAS,cAAc,IACtD;IACA,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAC7B,GACD;IACA,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEL,MAAM,WAAW,wBAAwB,CAAC,QAAQ,SAAS,cAAc,EAAE,UAAU,SAAS,MAAM,CACnG,SAAQ,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;CAC5H;AASD,eAAO,MAAM,kBAAkB,GAC7B,KAAK,CAAC,QAAQ,SAAS,cAAc,QACrC,KAAK,CAAC,UAAU,SAAS,MAAM,EAC/B,YAAY,yBAAyB,CAAC,UAAU,CAAC,EACjD,SAAS,oBAAoB,CAAC,QAAQ,CAAC,KACrC,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CA2C/C,CAAC"}
|
package/dist/sqlite.js
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import sqlite, {} from "@prisma-next/sqlite/runtime";
|
|
2
2
|
import { Semaphore } from "effect";
|
|
3
|
-
import { acquireConnectedClient, assertAvailableModelNames
|
|
4
|
-
import {
|
|
3
|
+
import { acquireConnectedClient, assertAvailableModelNames } from "./internal/client-lifecycle.js";
|
|
4
|
+
import { contractModels } from "./internal/database-facade.js";
|
|
5
|
+
import { makeSqlDatabase } from "./internal/database-factory.js";
|
|
5
6
|
import { fromPrismaPromise } from "./internal/promise.js";
|
|
6
7
|
import { decodeSqliteDatetimesAsUtc } from "./internal/sqlite-datetime.js";
|
|
7
|
-
import { applySqlitePragmas, assertFileBackedPath
|
|
8
|
+
import { applySqlitePragmas, assertFileBackedPath } from "./internal/sqlite-pragmas.js";
|
|
8
9
|
export const defaultSqlitePragmas = ["journal_mode=WAL"];
|
|
10
|
+
const clientOptions = ({ path, extensions, middleware, verifyMarker }) => ({
|
|
11
|
+
path,
|
|
12
|
+
...(extensions === undefined ? {} : { extensions }),
|
|
13
|
+
...(middleware === undefined ? {} : { middleware }),
|
|
14
|
+
...(verifyMarker === undefined ? {} : { verifyMarker }),
|
|
15
|
+
});
|
|
9
16
|
export const makeSqliteDatabase = () => (identifier, options) => {
|
|
10
17
|
return makeSqlDatabase(identifier, (layerOptions) => {
|
|
11
18
|
assertFileBackedPath(layerOptions.path);
|
|
12
19
|
applySqlitePragmas(layerOptions.path, layerOptions.pragmas ?? defaultSqlitePragmas);
|
|
13
|
-
const
|
|
14
|
-
path: layerOptions.path,
|
|
15
|
-
extensions: layerOptions.extensions,
|
|
16
|
-
middleware: layerOptions.middleware,
|
|
17
|
-
verifyMarker: layerOptions.verifyMarker,
|
|
18
|
-
};
|
|
20
|
+
const forwarded = clientOptions(layerOptions);
|
|
19
21
|
const client = options.contract === undefined
|
|
20
22
|
? sqlite({
|
|
21
|
-
...
|
|
23
|
+
...forwarded,
|
|
22
24
|
contractJson: options.contractJson,
|
|
23
25
|
})
|
|
24
26
|
: sqlite({
|
|
25
|
-
...
|
|
27
|
+
...forwarded,
|
|
26
28
|
contract: options.contract,
|
|
27
29
|
});
|
|
28
30
|
decodeSqliteDatetimesAsUtc(client.context);
|
|
29
31
|
return fromPrismaPromise(() => acquireConnectedClient(client, () => {
|
|
30
32
|
// The SQLite client already exposes the unbound namespace.
|
|
31
|
-
const models = client.orm;
|
|
33
|
+
const models = contractModels(client.orm);
|
|
32
34
|
const accessSemaphore = Semaphore.makeUnsafe(1);
|
|
33
35
|
assertAvailableModelNames(Object.keys(models));
|
|
34
36
|
return {
|
package/dist/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAA6C,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAc,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAExF,MAAM,CAAC,MAAM,oBAAoB,GAAsB,CAAC,kBAAkB,CAAC,CAAC;AAsB5E,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAA8B,EAAE,EAAE,CAAC,CAAC;IACtG,IAAI;IACJ,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IACnD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAC9B,GAA0C,EAAE,CAC5C,CACC,UAAiD,EACjD,OAAuC,EACU,EAAE;IAGnD,OAAO,eAAe,CAAmD,UAAU,EAAE,CAAC,YAAY,EAAE,EAAE;QACrG,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC;QAEpF,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,MAAM,GACX,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,CAAW;gBACjB,GAAG,SAAS;gBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC;YACH,CAAC,CAAC,MAAM,CAAW;gBACjB,GAAG,SAAS;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC1B,CAAC,CAAC;QAEN,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAC7B,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,2DAA2D;YAC3D,MAAM,MAAM,GAAG,cAAc,CAAS,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChD,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,OAAO;gBACN,MAAM;gBACN,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE;oBACT,UAAU,EAAE,yBAAyB;oBACrC,IAAI,EAAE,IAAI;iBACV;gBACD,IAAI,EAAE,MAAM;gBACZ,MAAM;gBACN,cAAc,EAAE,eAAe;gBAC/B,mBAAmB,EAAE,SAAS;gBAC9B,oBAAoB,EAAE,eAAe;aACrC,CAAC;QACH,CAAC,CAAC,CACF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Effect } from "effect";
|
|
2
|
-
import type { PrismaError } from "../error.
|
|
3
|
-
import type { AnyDatabase } from "./types.
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare const withTestTransaction: WithTestTransaction;
|
|
2
|
+
import type { PrismaError } from "../error.ts";
|
|
3
|
+
import type { AnyDatabase } from "./types.ts";
|
|
4
|
+
type TestProgram<Database extends AnyDatabase, A, E, R> = Effect.Effect<A, E, R> & (Effect.Services<Database> extends R ? unknown : never);
|
|
5
|
+
type TestTransaction<Database extends AnyDatabase, A, E, R> = Effect.Effect<A, E | PrismaError, Effect.Services<Database> | Exclude<R, Effect.Services<Database>>>;
|
|
6
|
+
export declare function withTestTransaction<Database extends AnyDatabase>(database: Database): <A, E, R>(program: TestProgram<Database, A, E, R>) => TestTransaction<Database, A, E, R>;
|
|
7
|
+
export declare function withTestTransaction<Database extends AnyDatabase, A, E, R>(database: Database, program: TestProgram<Database, A, E, R>): TestTransaction<Database, A, E, R>;
|
|
9
8
|
export {};
|
|
10
9
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/testing/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/testing/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,WAAW,CAAC,QAAQ,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AAE3I,KAAK,eAAe,CAAC,QAAQ,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAC1E,CAAC,EACD,CAAC,GAAG,WAAW,EACf,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACjE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,WAAW,EAC/D,QAAQ,EAAE,QAAQ,GAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5F,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACxE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACrC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDatabaseTesting } from "../internal/testing.js";
|
|
2
|
-
export
|
|
2
|
+
export function withTestTransaction(database, program) {
|
|
3
3
|
const run = (effect) => getDatabaseTesting(database).withTestTransaction(effect);
|
|
4
4
|
return program === undefined ? run : run(program);
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
6
|
//# sourceMappingURL=transaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/testing/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/testing/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAkB5D,MAAM,UAAU,mBAAmB,CAAC,QAAqB,EAAE,OAAkD;IAC5G,MAAM,GAAG,GAAG,CAAC,MAAgD,EAAE,EAAE,CAAC,kBAAkB,CAAU,QAAQ,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEpI,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/testing/types.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { TestContext, Vitest } from "@effect/vitest";
|
|
2
|
-
import type { EffectClock, EffectTestOptions } from "@shivaedev/effect-test";
|
|
3
2
|
import type { Effect, Layer } from "effect";
|
|
4
|
-
import type {
|
|
5
|
-
|
|
3
|
+
import type { EffectClock, EffectTestOptions } from "@shivaedev/effect-test";
|
|
4
|
+
import type { AnyDatabase, DatabaseServiceOf } from "../database.ts";
|
|
5
|
+
export type { AnyDatabase } from "../database.ts";
|
|
6
6
|
export type DatabaseService<Database extends AnyDatabase> = DatabaseServiceOf<Database>;
|
|
7
7
|
export type DatabaseTest<Database extends AnyDatabase, Provided> = <A, Eff extends Effect.Effect<unknown, unknown, Provided>>(name: string, body: (database: DatabaseService<Database>, context: TestContext) => Generator<Eff, A, never>, options?: number | EffectTestOptions) => void;
|
|
8
8
|
export interface DatabaseTester<Database extends AnyDatabase, Provided> extends DatabaseTest<Database, Provided> {
|
|
9
|
+
readonly each: <Item>(cases: readonly Item[]) => <A, Eff extends Effect.Effect<unknown, unknown, Provided>>(name: string, body: (item: Item, database: DatabaseService<Database>, context: TestContext) => Generator<Eff, A, never>, options?: number | EffectTestOptions) => void;
|
|
10
|
+
readonly fails: DatabaseTest<Database, Provided>;
|
|
11
|
+
readonly only: DatabaseTest<Database, Provided>;
|
|
12
|
+
readonly runIf: (condition: unknown) => DatabaseTest<Database, Provided>;
|
|
9
13
|
readonly skip: DatabaseTest<Database, Provided>;
|
|
10
14
|
readonly skipIf: (condition: unknown) => DatabaseTest<Database, Provided>;
|
|
11
|
-
readonly runIf: (condition: unknown) => DatabaseTest<Database, Provided>;
|
|
12
|
-
readonly only: DatabaseTest<Database, Provided>;
|
|
13
|
-
readonly each: <Item>(cases: ReadonlyArray<Item>) => <A, Eff extends Effect.Effect<unknown, unknown, Provided>>(name: string, body: (item: Item, database: DatabaseService<Database>, context: TestContext) => Generator<Eff, A, never>, options?: number | EffectTestOptions) => void;
|
|
14
|
-
readonly fails: DatabaseTest<Database, Provided>;
|
|
15
15
|
}
|
|
16
16
|
export type DatabaseIt<Database extends AnyDatabase, Provided> = Vitest.Methods & {
|
|
17
17
|
readonly effectDB: DatabaseTester<Database, Provided>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/testing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/testing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAErE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,WAAW,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAExF,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC3H,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAC7F,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;AAEV,MAAM,WAAW,cAAc,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,CAAE,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC/G,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EACnB,KAAK,EAAE,SAAS,IAAI,EAAE,KAClB,CAAC,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC7D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EACzG,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;IACV,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC1E;AAED,MAAM,MAAM,UAAU,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,GAAG;IACjF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,EAAE,UAAU;IACxF,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CAClD"}
|
package/dist/testing/vitest.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Effect, Layer } from "effect";
|
|
2
|
-
import type { AnyDatabase, DatabaseIt, MakeDatabaseItOptions } from "./types.
|
|
3
|
-
export declare
|
|
2
|
+
import type { AnyDatabase, DatabaseIt, MakeDatabaseItOptions } from "./types.ts";
|
|
3
|
+
export declare function makeDatabaseIt<Database extends AnyDatabase, Provided, LayerError>(options: MakeDatabaseItOptions<Database, Provided, LayerError> & {
|
|
4
4
|
readonly layer: Layer.Layer<Provided | Effect.Services<Database>, LayerError>;
|
|
5
|
-
})
|
|
5
|
+
}): DatabaseIt<Database, Provided | Effect.Services<Database>>;
|
|
6
6
|
//# sourceMappingURL=vitest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEjF,wBAAgB,cAAc,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,EAAE,UAAU,EAChF,OAAO,EAAE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG;IAChE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;CAC9E,GACC,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC"}
|
package/dist/testing/vitest.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { it as effectIt } from "@effect/vitest";
|
|
2
2
|
import { makeEffectIt } from "@shivaedev/effect-test";
|
|
3
3
|
import { withTestTransaction } from "./transaction.js";
|
|
4
|
-
export
|
|
4
|
+
export function makeDatabaseIt(options) {
|
|
5
5
|
const { effectApp } = makeEffectIt({
|
|
6
6
|
around: (effect) => withTestTransaction(options.database, effect),
|
|
7
7
|
clock: options.clock,
|
|
@@ -16,5 +16,5 @@ export const makeDatabaseIt = (options) => {
|
|
|
16
16
|
return Reflect.get(target, property, receiver);
|
|
17
17
|
},
|
|
18
18
|
});
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=vitest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAoB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,UAAU,cAAc,CAAC,OAI9B;IACA,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAClC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;QACjE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ;KACnC,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC1B,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC7B,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { withTestTransaction } from "./testing/transaction.
|
|
2
|
-
export type { AnyDatabase, DatabaseIt, DatabaseService, DatabaseTest, DatabaseTester, MakeDatabaseItOptions, } from "./testing/types.
|
|
3
|
-
export { makeDatabaseIt } from "./testing/vitest.
|
|
1
|
+
export { withTestTransaction } from "./testing/transaction.ts";
|
|
2
|
+
export type { AnyDatabase, DatabaseIt, DatabaseService, DatabaseTest, DatabaseTester, MakeDatabaseItOptions, } from "./testing/types.ts";
|
|
3
|
+
export { makeDatabaseIt } from "./testing/vitest.ts";
|
|
4
4
|
//# sourceMappingURL=testing.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,31 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shivaedev/effect-prisma",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Effect-native PostgreSQL queries and transactions for Prisma Next",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/ShivaeDev/platform.git",
|
|
10
|
-
"directory": "packages/effect-prisma"
|
|
11
|
-
},
|
|
12
5
|
"homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/effect-prisma#readme",
|
|
13
6
|
"bugs": {
|
|
14
7
|
"url": "https://github.com/ShivaeDev/platform/issues"
|
|
15
8
|
},
|
|
16
|
-
"
|
|
17
|
-
"
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/ShivaeDev/platform.git",
|
|
12
|
+
"directory": "packages/effect-prisma"
|
|
18
13
|
},
|
|
14
|
+
"license": "MIT",
|
|
19
15
|
"sideEffects": false,
|
|
20
|
-
"
|
|
21
|
-
"effect-prisma-normalize": "./dist/bin/normalize-contract.js"
|
|
22
|
-
},
|
|
23
|
-
"files": [
|
|
24
|
-
"dist",
|
|
25
|
-
"src",
|
|
26
|
-
"CHANGELOG.md",
|
|
27
|
-
"README.md"
|
|
28
|
-
],
|
|
16
|
+
"type": "module",
|
|
29
17
|
"exports": {
|
|
30
18
|
".": {
|
|
31
19
|
"types": "./dist/index.d.ts",
|
|
@@ -47,10 +35,15 @@
|
|
|
47
35
|
},
|
|
48
36
|
"./package.json": "./package.json"
|
|
49
37
|
},
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"provenance": true
|
|
38
|
+
"bin": {
|
|
39
|
+
"effect-prisma-normalize": "./dist/bin/normalize-contract.js"
|
|
53
40
|
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"src",
|
|
44
|
+
"CHANGELOG.md",
|
|
45
|
+
"README.md"
|
|
46
|
+
],
|
|
54
47
|
"dependencies": {
|
|
55
48
|
"@prisma-next/contract": "0.15.0",
|
|
56
49
|
"@prisma-next/postgres": "0.15.0",
|
|
@@ -59,16 +52,7 @@
|
|
|
59
52
|
"@prisma-next/sql-relational-core": "0.15.0",
|
|
60
53
|
"@prisma-next/sql-runtime": "0.15.0",
|
|
61
54
|
"@prisma-next/sqlite": "0.15.0",
|
|
62
|
-
"@shivaedev/effect-test": "0.1.
|
|
63
|
-
},
|
|
64
|
-
"peerDependencies": {
|
|
65
|
-
"@effect/vitest": "4.0.0-rc.112",
|
|
66
|
-
"effect": "4.0.0-rc.112"
|
|
67
|
-
},
|
|
68
|
-
"peerDependenciesMeta": {
|
|
69
|
-
"@effect/vitest": {
|
|
70
|
-
"optional": true
|
|
71
|
-
}
|
|
55
|
+
"@shivaedev/effect-test": "0.1.2"
|
|
72
56
|
},
|
|
73
57
|
"devDependencies": {
|
|
74
58
|
"@effect/vitest": "4.0.0-rc.112",
|
|
@@ -77,6 +61,7 @@
|
|
|
77
61
|
"@prisma-next/cli": "0.15.0",
|
|
78
62
|
"@prisma-next/target-postgres": "0.15.0",
|
|
79
63
|
"@prisma-next/target-sqlite": "0.15.0",
|
|
64
|
+
"@shivaedev/quality": "0.7.0",
|
|
80
65
|
"@types/node": "24.10.1",
|
|
81
66
|
"@types/pg": "8.20.0",
|
|
82
67
|
"@typescript/native": "npm:typescript@7.0.2",
|
|
@@ -84,13 +69,26 @@
|
|
|
84
69
|
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
85
70
|
"vitest": "4.1.9"
|
|
86
71
|
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"@effect/vitest": "4.0.0-rc.112",
|
|
74
|
+
"effect": "4.0.0-rc.112"
|
|
75
|
+
},
|
|
76
|
+
"peerDependenciesMeta": {
|
|
77
|
+
"@effect/vitest": {
|
|
78
|
+
"optional": true
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"engines": {
|
|
82
|
+
"node": ">=24"
|
|
83
|
+
},
|
|
84
|
+
"publishConfig": {
|
|
85
|
+
"access": "public",
|
|
86
|
+
"provenance": true
|
|
87
|
+
},
|
|
87
88
|
"scripts": {
|
|
88
89
|
"build": "node --eval \"import('node:fs').then(({ rmSync }) => rmSync('dist', { force: true, recursive: true }))\" && tsc6 --project tsconfig.build.json",
|
|
89
|
-
"
|
|
90
|
+
"ready": "pnpm typecheck && pnpm test && pnpm build",
|
|
90
91
|
"test": "vitest run",
|
|
91
|
-
"
|
|
92
|
-
"typecheck": "tsc --noEmit",
|
|
93
|
-
"typecheck:compat": "tsc6 --noEmit",
|
|
94
|
-
"ready": "pnpm check && pnpm typecheck && pnpm typecheck:compat && pnpm test && pnpm build && pnpm test:package"
|
|
92
|
+
"typecheck": "tsc --noEmit"
|
|
95
93
|
}
|
|
96
94
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { readFile, writeFile } from "node:fs/promises";
|
|
4
|
-
import
|
|
4
|
+
import process from "node:process";
|
|
5
|
+
import { normalizePrismaNextContractTypes } from "../internal/contract-normalization.ts";
|
|
5
6
|
|
|
6
7
|
const arguments_ = process.argv.slice(2);
|
|
7
8
|
if (arguments_.length !== 1 || arguments_[0] === undefined) {
|