@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.
Files changed (138) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/bin/normalize-contract.js +1 -0
  3. package/dist/bin/normalize-contract.js.map +1 -1
  4. package/dist/database.d.ts +4 -4
  5. package/dist/database.d.ts.map +1 -1
  6. package/dist/database.js +12 -12
  7. package/dist/database.js.map +1 -1
  8. package/dist/error.d.ts +5 -5
  9. package/dist/error.d.ts.map +1 -1
  10. package/dist/error.js +5 -6
  11. package/dist/error.js.map +1 -1
  12. package/dist/index.d.ts +3 -3
  13. package/dist/internal/adapters/transaction-settlement.d.ts +10 -0
  14. package/dist/internal/adapters/transaction-settlement.d.ts.map +1 -0
  15. package/dist/internal/adapters/transaction-settlement.js +56 -0
  16. package/dist/internal/adapters/transaction-settlement.js.map +1 -0
  17. package/dist/internal/client-lifecycle.d.ts +2 -2
  18. package/dist/internal/client-lifecycle.d.ts.map +1 -1
  19. package/dist/internal/client-lifecycle.js.map +1 -1
  20. package/dist/internal/contract-normalization.d.ts +0 -4
  21. package/dist/internal/contract-normalization.d.ts.map +1 -1
  22. package/dist/internal/contract-normalization.js +5 -10
  23. package/dist/internal/contract-normalization.js.map +1 -1
  24. package/dist/internal/database-facade.d.ts +19 -0
  25. package/dist/internal/database-facade.d.ts.map +1 -0
  26. package/dist/internal/database-facade.js +79 -0
  27. package/dist/internal/database-facade.js.map +1 -0
  28. package/dist/internal/database-factory.d.ts +4 -48
  29. package/dist/internal/database-factory.d.ts.map +1 -1
  30. package/dist/internal/database-factory.js +11 -90
  31. package/dist/internal/database-factory.js.map +1 -1
  32. package/dist/internal/database-types.d.ts +33 -0
  33. package/dist/internal/database-types.d.ts.map +1 -0
  34. package/dist/internal/database-types.js +2 -0
  35. package/dist/internal/database-types.js.map +1 -0
  36. package/dist/internal/dynamic.d.ts +5 -0
  37. package/dist/internal/dynamic.d.ts.map +1 -0
  38. package/dist/internal/dynamic.js +12 -0
  39. package/dist/internal/dynamic.js.map +1 -0
  40. package/dist/internal/executor.d.ts +3 -7
  41. package/dist/internal/executor.d.ts.map +1 -1
  42. package/dist/internal/promise.d.ts +1 -1
  43. package/dist/internal/promise.d.ts.map +1 -1
  44. package/dist/internal/promise.js +2 -4
  45. package/dist/internal/promise.js.map +1 -1
  46. package/dist/internal/query-execution.d.ts +2 -2
  47. package/dist/internal/query-execution.d.ts.map +1 -1
  48. package/dist/internal/query-execution.js +2 -6
  49. package/dist/internal/query-execution.js.map +1 -1
  50. package/dist/internal/recipe.d.ts +3 -3
  51. package/dist/internal/recipe.d.ts.map +1 -1
  52. package/dist/internal/recipe.js +9 -20
  53. package/dist/internal/recipe.js.map +1 -1
  54. package/dist/internal/relation-plan.d.ts +1 -1
  55. package/dist/internal/relation-result.d.ts +4 -0
  56. package/dist/internal/relation-result.d.ts.map +1 -0
  57. package/dist/internal/relation-result.js +19 -0
  58. package/dist/internal/relation-result.js.map +1 -0
  59. package/dist/internal/relation-runtime.d.ts +3 -3
  60. package/dist/internal/relation-runtime.d.ts.map +1 -1
  61. package/dist/internal/relation-runtime.js +12 -37
  62. package/dist/internal/relation-runtime.js.map +1 -1
  63. package/dist/internal/relation-stream.d.ts +3 -3
  64. package/dist/internal/relation-stream.d.ts.map +1 -1
  65. package/dist/internal/relation-stream.js +20 -24
  66. package/dist/internal/relation-stream.js.map +1 -1
  67. package/dist/internal/sqlite-datetime.d.ts +1 -27
  68. package/dist/internal/sqlite-datetime.d.ts.map +1 -1
  69. package/dist/internal/sqlite-datetime.js +16 -35
  70. package/dist/internal/sqlite-datetime.js.map +1 -1
  71. package/dist/internal/sqlite-pragmas.d.ts +1 -13
  72. package/dist/internal/sqlite-pragmas.d.ts.map +1 -1
  73. package/dist/internal/sqlite-pragmas.js +2 -12
  74. package/dist/internal/sqlite-pragmas.js.map +1 -1
  75. package/dist/internal/testing.d.ts +1 -1
  76. package/dist/internal/testing.d.ts.map +1 -1
  77. package/dist/internal/testing.js +5 -2
  78. package/dist/internal/testing.js.map +1 -1
  79. package/dist/internal/transaction.d.ts +5 -5
  80. package/dist/internal/transaction.d.ts.map +1 -1
  81. package/dist/internal/transaction.js +5 -53
  82. package/dist/internal/transaction.js.map +1 -1
  83. package/dist/relation/include-metadata.d.ts +1 -1
  84. package/dist/relation/include-metadata.d.ts.map +1 -1
  85. package/dist/relation/include.d.ts +8 -5
  86. package/dist/relation/include.d.ts.map +1 -1
  87. package/dist/relation/prisma-methods.d.ts +17 -17
  88. package/dist/relation/prisma-methods.d.ts.map +1 -1
  89. package/dist/relation.d.ts +4 -4
  90. package/dist/relation.d.ts.map +1 -1
  91. package/dist/sqlite.d.ts +5 -10
  92. package/dist/sqlite.d.ts.map +1 -1
  93. package/dist/sqlite.js +14 -12
  94. package/dist/sqlite.js.map +1 -1
  95. package/dist/testing/transaction.d.ts +6 -7
  96. package/dist/testing/transaction.d.ts.map +1 -1
  97. package/dist/testing/transaction.js +2 -2
  98. package/dist/testing/transaction.js.map +1 -1
  99. package/dist/testing/types.d.ts +7 -7
  100. package/dist/testing/types.d.ts.map +1 -1
  101. package/dist/testing/vitest.d.ts +3 -3
  102. package/dist/testing/vitest.d.ts.map +1 -1
  103. package/dist/testing/vitest.js +2 -2
  104. package/dist/testing/vitest.js.map +1 -1
  105. package/dist/testing.d.ts +3 -3
  106. package/package.json +35 -37
  107. package/src/bin/normalize-contract.ts +2 -1
  108. package/src/database.ts +49 -67
  109. package/src/error.ts +13 -23
  110. package/src/index.ts +3 -3
  111. package/src/internal/adapters/transaction-settlement.ts +70 -0
  112. package/src/internal/client-lifecycle.ts +4 -11
  113. package/src/internal/contract-normalization.ts +6 -14
  114. package/src/internal/database-facade.ts +138 -0
  115. package/src/internal/database-factory.ts +34 -306
  116. package/src/internal/database-types.ts +65 -0
  117. package/src/internal/dynamic.ts +16 -0
  118. package/src/internal/executor.ts +4 -11
  119. package/src/internal/promise.ts +4 -12
  120. package/src/internal/query-execution.ts +4 -8
  121. package/src/internal/recipe.ts +24 -89
  122. package/src/internal/relation-plan.ts +1 -1
  123. package/src/internal/relation-result.ts +27 -0
  124. package/src/internal/relation-runtime.ts +45 -135
  125. package/src/internal/relation-stream.ts +24 -51
  126. package/src/internal/sqlite-datetime.ts +20 -54
  127. package/src/internal/sqlite-pragmas.ts +3 -16
  128. package/src/internal/testing.ts +13 -15
  129. package/src/internal/transaction.ts +16 -109
  130. package/src/relation/include-metadata.ts +11 -43
  131. package/src/relation/include.ts +46 -140
  132. package/src/relation/prisma-methods.ts +36 -122
  133. package/src/relation.ts +20 -48
  134. package/src/sqlite.ts +59 -85
  135. package/src/testing/transaction.ts +20 -33
  136. package/src/testing/types.ts +15 -34
  137. package/src/testing/vitest.ts +14 -28
  138. 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.js";
