@shivaedev/effect-prisma 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.5.1 - 2026-08-12
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- `DatabaseRequirement<typeof Database>` resolved to `never` for every real
|
|
10
|
+
database, so consumers annotating their own effects with it silently dropped
|
|
11
|
+
the executor requirement and only found out when providing the Layer failed.
|
|
12
|
+
`Context.Service` is invariant in both parameters, which meant a holder built
|
|
13
|
+
for a concrete contract never matched the `AnySqlContract` pattern the
|
|
14
|
+
conditional tested; the contract is now inferred alongside the requirement.
|
|
15
|
+
|
|
5
16
|
## 0.5.0 - 2026-08-12
|
|
6
17
|
|
|
7
18
|
### Added
|
|
@@ -26,7 +26,13 @@ export interface DatabaseServiceHolder<Contract extends AnySqlContract, Requirem
|
|
|
26
26
|
export type AnyDatabase = Effect.Effect<unknown, never, unknown> & {
|
|
27
27
|
readonly layer: (...arguments_: ReadonlyArray<never>) => Layer.Any;
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* `Context.Service` is invariant in both of its parameters, so a holder built
|
|
31
|
+
* for a concrete contract never matches `DatabaseServiceHolder<AnySqlContract,
|
|
32
|
+
* …>`. The contract has to be inferred alongside the requirement, or the
|
|
33
|
+
* conditional falls through to `never` for every real database.
|
|
34
|
+
*/
|
|
35
|
+
export type DatabaseRequirement<Database> = Database extends DatabaseServiceHolder<infer _Contract extends AnySqlContract, infer Requirement> ? Requirement : never;
|
|
30
36
|
export type DatabaseServiceOf<Database extends AnyDatabase> = Effect.Success<Database>;
|
|
31
37
|
export interface SqlDatabase<Contract extends AnySqlContract, Options> extends DatabaseServiceHolder<Contract> {
|
|
32
38
|
readonly layer: (options: Options) => Layer.Layer<DatabaseIdentifier<Contract> | ExecutorIdentifier<DefaultModels<Contract>>, PrismaError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-factory.d.ts","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAIN,KAAK,cAAc,EACnB,MAAM,kBAAkB,CAAC;AAE1B,KAAK,MAAM,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChF,KAAK,kBAAkB,CAAC,QAAQ,SAAS,cAAc,IACtD,aAAa,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GACzC,aAAa,GACb,QAAQ,SAAS,MAAM,MAAM,CAAC,QAAQ,CAAC,GACtC,QAAQ,GACR,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,cAAc,IACxD,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM,SAClE,MAAM,GACJ,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,cAAc;IAClE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,MAAM,CAAC;CAC5C;AAED,KAAK,cAAc,CAAC,QAAQ,SAAS,cAAc,EAAE,WAAW,IAAI;IACnE,QAAQ,EAAE,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAC1D,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,MAAM,CACd;CACD,CAAC;AAEF,MAAM,MAAM,eAAe,CAC1B,QAAQ,SAAS,cAAc,EAC/B,WAAW,IACR,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG;IAC3C,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;CACtD,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CACrC,QAAQ,SAAS,cAAc,EAC/B,WAAW,GAAG,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CACxD,SAAQ,OAAO,CAAC,OAAO,CACvB,kBAAkB,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CACtC;CAAG;AAEL,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG;IAClE,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IACvC,QAAQ,SAAS,qBAAqB,
|
|
1
|
+
{"version":3,"file":"database-factory.d.ts","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-factory.js","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GAElB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"database-factory.js","sourceRoot":"","sources":["../../src/internal/database-factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -69,8 +69,17 @@ export type AnyDatabase = Effect.Effect<unknown, never, unknown> & {
|
|
|
69
69
|
readonly layer: (...arguments_: ReadonlyArray<never>) => Layer.Any;
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* `Context.Service` is invariant in both of its parameters, so a holder built
|
|
74
|
+
* for a concrete contract never matches `DatabaseServiceHolder<AnySqlContract,
|
|
75
|
+
* …>`. The contract has to be inferred alongside the requirement, or the
|
|
76
|
+
* conditional falls through to `never` for every real database.
|
|
77
|
+
*/
|
|
72
78
|
export type DatabaseRequirement<Database> =
|
|
73
|
-
Database extends DatabaseServiceHolder<
|
|
79
|
+
Database extends DatabaseServiceHolder<
|
|
80
|
+
infer _Contract extends AnySqlContract,
|
|
81
|
+
infer Requirement
|
|
82
|
+
>
|
|
74
83
|
? Requirement
|
|
75
84
|
: never;
|
|
76
85
|
|