@shivaedev/effect-prisma 0.6.4 → 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 +21 -0
- package/dist/bin/normalize-contract.js +1 -0
- package/dist/bin/normalize-contract.js.map +1 -1
- package/dist/error.js +4 -4
- package/dist/error.js.map +1 -1
- package/dist/internal/adapters/transaction-settlement.d.ts.map +1 -1
- package/dist/internal/adapters/transaction-settlement.js +1 -1
- package/dist/internal/adapters/transaction-settlement.js.map +1 -1
- package/dist/internal/client-lifecycle.d.ts +2 -2
- package/dist/internal/client-lifecycle.d.ts.map +1 -1
- package/dist/internal/client-lifecycle.js.map +1 -1
- package/dist/internal/contract-normalization.d.ts +0 -4
- package/dist/internal/contract-normalization.d.ts.map +1 -1
- package/dist/internal/contract-normalization.js +4 -7
- package/dist/internal/contract-normalization.js.map +1 -1
- package/dist/internal/database-facade.d.ts +0 -5
- package/dist/internal/database-facade.d.ts.map +1 -1
- package/dist/internal/database-facade.js +2 -7
- package/dist/internal/database-facade.js.map +1 -1
- package/dist/internal/database-factory.d.ts +0 -4
- package/dist/internal/database-factory.d.ts.map +1 -1
- package/dist/internal/database-factory.js +1 -7
- package/dist/internal/database-factory.js.map +1 -1
- package/dist/internal/database-types.d.ts +2 -6
- package/dist/internal/database-types.d.ts.map +1 -1
- package/dist/internal/dynamic.d.ts +1 -1
- package/dist/internal/dynamic.d.ts.map +1 -1
- package/dist/internal/dynamic.js.map +1 -1
- package/dist/internal/executor.d.ts +3 -7
- package/dist/internal/executor.d.ts.map +1 -1
- package/dist/internal/promise.js +1 -1
- package/dist/internal/promise.js.map +1 -1
- package/dist/internal/recipe.d.ts +3 -3
- package/dist/internal/recipe.d.ts.map +1 -1
- package/dist/internal/recipe.js +2 -2
- package/dist/internal/recipe.js.map +1 -1
- package/dist/internal/relation-result.js.map +1 -1
- package/dist/internal/relation-runtime.js +3 -3
- package/dist/internal/relation-runtime.js.map +1 -1
- package/dist/internal/relation-stream.d.ts.map +1 -1
- package/dist/internal/relation-stream.js +12 -14
- package/dist/internal/relation-stream.js.map +1 -1
- package/dist/internal/sqlite-datetime.d.ts +0 -26
- package/dist/internal/sqlite-datetime.d.ts.map +1 -1
- package/dist/internal/sqlite-datetime.js +13 -34
- package/dist/internal/sqlite-datetime.js.map +1 -1
- package/dist/internal/sqlite-pragmas.d.ts +1 -13
- package/dist/internal/sqlite-pragmas.d.ts.map +1 -1
- package/dist/internal/sqlite-pragmas.js +2 -12
- package/dist/internal/sqlite-pragmas.js.map +1 -1
- package/dist/internal/transaction.d.ts +1 -1
- package/dist/internal/transaction.d.ts.map +1 -1
- package/dist/internal/transaction.js +2 -2
- 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 +6 -3
- package/dist/relation/include.d.ts.map +1 -1
- package/dist/relation/prisma-methods.d.ts +14 -14
- package/dist/relation/prisma-methods.d.ts.map +1 -1
- package/dist/relation.d.ts +2 -2
- package/dist/relation.d.ts.map +1 -1
- package/dist/sqlite.d.ts +2 -7
- package/dist/sqlite.d.ts.map +1 -1
- package/dist/sqlite.js.map +1 -1
- package/dist/testing/types.d.ts +5 -5
- package/dist/testing/types.d.ts.map +1 -1
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/testing/vitest.js.map +1 -1
- package/package.json +34 -36
- package/src/bin/normalize-contract.ts +1 -0
- package/src/error.ts +4 -4
- package/src/internal/adapters/transaction-settlement.ts +4 -1
- package/src/internal/client-lifecycle.ts +2 -2
- package/src/internal/contract-normalization.ts +4 -7
- package/src/internal/database-facade.ts +2 -7
- package/src/internal/database-factory.ts +4 -8
- package/src/internal/database-types.ts +3 -7
- package/src/internal/dynamic.ts +1 -1
- package/src/internal/executor.ts +3 -7
- package/src/internal/promise.ts +1 -1
- package/src/internal/recipe.ts +8 -8
- package/src/internal/relation-result.ts +1 -1
- package/src/internal/relation-runtime.ts +4 -4
- package/src/internal/relation-stream.ts +4 -5
- package/src/internal/sqlite-datetime.ts +13 -34
- package/src/internal/sqlite-pragmas.ts +3 -13
- package/src/internal/transaction.ts +3 -3
- package/src/relation/include-metadata.ts +1 -1
- package/src/relation/include.ts +35 -33
- package/src/relation/prisma-methods.ts +19 -17
- package/src/relation.ts +2 -2
- package/src/sqlite.ts +2 -7
- package/src/testing/types.ts +6 -6
- package/src/testing/vitest.ts +1 -1
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
import type { ExecutionContext } from "@prisma-next/sql-runtime";
|
|
2
2
|
import type { AnySqlContract } from "./executor.ts";
|
|
3
|
-
/**
|
|
4
|
-
* Stamp `Z` onto a SQLite datetime string that carries no zone designator.
|
|
5
|
-
*
|
|
6
|
-
* SQLite stores `DateTime` as text and computes `datetime('now')` — the default
|
|
7
|
-
* `prisma-next db init` generates — in UTC, but writes it as
|
|
8
|
-
* `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
|
|
9
|
-
* so decoding it unchanged shifts the instant by the process' UTC offset.
|
|
10
|
-
* Values that already carry `Z` or a numeric offset, date-only values (which
|
|
11
|
-
* `new Date` already reads as UTC), and anything that is not a datetime string
|
|
12
|
-
* are returned unchanged.
|
|
13
|
-
*/
|
|
14
3
|
export declare const normalizeSqliteDatetime: (value: string) => string;
|
|
15
|
-
/**
|
|
16
|
-
* Replace the client's codec registry with one that decodes zone-less
|
|
17
|
-
* `sqlite/datetime@1` values as UTC.
|
|
18
|
-
*
|
|
19
|
-
* The registry is the single resolution point for both row decoding and the
|
|
20
|
-
* JSON decoding of included relations, so wrapping it covers every read path
|
|
21
|
-
* without touching encoding. Prisma Next rejects a second descriptor for an
|
|
22
|
-
* already-registered codec id, so an extension pack cannot replace the codec
|
|
23
|
-
* itself. Must run before the first query, because the runtime reads the
|
|
24
|
-
* registry off the context when it is created.
|
|
25
|
-
*
|
|
26
|
-
* Codecs are identified by the resolved reference rather than by `codec.id`:
|
|
27
|
-
* Prisma Next materializes a codec through an unbound descriptor factory, so
|
|
28
|
-
* the instance's `id` accessor throws.
|
|
29
|
-
*/
|
|
30
4
|
export declare const decodeSqliteDatetimesAsUtc: (context: ExecutionContext<AnySqlContract>) => void;
|
|
31
5
|
//# sourceMappingURL=sqlite-datetime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-datetime.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAapD,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,KAAG,MAAmD,CAAC;AAa5G,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,CAAC,cAAc,CAAC,KAAG,IAiCtF,CAAC"}
|
|
@@ -1,39 +1,18 @@
|
|
|
1
1
|
const sqliteDatetimeCodecId = "sqlite/datetime@1";
|
|
2
|
-
const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* SQLite stores `DateTime` as text and computes `datetime('now')` — the default
|
|
7
|
-
* `prisma-next db init` generates — in UTC, but writes it as
|
|
8
|
-
* `YYYY-MM-DD HH:MM:SS` with no zone. `new Date` reads that form as local time,
|
|
9
|
-
* so decoding it unchanged shifts the instant by the process' UTC offset.
|
|
10
|
-
* Values that already carry `Z` or a numeric offset, date-only values (which
|
|
11
|
-
* `new Date` already reads as UTC), and anything that is not a datetime string
|
|
12
|
-
* are returned unchanged.
|
|
13
|
-
*/
|
|
2
|
+
const zonelessDatetime = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?)$/u;
|
|
3
|
+
// SQLite computes `datetime('now')`, the default `prisma-next db init` generates, in UTC but writes it as `YYYY-MM-DD HH:MM:SS`
|
|
4
|
+
// with no zone, and `new Date` reads that form as local time. Values with a zone and date-only values already read as UTC.
|
|
14
5
|
export const normalizeSqliteDatetime = (value) => value.replace(zonelessDatetime, "$1T$2Z");
|
|
15
6
|
const decodeAsUtc = (codec) => ({
|
|
16
|
-
id: sqliteDatetimeCodecId,
|
|
17
|
-
encode: (value, context) => codec.encode(value, context),
|
|
18
7
|
decode: (wire, context) => codec.decode(typeof wire === "string" ? normalizeSqliteDatetime(wire) : wire, context),
|
|
19
|
-
encodeJson: (value) => codec.encodeJson(value),
|
|
20
8
|
decodeJson: (json) => codec.decodeJson(typeof json === "string" ? normalizeSqliteDatetime(json) : json),
|
|
9
|
+
encode: (value, context) => codec.encode(value, context),
|
|
10
|
+
encodeJson: (value) => codec.encodeJson(value),
|
|
11
|
+
id: sqliteDatetimeCodecId,
|
|
21
12
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
* The registry is the single resolution point for both row decoding and the
|
|
27
|
-
* JSON decoding of included relations, so wrapping it covers every read path
|
|
28
|
-
* without touching encoding. Prisma Next rejects a second descriptor for an
|
|
29
|
-
* already-registered codec id, so an extension pack cannot replace the codec
|
|
30
|
-
* itself. Must run before the first query, because the runtime reads the
|
|
31
|
-
* registry off the context when it is created.
|
|
32
|
-
*
|
|
33
|
-
* Codecs are identified by the resolved reference rather than by `codec.id`:
|
|
34
|
-
* Prisma Next materializes a codec through an unbound descriptor factory, so
|
|
35
|
-
* the instance's `id` accessor throws.
|
|
36
|
-
*/
|
|
13
|
+
// The registry resolves codecs for rows and included relations alike, and Prisma Next rejects a second descriptor for a registered
|
|
14
|
+
// codec id, so wrapping the registry is the one way to cover every read. It must run before the first query, which reads the
|
|
15
|
+
// registry off the context. Codecs are matched by reference because a materialized codec's `id` accessor throws.
|
|
37
16
|
export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
38
17
|
const registry = context.contractCodecs;
|
|
39
18
|
const descriptors = context.codecDescriptors;
|
|
@@ -48,6 +27,10 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
|
48
27
|
return utc;
|
|
49
28
|
};
|
|
50
29
|
const utcRegistry = {
|
|
30
|
+
forCodecRef: (reference) => {
|
|
31
|
+
const codec = registry.forCodecRef(reference);
|
|
32
|
+
return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
33
|
+
},
|
|
51
34
|
forColumn: (namespaceId, table, column) => {
|
|
52
35
|
const codec = registry.forColumn(namespaceId, table, column);
|
|
53
36
|
if (codec === undefined) {
|
|
@@ -56,10 +39,6 @@ export const decodeSqliteDatetimesAsUtc = (context) => {
|
|
|
56
39
|
const reference = descriptors.codecRefForColumn(namespaceId, table, column);
|
|
57
40
|
return reference?.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
58
41
|
},
|
|
59
|
-
forCodecRef: (reference) => {
|
|
60
|
-
const codec = registry.forCodecRef(reference);
|
|
61
|
-
return reference.codecId === sqliteDatetimeCodecId ? wrap(codec) : codec;
|
|
62
|
-
},
|
|
63
42
|
};
|
|
64
43
|
if (!Reflect.set(context, "contractCodecs", utcRegistry)) {
|
|
65
44
|
throw new TypeError("The SQLite execution context does not accept a codec registry");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"AAQA,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"sqlite-datetime.js","sourceRoot":"","sources":["../../src/internal/sqlite-datetime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
export declare const MEMORY_PATH = ":memory:";
|
|
2
|
-
/**
|
|
3
|
-
* Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
|
|
4
|
-
* `RuntimeConnection`, so an in-memory database would give each transaction its
|
|
5
|
-
* own empty database.
|
|
6
|
-
*/
|
|
7
2
|
export declare const assertFileBackedPath: (path: string) => void;
|
|
8
|
-
|
|
9
|
-
* Apply connect-time pragmas.
|
|
10
|
-
*
|
|
11
|
-
* The driver already sets `foreign_keys` and `busy_timeout` on every connection
|
|
12
|
-
* it opens, but it has no hook for anything else, so durable pragmas such as
|
|
13
|
-
* `journal_mode` are applied once against the database file itself.
|
|
14
|
-
*/
|
|
15
|
-
export declare const applySqlitePragmas: (path: string, pragmas: ReadonlyArray<string>) => void;
|
|
3
|
+
export declare const applySqlitePragmas: (path: string, pragmas: readonly string[]) => void;
|
|
16
4
|
//# sourceMappingURL=sqlite-pragmas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-pragmas.d.ts","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,aAAa,CAAC;AAGtC,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAMnD,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,IAa7E,CAAC"}
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
2
|
export const MEMORY_PATH = ":memory:";
|
|
3
|
-
|
|
4
|
-
* Prisma Next's SQLite driver opens a fresh `node:sqlite` connection for every
|
|
5
|
-
* `RuntimeConnection`, so an in-memory database would give each transaction its
|
|
6
|
-
* own empty database.
|
|
7
|
-
*/
|
|
3
|
+
// Prisma Next's SQLite driver opens a fresh `node:sqlite` connection per `RuntimeConnection`, so each transaction would get its own empty in-memory database.
|
|
8
4
|
export const assertFileBackedPath = (path) => {
|
|
9
5
|
if (path === MEMORY_PATH || path.trim().length === 0) {
|
|
10
6
|
throw new TypeError("Effect Prisma requires a file-backed SQLite database; transactions run on their own connection and cannot see an in-memory database");
|
|
11
7
|
}
|
|
12
8
|
};
|
|
13
|
-
|
|
14
|
-
* Apply connect-time pragmas.
|
|
15
|
-
*
|
|
16
|
-
* The driver already sets `foreign_keys` and `busy_timeout` on every connection
|
|
17
|
-
* it opens, but it has no hook for anything else, so durable pragmas such as
|
|
18
|
-
* `journal_mode` are applied once against the database file itself.
|
|
19
|
-
*/
|
|
9
|
+
// The driver has no hook for pragmas beyond `foreign_keys` and `busy_timeout`, so durable ones such as `journal_mode` go to the file once.
|
|
20
10
|
export const applySqlitePragmas = (path, pragmas) => {
|
|
21
11
|
if (pragmas.length === 0) {
|
|
22
12
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC
|
|
1
|
+
{"version":3,"file":"sqlite-pragmas.js","sourceRoot":"","sources":["../../src/internal/sqlite-pragmas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,8JAA8J;AAC9J,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAClB,qIAAqI,CACrI,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,2IAA2I;AAC3I,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAA0B,EAAQ,EAAE;IACpF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -7,10 +7,10 @@ export type TransactionOrm<Contract extends AnySqlContract> = ReturnType<typeof
|
|
|
7
7
|
export declare const withTransactionSemaphore: <A, E, R>(semaphore: Semaphore.Semaphore | undefined, transaction: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
8
8
|
export interface TransactionResource<Models extends object, Contract extends AnySqlContract> {
|
|
9
9
|
readonly connection: SettledConnection;
|
|
10
|
-
readonly transaction: SettledTransaction;
|
|
11
10
|
readonly executor: DatabaseExecutor<Models, Contract> & {
|
|
12
11
|
readonly querySemaphore: Semaphore.Semaphore;
|
|
13
12
|
};
|
|
13
|
+
readonly transaction: SettledTransaction;
|
|
14
14
|
}
|
|
15
15
|
export declare const acquireTransaction: <Models extends object, Contract extends AnySqlContract>(current: DatabaseExecutor<Models, Contract>, models: (orm: TransactionOrm<Contract>) => Models, mode: "test" | "transaction") => Effect.Effect<TransactionResource<Models, Contract>, PrismaError>;
|
|
16
16
|
export declare const releaseTransaction: <Models extends object, Contract extends AnySqlContract, A, E>(resource: TransactionResource<Models, Contract>, exit: Exit.Exit<A, E>) => Effect.Effect<void, PrismaError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAoB,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/F,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,WAAW,SAAS,CAAC,SAAS,GAAG,SAAS,EAC1C,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgF,CAAC;AAEzG,MAAM,WAAW,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc;IAC1F,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAoB,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/F,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,WAAW,SAAS,CAAC,SAAS,GAAG,SAAS,EAC1C,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgF,CAAC;AAEzG,MAAM,WAAW,mBAAmB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc;IAC1F,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG;QACvD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC;KAC7C,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CACzC;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EACxF,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,MAAM,EACjD,MAAM,MAAM,GAAG,aAAa,KAC1B,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAgChE,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAC9F,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA4C,CAAC;AAE/E,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,EAClG,UAAU,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAA6C,CAAC"}
|
|
@@ -8,12 +8,11 @@ export const acquireTransaction = (current, models, mode) => fromPrismaPromise(a
|
|
|
8
8
|
try {
|
|
9
9
|
const transaction = await connection.transaction();
|
|
10
10
|
const transactionOrm = orm({
|
|
11
|
-
runtime: transaction,
|
|
12
11
|
context: current.client.context,
|
|
12
|
+
runtime: transaction,
|
|
13
13
|
});
|
|
14
14
|
return {
|
|
15
15
|
connection,
|
|
16
|
-
transaction,
|
|
17
16
|
executor: {
|
|
18
17
|
client: current.client,
|
|
19
18
|
identity: current.identity,
|
|
@@ -27,6 +26,7 @@ export const acquireTransaction = (current, models, mode) => fromPrismaPromise(a
|
|
|
27
26
|
transactionIdentity: {},
|
|
28
27
|
transactionSemaphore: current.transactionSemaphore,
|
|
29
28
|
},
|
|
29
|
+
transaction,
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAmD,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,SAA0C,EAC1C,WAAmC,EACV,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAUzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,OAA2C,EAC3C,MAAiD,EACjD,IAA4B,EACwC,EAAE,CACtE,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAE/D,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC;YAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/internal/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAmD,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAEzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,SAA0C,EAC1C,WAAmC,EACV,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAUzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,OAA2C,EAC3C,MAAiD,EACjD,IAA4B,EACwC,EAAE,CACtE,iBAAiB,CAAC,KAAK,IAAI,EAAE;IAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IAE/D,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,OAAO,EAAE,WAAW;SACpB,CAAC,CAAC;QAEH,OAAO;YACN,UAAU;YACV,QAAQ,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE;oBACT,UAAU,EAAE,4BAA4B;oBACxC,IAAI,EAAE,IAAI;iBACV;gBACD,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;gBAC9B,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvC,mBAAmB,EAAE,EAAE;gBACvB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aAClD;YACD,WAAW;SACX,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACrC,QAA+C,EAC/C,IAAqB,EACc,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAEhF,MAAM,iBAAiB,GAAG,CACzB,QAA+C,EAC/C,IAAqB,EACrB,eAAwB,EACW,EAAE,CACrC,MAAM,CAAC,eAAe,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAChB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;AACzC,CAAC,CAAC,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,CACb,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzI,CACD,CACD,CAAC"}
|
|
@@ -29,6 +29,6 @@ type AnyNullableField<Fields, Names extends readonly string[]> = Names extends r
|
|
|
29
29
|
] ? Head extends keyof Fields ? Fields[Head] extends {
|
|
30
30
|
readonly nullable: true;
|
|
31
31
|
} ? true : AnyNullableField<Fields, Tail> : true : false;
|
|
32
|
-
export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ?
|
|
32
|
+
export type IncludedRelationValue<Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = RelationCardinalityOf<Contract, Model, RelationName> extends "1:N" | "N:M" ? Value[] : RelationCardinalityOf<Contract, Model, RelationName> extends "N:1" ? AnyNullableField<ModelFields<Contract, Model>, RelationLocalFields<Contract, Model, RelationName>> extends true ? Value | null : Value : Value | null;
|
|
33
33
|
export {};
|
|
34
34
|
//# sourceMappingURL=include-metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"include-metadata.d.ts","sourceRoot":"","sources":["../../src/relation/include-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,13 @@ type AcceptRelatedQueryShape<Shape extends Readonly<Record<string, unknown>>, Co
|
|
|
18
18
|
type WithIncludedRelation<Collection, Contract extends AnyPostgresContract, Model extends string, RelationName extends string, Value> = Collection extends PrismaCollection<Contract, Model, infer Row, infer State> ? PrismaCollection<Contract, Model, Simplify<Row & {
|
|
19
19
|
readonly [Key in RelationName]: Value;
|
|
20
20
|
}>, State> : never;
|
|
21
|
+
interface IncludeOverloads<Collection, Contract extends AnyPostgresContract, Model extends string, DatabaseId> {
|
|
22
|
+
<RelationName extends RelationNames<Contract, Model>>(relationName: RelationName): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedRelationValue<Contract, Model, RelationName, DefaultModelRow<Contract, RelatedModelNameOf<Contract, Model, RelationName>>>>, Contract, Model, DatabaseId>;
|
|
23
|
+
<RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
|
|
24
|
+
<RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
|
|
25
|
+
}
|
|
21
26
|
export type IncludeMethod<Collection, Contract, Model extends string, DatabaseId> = Contract extends AnyPostgresContract ? Collection extends PrismaCollection<Contract, Model, infer _Row, infer _State> ? {
|
|
22
|
-
include
|
|
23
|
-
include<RelationName extends RelationNames<Contract, Model>, Query>(relationName: RelationName, query: Query & AcceptRelatedQuery<Query, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId>): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, IncludedQueryValue<Query, Contract, Model, RelationName>>, Contract, Model, DatabaseId>;
|
|
24
|
-
include<RelationName extends RelationNames<Contract, Model>, Shape extends Readonly<Record<string, unknown>>>(relationName: RelationName, shape: IsToManyRelation<Contract, Model, RelationName> extends true ? keyof Shape extends never ? never : Shape & AcceptRelatedQueryShape<Shape, Contract, RelatedModelNameOf<Contract, Model, RelationName>, DatabaseId> : never): Relation<WithIncludedRelation<Collection, Contract, Model, RelationName, QueryShapeValue<Shape>>, Contract, Model, DatabaseId>;
|
|
27
|
+
include: IncludeOverloads<Collection, Contract, Model, DatabaseId>;
|
|
25
28
|
} : Record<never, never> : Record<never, never>;
|
|
26
29
|
export {};
|
|
27
30
|
//# sourceMappingURL=include.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,IAAI,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE9H,KAAK,QAAQ,CAAC,KAAK,IAAI;KAAG,GAAG,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;CAAE,CAAC;AAE5D,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,SAAS,aAAa,CAAC,MAAM,KAAK,EAAE,MAAM,SAAS,EAAE,MAAM,MAAM,EAAE,MAAM,WAAW,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEpI,KAAK,kBAAkB,CAAC,KAAK,EAAE,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;IACxH,aAAa,CAAC,MAAM,MAAM,EAAE,MAAM,aAAa,EAAE,MAAM,UAAU,EAAE,MAAM,eAAe,CAAC;CACzF,GACE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GACjC,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GACjC,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,GACrC,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,GACrC,UAAU,SAAS,KAAK,GACvB,OAAO,GACP,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,CAAC;AAET,KAAK,kBAAkB,CAAC,KAAK,EAAE,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,IACrH,UAAU,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAEpI,KAAK,eAAe,CAAC,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI;IACvE,QAAQ,EAAE,GAAG,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;CACrD,CAAC;AAEF,KAAK,uBAAuB,CAC3B,KAAK,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC/C,QAAQ,SAAS,mBAAmB,EACpC,KAAK,SAAS,MAAM,EACpB,UAAU,IACP;IACH,QAAQ,EAAE,GAAG,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;CACvG,CAAC;AAEF,KAAK,oBAAoB,CAAC,UAAU,EAAE,QAAQ,SAAS,mBAAmB,EAAE,KAAK,SAAS,MAAM,EAAE,YAAY,SAAS,MAAM,EAAE,KAAK,IACnI,UAAU,SAAS,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,KAAK,CAAC,GACzE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,GAAG;IAAE,QAAQ,EAAE,GAAG,IAAI,YAAY,GAAG,KAAK;CAAE,CAAC,EAAE,KAAK,CAAC,GACnG,KAAK,CAAC;AAEV,
|
|
1
|
+
{"version":3,"file":"include.d.ts","sourceRoot":"","sources":["../../src/relation/include.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { Effect, Stream } from "effect";
|
|
|
5
5
|
import type { PrismaError } from "../error.ts";
|
|
6
6
|
import type { CollectionResult, Relation, RelationQuery } from "../relation.ts";
|
|
7
7
|
import type { IncludeMethod } from "./include.ts";
|
|
8
|
-
type AnyFunction = (...arguments_:
|
|
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
2
|
import type { PrismaError } from "./error.ts";
|
|
3
3
|
import type { PrismaRelationMethods } from "./relation/prisma-methods.ts";
|
|
4
|
-
type AnyFunction = (...arguments_:
|
|
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
|
@@ -3,15 +3,10 @@ import { type Layer } from "effect";
|
|
|
3
3
|
import type { PrismaError } from "./error.ts";
|
|
4
4
|
import type { DatabaseIdentifier, DatabaseIdentifierLiteral, DatabaseServiceHolder } from "./internal/database-types.ts";
|
|
5
5
|
import type { AnySqlContract } from "./internal/executor.ts";
|
|
6
|
-
export declare const defaultSqlitePragmas:
|
|
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,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,
|
|
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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
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";
|
|
3
|
+
import type { EffectClock, EffectTestOptions } from "@shivaedev/effect-test";
|
|
4
4
|
import type { AnyDatabase, DatabaseServiceOf } from "../database.ts";
|
|
5
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"}
|
|
@@ -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"}
|
|
@@ -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"}
|