6
- import type { CollectionResult, Relation, RelationQuery } from "../relation.js";
7
- import type { IncludeMethod } from "./include.js";
8
- type AnyFunction = (...arguments_: ReadonlyArray<never>) => unknown;
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): Relation<PrismaCollection<Contract, Model, Pick<DefaultModelRow<Contract, Model>, Fields[number]>, State>, Contract, Model, DatabaseId>;
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>>> ? Array<Simplify<Pick<DefaultModelRow<Contract, Model>, Fields[number]> & AggregateResult<Spec>>> : AggregateResult<Spec>;
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>): Effect.Effect<AggregateSuccess<Collection, Contract, Model, Spec>, PrismaError>;
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): Relation<GroupedCollection<Contract, Model, Fields>, Contract, Model, DatabaseId>;
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): 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 {
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): Relation<Collection, Contract, Model, DatabaseId>;
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(): RelationQuery<number, Contract, Model, DatabaseId>;
48
- exists(): Effect.Effect<boolean, PrismaError>;
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(): Effect.Effect<number, PrismaError>;
52
- exists(): Effect.Effect<boolean, PrismaError>;
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":"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"}
1
+ {"version":3,"file":"prisma-methods.d.ts","sourceRoot":"","sources":["../../src/relation/prisma-methods.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { Effect } from "effect";
2
- import type { PrismaError } from "./error.js";
3
- import type { PrismaRelationMethods } from "./relation/prisma-methods.js";
4
- type AnyFunction = (...arguments_: ReadonlyArray<never>) => unknown;
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(): infer Result;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../src/relation.ts"],"names":[],"mappings":"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"}
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.js";
4
- import { type DatabaseIdentifier, type DatabaseIdentifierLiteral, type DatabaseServiceHolder } from "./internal/database-factory.js";
5
- import type { AnySqlContract } from "./internal/executor.js";
6
- export declare const defaultSqlitePragmas: ReadonlyArray<string>;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAe,EAEd,KAAK,iBAAiB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAG1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQ7D,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAwB,CAAC;AAEhF,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACpE,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC;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,CACxC,QAAQ,SAAS,cAAc,EAC/B,UAAU,SAAS,MAAM,CACxB,SAAQ,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,CACf,OAAO,EAAE,0BAA0B,KAC/B,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;CACxE;AAED,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,CAsD/C,CAAC"}
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, } from "./internal/client-lifecycle.js";
4
- import { makeSqlDatabase, } from "./internal/database-factory.js";
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, } from "./internal/sqlite-pragmas.js";
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 clientOptions = {
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
- ...clientOptions,
23
+ ...forwarded,
22
24
  contractJson: options.contractJson,
23
25
  })
24
26
  : sqlite({
25
- ...clientOptions,
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAc,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EACN,sBAAsB,EACtB,yBAAyB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAKN,eAAe,GACf,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACN,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAA0B,CAAC,kBAAkB,CAAC,CAAC;AA+BhF,MAAM,CAAC,MAAM,kBAAkB,GAC9B,GAA0C,EAAE,CAC5C,CACC,UAAiD,EACjD,OAAuC,EACU,EAAE;IAGnD,OAAO,eAAe,CACrB,UAAU,EACV,CAAC,YAAY,EAAE,EAAE;QAChB,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,kBAAkB,CACjB,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,OAAO,IAAI,oBAAoB,CAC5C,CAAC;QAEF,MAAM,aAAa,GAAG;YACrB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,YAAY,EAAE,YAAY,CAAC,YAAY;SACvC,CAAC;QACF,MAAM,MAAM,GACX,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,CAAW;gBACjB,GAAG,aAAa;gBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC;YACH,CAAC,CAAC,MAAM,CAAW;gBACjB,GAAG,aAAa;gBAChB,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,MAAM,CAAC,GAAa,CAAC;YACpC,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,CACiD,CAAC;AACrD,CAAC,CAAC"}
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.js";
3
- import type { AnyDatabase } from "./types.js";
4
- type WithTestTransaction = {
5
- <Database extends AnyDatabase>(database: Database): <A, E, R>(program: Effect.Effect<A, E, R> & (Effect.Services<Database> extends R ? unknown : never)) => Effect.Effect<A, E | PrismaError, Effect.Services<Database> | Exclude<R, Effect.Services<Database>>>;
6
- <Database extends AnyDatabase, A, E, R>(database: Database, program: Effect.Effect<A, E, R> & (Effect.Services<Database> extends R ? unknown : never)): Effect.Effect<A, E | PrismaError, Effect.Services<Database> | Exclude<R, Effect.Services<Database>>>;
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,mBAAmB,GAAG;IAC1B,CAAC,QAAQ,SAAS,WAAW,EAC5B,QAAQ,EAAE,QAAQ,GAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KACpD,MAAM,CAAC,MAAM,CACjB,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;IACF,CAAC,QAAQ,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,GACtD,MAAM,CAAC,MAAM,CACf,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;CACF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBAUT,CAAC"}
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 const withTestTransaction = ((database, program) => {
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;AAyB5D,MAAM,CAAC,MAAM,mBAAmB,GAAwB,CAAC,CACxD,QAAqB,EACrB,OAAkD,EACjD,EAAE;IACH,MAAM,GAAG,GAAG,CAAC,MAAgD,EAAE,EAAE,CAChE,kBAAkB,CACjB,QAAQ,CACR,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAwB,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"}
@@ -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 { AnyDatabase, DatabaseServiceOf } from "../database.js";
5
- export type { AnyDatabase } from "../database.js";
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,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,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,IACvD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAE7B,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,IAAI,CAClE,CAAC,EACD,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAErD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CACL,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EACnC,OAAO,EAAE,WAAW,KAChB,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;AAEV,MAAM,WAAW,cAAc,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,CACrE,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACxC,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;IAC1E,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,IAAI,EAAE,CAAC,IAAI,EACnB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KACtB,CAAC,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAC7D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CACL,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EACnC,OAAO,EAAE,WAAW,KAChB,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;IACV,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,UAAU,CACrB,QAAQ,SAAS,WAAW,EAC5B,QAAQ,IACL,MAAM,CAAC,OAAO,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACrC,QAAQ,SAAS,WAAW,EAC5B,QAAQ,EACR,UAAU;IAEV,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"}
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"}
@@ -1,6 +1,6 @@
1
1
  import type { Effect, Layer } from "effect";
2
- import type { AnyDatabase, DatabaseIt, MakeDatabaseItOptions } from "./types.js";
3
- export declare const makeDatabaseIt: <Database extends AnyDatabase, Provided, LayerError>(options: MakeDatabaseItOptions<Database, Provided, LayerError> & {
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
- }) => DatabaseIt<Database, Provided | Effect.Services<Database>>;
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":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EACX,WAAW,EACX,UAAU,EAEV,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,cAAc,GAC1B,QAAQ,SAAS,WAAW,EAC5B,QAAQ,EACR,UAAU,EAEV,SAAS,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG;IAChE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAC1B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACpC,UAAU,CACV,CAAC;CACF,KACC,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAuB3D,CAAC"}
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"}
@@ -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 const makeDatabaseIt = (options) => {
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;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAK7B,OAKC,EAC4D,EAAE;IAG/D,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,CACjB,OAAO,CAAC,QAIP;KACF,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,CAA8C,CAAC;AACjD,CAAC,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.js";
2
- export type { AnyDatabase, DatabaseIt, DatabaseService, DatabaseTest, DatabaseTester, MakeDatabaseItOptions, } from "./testing/types.js";
3
- export { makeDatabaseIt } from "./testing/vitest.js";
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.6.3",
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
- "engines": {
17
- "node": ">=24"
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
- "bin": {
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
- "publishConfig": {
51
- "access": "public",
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.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
- "check": "biome check .",
90
+ "ready": "pnpm typecheck && pnpm test && pnpm build",
90
91
  "test": "vitest run",
91
- "test:package": "node scripts/test-package.mjs",
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 { normalizePrismaNextContractTypes } from "../internal/contract-normalization.js";
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) {