@fragno-dev/db 0.1.13 → 0.1.15
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/.turbo/turbo-build.log +179 -132
- package/CHANGELOG.md +30 -0
- package/dist/adapters/adapters.d.ts +27 -1
- package/dist/adapters/adapters.d.ts.map +1 -1
- package/dist/adapters/adapters.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.d.ts +5 -1
- package/dist/adapters/drizzle/drizzle-adapter.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-adapter.js +15 -3
- package/dist/adapters/drizzle/drizzle-adapter.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-query.js +7 -5
- package/dist/adapters/drizzle/drizzle-query.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.d.ts +0 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.d.ts.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-compiler.js +76 -44
- package/dist/adapters/drizzle/drizzle-uow-compiler.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-decoder.js +23 -16
- package/dist/adapters/drizzle/drizzle-uow-decoder.js.map +1 -1
- package/dist/adapters/drizzle/drizzle-uow-executor.js +18 -7
- package/dist/adapters/drizzle/drizzle-uow-executor.js.map +1 -1
- package/dist/adapters/drizzle/generate.d.ts +4 -1
- package/dist/adapters/drizzle/generate.d.ts.map +1 -1
- package/dist/adapters/drizzle/generate.js +11 -18
- package/dist/adapters/drizzle/generate.js.map +1 -1
- package/dist/adapters/drizzle/shared.d.ts +14 -1
- package/dist/adapters/drizzle/shared.d.ts.map +1 -0
- package/dist/adapters/kysely/kysely-adapter.d.ts +5 -1
- package/dist/adapters/kysely/kysely-adapter.d.ts.map +1 -1
- package/dist/adapters/kysely/kysely-adapter.js +14 -3
- package/dist/adapters/kysely/kysely-adapter.js.map +1 -1
- package/dist/adapters/kysely/kysely-query-builder.js +1 -1
- package/dist/adapters/kysely/kysely-query-compiler.js +3 -2
- package/dist/adapters/kysely/kysely-query-compiler.js.map +1 -1
- package/dist/adapters/kysely/kysely-query.d.ts +1 -0
- package/dist/adapters/kysely/kysely-query.d.ts.map +1 -1
- package/dist/adapters/kysely/kysely-query.js +28 -19
- package/dist/adapters/kysely/kysely-query.js.map +1 -1
- package/dist/adapters/kysely/kysely-shared.d.ts +14 -0
- package/dist/adapters/kysely/kysely-shared.d.ts.map +1 -0
- package/dist/adapters/kysely/kysely-shared.js +16 -1
- package/dist/adapters/kysely/kysely-shared.js.map +1 -1
- package/dist/adapters/kysely/kysely-uow-compiler.js +68 -16
- package/dist/adapters/kysely/kysely-uow-compiler.js.map +1 -1
- package/dist/adapters/kysely/kysely-uow-executor.js +8 -4
- package/dist/adapters/kysely/kysely-uow-executor.js.map +1 -1
- package/dist/adapters/kysely/migration/execute-base.js +1 -1
- package/dist/adapters/kysely/migration/execute-base.js.map +1 -1
- package/dist/db-fragment-definition-builder.d.ts +152 -0
- package/dist/db-fragment-definition-builder.d.ts.map +1 -0
- package/dist/db-fragment-definition-builder.js +137 -0
- package/dist/db-fragment-definition-builder.js.map +1 -0
- package/dist/fragments/internal-fragment.d.ts +19 -0
- package/dist/fragments/internal-fragment.d.ts.map +1 -0
- package/dist/fragments/internal-fragment.js +39 -0
- package/dist/fragments/internal-fragment.js.map +1 -0
- package/dist/migration-engine/generation-engine.d.ts.map +1 -1
- package/dist/migration-engine/generation-engine.js +35 -15
- package/dist/migration-engine/generation-engine.js.map +1 -1
- package/dist/mod.d.ts +8 -18
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +7 -34
- package/dist/mod.js.map +1 -1
- package/dist/node_modules/.pnpm/rou3@0.7.8/node_modules/rou3/dist/index.js +165 -0
- package/dist/node_modules/.pnpm/rou3@0.7.8/node_modules/rou3/dist/index.js.map +1 -0
- package/dist/packages/fragno/dist/api/bind-services.js +20 -0
- package/dist/packages/fragno/dist/api/bind-services.js.map +1 -0
- package/dist/packages/fragno/dist/api/error.js +48 -0
- package/dist/packages/fragno/dist/api/error.js.map +1 -0
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js +320 -0
- package/dist/packages/fragno/dist/api/fragment-definition-builder.js.map +1 -0
- package/dist/packages/fragno/dist/api/fragment-instantiator.js +487 -0
- package/dist/packages/fragno/dist/api/fragment-instantiator.js.map +1 -0
- package/dist/packages/fragno/dist/api/fragno-response.js +73 -0
- package/dist/packages/fragno/dist/api/fragno-response.js.map +1 -0
- package/dist/packages/fragno/dist/api/internal/response-stream.js +81 -0
- package/dist/packages/fragno/dist/api/internal/response-stream.js.map +1 -0
- package/dist/packages/fragno/dist/api/internal/route.js +10 -0
- package/dist/packages/fragno/dist/api/internal/route.js.map +1 -0
- package/dist/packages/fragno/dist/api/mutable-request-state.js +97 -0
- package/dist/packages/fragno/dist/api/mutable-request-state.js.map +1 -0
- package/dist/packages/fragno/dist/api/request-context-storage.js +43 -0
- package/dist/packages/fragno/dist/api/request-context-storage.js.map +1 -0
- package/dist/packages/fragno/dist/api/request-input-context.js +118 -0
- package/dist/packages/fragno/dist/api/request-input-context.js.map +1 -0
- package/dist/packages/fragno/dist/api/request-middleware.js +83 -0
- package/dist/packages/fragno/dist/api/request-middleware.js.map +1 -0
- package/dist/packages/fragno/dist/api/request-output-context.js +119 -0
- package/dist/packages/fragno/dist/api/request-output-context.js.map +1 -0
- package/dist/packages/fragno/dist/api/route.js +17 -0
- package/dist/packages/fragno/dist/api/route.js.map +1 -0
- package/dist/packages/fragno/dist/internal/symbols.js +10 -0
- package/dist/packages/fragno/dist/internal/symbols.js.map +1 -0
- package/dist/query/cursor.d.ts +10 -2
- package/dist/query/cursor.d.ts.map +1 -1
- package/dist/query/cursor.js +11 -4
- package/dist/query/cursor.js.map +1 -1
- package/dist/query/execute-unit-of-work.d.ts +123 -0
- package/dist/query/execute-unit-of-work.d.ts.map +1 -0
- package/dist/query/execute-unit-of-work.js +184 -0
- package/dist/query/execute-unit-of-work.js.map +1 -0
- package/dist/query/query.d.ts +3 -3
- package/dist/query/query.d.ts.map +1 -1
- package/dist/query/result-transform.js +4 -2
- package/dist/query/result-transform.js.map +1 -1
- package/dist/query/retry-policy.d.ts +88 -0
- package/dist/query/retry-policy.d.ts.map +1 -0
- package/dist/query/retry-policy.js +61 -0
- package/dist/query/retry-policy.js.map +1 -0
- package/dist/query/unit-of-work.d.ts +171 -32
- package/dist/query/unit-of-work.d.ts.map +1 -1
- package/dist/query/unit-of-work.js +530 -133
- package/dist/query/unit-of-work.js.map +1 -1
- package/dist/schema/serialize.js +12 -7
- package/dist/schema/serialize.js.map +1 -1
- package/dist/with-database.d.ts +28 -0
- package/dist/with-database.d.ts.map +1 -0
- package/dist/with-database.js +34 -0
- package/dist/with-database.js.map +1 -0
- package/package.json +10 -3
- package/src/adapters/adapters.ts +30 -0
- package/src/adapters/drizzle/drizzle-adapter-pglite.test.ts +86 -17
- package/src/adapters/drizzle/drizzle-adapter-sqlite.test.ts +291 -7
- package/src/adapters/drizzle/drizzle-adapter.test.ts +3 -51
- package/src/adapters/drizzle/drizzle-adapter.ts +35 -7
- package/src/adapters/drizzle/drizzle-query.ts +25 -15
- package/src/adapters/drizzle/drizzle-uow-compiler-mysql.test.ts +1442 -0
- package/src/adapters/drizzle/drizzle-uow-compiler-sqlite.test.ts +1414 -0
- package/src/adapters/drizzle/drizzle-uow-compiler.test.ts +78 -61
- package/src/adapters/drizzle/drizzle-uow-compiler.ts +123 -42
- package/src/adapters/drizzle/drizzle-uow-decoder.ts +34 -27
- package/src/adapters/drizzle/drizzle-uow-executor.ts +41 -8
- package/src/adapters/drizzle/generate.test.ts +102 -269
- package/src/adapters/drizzle/generate.ts +12 -30
- package/src/adapters/drizzle/test-utils.ts +36 -5
- package/src/adapters/kysely/kysely-adapter-pglite.test.ts +66 -22
- package/src/adapters/kysely/kysely-adapter-sqlite.test.ts +156 -0
- package/src/adapters/kysely/kysely-adapter.ts +25 -2
- package/src/adapters/kysely/kysely-query-compiler.ts +3 -8
- package/src/adapters/kysely/kysely-query.ts +57 -37
- package/src/adapters/kysely/kysely-shared.ts +34 -0
- package/src/adapters/kysely/kysely-uow-compiler.test.ts +62 -74
- package/src/adapters/kysely/kysely-uow-compiler.ts +92 -24
- package/src/adapters/kysely/kysely-uow-executor.ts +26 -7
- package/src/adapters/kysely/kysely-uow-joins.test.ts +33 -50
- package/src/adapters/kysely/migration/execute-base.ts +1 -1
- package/src/db-fragment-definition-builder.test.ts +887 -0
- package/src/db-fragment-definition-builder.ts +506 -0
- package/src/db-fragment-instantiator.test.ts +467 -0
- package/src/db-fragment-integration.test.ts +408 -0
- package/src/fragments/internal-fragment.test.ts +160 -0
- package/src/fragments/internal-fragment.ts +85 -0
- package/src/migration-engine/generation-engine.test.ts +58 -15
- package/src/migration-engine/generation-engine.ts +78 -25
- package/src/mod.ts +35 -43
- package/src/query/cursor.test.ts +119 -0
- package/src/query/cursor.ts +17 -4
- package/src/query/execute-unit-of-work.test.ts +1310 -0
- package/src/query/execute-unit-of-work.ts +463 -0
- package/src/query/query.ts +4 -4
- package/src/query/result-transform.test.ts +129 -0
- package/src/query/result-transform.ts +4 -1
- package/src/query/retry-policy.test.ts +217 -0
- package/src/query/retry-policy.ts +141 -0
- package/src/query/unit-of-work-coordinator.test.ts +833 -0
- package/src/query/unit-of-work-types.test.ts +15 -2
- package/src/query/unit-of-work.test.ts +878 -200
- package/src/query/unit-of-work.ts +963 -321
- package/src/schema/serialize.ts +22 -11
- package/src/with-database.ts +140 -0
- package/tsdown.config.ts +1 -0
- package/dist/fragment.d.ts +0 -54
- package/dist/fragment.d.ts.map +0 -1
- package/dist/fragment.js +0 -92
- package/dist/fragment.js.map +0 -1
- package/dist/shared/settings-schema.js +0 -36
- package/dist/shared/settings-schema.js.map +0 -1
- package/src/fragment.test.ts +0 -341
- package/src/fragment.ts +0 -198
- package/src/shared/settings-schema.ts +0 -61
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
//#region src/query/retry-policy.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Policy for retrying failed Unit of Work operations
|
|
4
|
+
*/
|
|
5
|
+
interface RetryPolicy {
|
|
6
|
+
/**
|
|
7
|
+
* Determines if the operation should be retried
|
|
8
|
+
* @param attempt - The current attempt number (0-indexed)
|
|
9
|
+
* @param error - Optional error from the previous attempt
|
|
10
|
+
* @param signal - Optional AbortSignal to check for cancellation
|
|
11
|
+
* @returns true if the operation should be retried, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
shouldRetry(attempt: number, error?: unknown, signal?: AbortSignal): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the delay in milliseconds before the next retry attempt
|
|
16
|
+
* @param attempt - The current attempt number (0-indexed)
|
|
17
|
+
* @returns Delay in milliseconds
|
|
18
|
+
*/
|
|
19
|
+
getDelayMs(attempt: number): number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Options for exponential backoff retry policy
|
|
23
|
+
*/
|
|
24
|
+
interface ExponentialBackoffRetryPolicyOptions {
|
|
25
|
+
/**
|
|
26
|
+
* Maximum number of retry attempts (default: 3)
|
|
27
|
+
*/
|
|
28
|
+
maxRetries?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Initial delay in milliseconds (default: 100)
|
|
31
|
+
*/
|
|
32
|
+
initialDelayMs?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Maximum delay in milliseconds (default: 10000)
|
|
35
|
+
*/
|
|
36
|
+
maxDelayMs?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Multiplier for exponential backoff (default: 2)
|
|
39
|
+
*/
|
|
40
|
+
backoffMultiplier?: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Exponential backoff retry policy
|
|
44
|
+
* Delay increases exponentially: initialDelay * (multiplier ^ attempt)
|
|
45
|
+
*/
|
|
46
|
+
declare class ExponentialBackoffRetryPolicy implements RetryPolicy {
|
|
47
|
+
#private;
|
|
48
|
+
constructor(options?: ExponentialBackoffRetryPolicyOptions);
|
|
49
|
+
shouldRetry(attempt: number, _error?: unknown, signal?: AbortSignal): boolean;
|
|
50
|
+
getDelayMs(attempt: number): number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Options for linear backoff retry policy
|
|
54
|
+
*/
|
|
55
|
+
interface LinearBackoffRetryPolicyOptions {
|
|
56
|
+
/**
|
|
57
|
+
* Maximum number of retry attempts (default: 3)
|
|
58
|
+
*/
|
|
59
|
+
maxRetries?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Base delay in milliseconds (default: 100)
|
|
62
|
+
*/
|
|
63
|
+
delayMs?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Increment added to delay for each attempt in milliseconds (default: 100)
|
|
66
|
+
*/
|
|
67
|
+
incrementMs?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Linear backoff retry policy
|
|
71
|
+
* Delay increases linearly: delayMs + (attempt * incrementMs)
|
|
72
|
+
*/
|
|
73
|
+
declare class LinearBackoffRetryPolicy implements RetryPolicy {
|
|
74
|
+
#private;
|
|
75
|
+
constructor(options?: LinearBackoffRetryPolicyOptions);
|
|
76
|
+
shouldRetry(attempt: number, _error?: unknown, signal?: AbortSignal): boolean;
|
|
77
|
+
getDelayMs(attempt: number): number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* No retry policy - never retries failed operations
|
|
81
|
+
*/
|
|
82
|
+
declare class NoRetryPolicy implements RetryPolicy {
|
|
83
|
+
shouldRetry(_attempt: number, _error?: unknown, _signal?: AbortSignal): boolean;
|
|
84
|
+
getDelayMs(_attempt: number): number;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { ExponentialBackoffRetryPolicy, LinearBackoffRetryPolicy, NoRetryPolicy, RetryPolicy };
|
|
88
|
+
//# sourceMappingURL=retry-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-policy.d.ts","names":[],"sources":["../../src/query/retry-policy.ts"],"sourcesContent":[],"mappings":";;AAGA;AAqBA;AA0Ba,UA/CI,WAAA,CA+CJ;EAMU;;;;AA0BvB;AAqBA;;EAW0D,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAvGD,WAuGC,CAAA,EAAA,OAAA;EAXT;;AA6BjD;;;;;;;;UA5GiB,oCAAA;;;;;;;;;;;;;;;;;;;;;;cA0BJ,6BAAA,YAAyC;;wBAM/B;0DAOmC;;;;;;UAmBzC,+BAAA;;;;;;;;;;;;;;;;;;cAqBJ,wBAAA,YAAoC;;wBAK1B;0DAMmC;;;;;;cAkB7C,aAAA,YAAyB;4DACsB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
//#region src/query/retry-policy.ts
|
|
2
|
+
/**
|
|
3
|
+
* Exponential backoff retry policy
|
|
4
|
+
* Delay increases exponentially: initialDelay * (multiplier ^ attempt)
|
|
5
|
+
*/
|
|
6
|
+
var ExponentialBackoffRetryPolicy = class {
|
|
7
|
+
#maxRetries;
|
|
8
|
+
#initialDelayMs;
|
|
9
|
+
#maxDelayMs;
|
|
10
|
+
#backoffMultiplier;
|
|
11
|
+
constructor(options = {}) {
|
|
12
|
+
this.#maxRetries = options.maxRetries ?? 3;
|
|
13
|
+
this.#initialDelayMs = options.initialDelayMs ?? 100;
|
|
14
|
+
this.#maxDelayMs = options.maxDelayMs ?? 1e4;
|
|
15
|
+
this.#backoffMultiplier = options.backoffMultiplier ?? 2;
|
|
16
|
+
}
|
|
17
|
+
shouldRetry(attempt, _error, signal) {
|
|
18
|
+
if (signal?.aborted) return false;
|
|
19
|
+
return attempt < this.#maxRetries;
|
|
20
|
+
}
|
|
21
|
+
getDelayMs(attempt) {
|
|
22
|
+
const delay = this.#initialDelayMs * Math.pow(this.#backoffMultiplier, attempt);
|
|
23
|
+
return Math.min(delay, this.#maxDelayMs);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Linear backoff retry policy
|
|
28
|
+
* Delay increases linearly: delayMs + (attempt * incrementMs)
|
|
29
|
+
*/
|
|
30
|
+
var LinearBackoffRetryPolicy = class {
|
|
31
|
+
#maxRetries;
|
|
32
|
+
#delayMs;
|
|
33
|
+
#incrementMs;
|
|
34
|
+
constructor(options = {}) {
|
|
35
|
+
this.#maxRetries = options.maxRetries ?? 3;
|
|
36
|
+
this.#delayMs = options.delayMs ?? 100;
|
|
37
|
+
this.#incrementMs = options.incrementMs ?? 100;
|
|
38
|
+
}
|
|
39
|
+
shouldRetry(attempt, _error, signal) {
|
|
40
|
+
if (signal?.aborted) return false;
|
|
41
|
+
return attempt < this.#maxRetries;
|
|
42
|
+
}
|
|
43
|
+
getDelayMs(attempt) {
|
|
44
|
+
return this.#delayMs + attempt * this.#incrementMs;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* No retry policy - never retries failed operations
|
|
49
|
+
*/
|
|
50
|
+
var NoRetryPolicy = class {
|
|
51
|
+
shouldRetry(_attempt, _error, _signal) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
getDelayMs(_attempt) {
|
|
55
|
+
return 0;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { ExponentialBackoffRetryPolicy, LinearBackoffRetryPolicy, NoRetryPolicy };
|
|
61
|
+
//# sourceMappingURL=retry-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-policy.js","names":["#maxRetries","#initialDelayMs","#maxDelayMs","#backoffMultiplier","#delayMs","#incrementMs"],"sources":["../../src/query/retry-policy.ts"],"sourcesContent":["/**\n * Policy for retrying failed Unit of Work operations\n */\nexport interface RetryPolicy {\n /**\n * Determines if the operation should be retried\n * @param attempt - The current attempt number (0-indexed)\n * @param error - Optional error from the previous attempt\n * @param signal - Optional AbortSignal to check for cancellation\n * @returns true if the operation should be retried, false otherwise\n */\n shouldRetry(attempt: number, error?: unknown, signal?: AbortSignal): boolean;\n\n /**\n * Gets the delay in milliseconds before the next retry attempt\n * @param attempt - The current attempt number (0-indexed)\n * @returns Delay in milliseconds\n */\n getDelayMs(attempt: number): number;\n}\n\n/**\n * Options for exponential backoff retry policy\n */\nexport interface ExponentialBackoffRetryPolicyOptions {\n /**\n * Maximum number of retry attempts (default: 3)\n */\n maxRetries?: number;\n\n /**\n * Initial delay in milliseconds (default: 100)\n */\n initialDelayMs?: number;\n\n /**\n * Maximum delay in milliseconds (default: 10000)\n */\n maxDelayMs?: number;\n\n /**\n * Multiplier for exponential backoff (default: 2)\n */\n backoffMultiplier?: number;\n}\n\n/**\n * Exponential backoff retry policy\n * Delay increases exponentially: initialDelay * (multiplier ^ attempt)\n */\nexport class ExponentialBackoffRetryPolicy implements RetryPolicy {\n readonly #maxRetries: number;\n readonly #initialDelayMs: number;\n readonly #maxDelayMs: number;\n readonly #backoffMultiplier: number;\n\n constructor(options: ExponentialBackoffRetryPolicyOptions = {}) {\n this.#maxRetries = options.maxRetries ?? 3;\n this.#initialDelayMs = options.initialDelayMs ?? 100;\n this.#maxDelayMs = options.maxDelayMs ?? 10000;\n this.#backoffMultiplier = options.backoffMultiplier ?? 2;\n }\n\n shouldRetry(attempt: number, _error?: unknown, signal?: AbortSignal): boolean {\n // Check if operation was aborted\n if (signal?.aborted) {\n return false;\n }\n\n // Check if we've exceeded max retries\n return attempt < this.#maxRetries;\n }\n\n getDelayMs(attempt: number): number {\n const delay = this.#initialDelayMs * Math.pow(this.#backoffMultiplier, attempt);\n return Math.min(delay, this.#maxDelayMs);\n }\n}\n\n/**\n * Options for linear backoff retry policy\n */\nexport interface LinearBackoffRetryPolicyOptions {\n /**\n * Maximum number of retry attempts (default: 3)\n */\n maxRetries?: number;\n\n /**\n * Base delay in milliseconds (default: 100)\n */\n delayMs?: number;\n\n /**\n * Increment added to delay for each attempt in milliseconds (default: 100)\n */\n incrementMs?: number;\n}\n\n/**\n * Linear backoff retry policy\n * Delay increases linearly: delayMs + (attempt * incrementMs)\n */\nexport class LinearBackoffRetryPolicy implements RetryPolicy {\n readonly #maxRetries: number;\n readonly #delayMs: number;\n readonly #incrementMs: number;\n\n constructor(options: LinearBackoffRetryPolicyOptions = {}) {\n this.#maxRetries = options.maxRetries ?? 3;\n this.#delayMs = options.delayMs ?? 100;\n this.#incrementMs = options.incrementMs ?? 100;\n }\n\n shouldRetry(attempt: number, _error?: unknown, signal?: AbortSignal): boolean {\n // Check if operation was aborted\n if (signal?.aborted) {\n return false;\n }\n\n // Check if we've exceeded max retries\n return attempt < this.#maxRetries;\n }\n\n getDelayMs(attempt: number): number {\n return this.#delayMs + attempt * this.#incrementMs;\n }\n}\n\n/**\n * No retry policy - never retries failed operations\n */\nexport class NoRetryPolicy implements RetryPolicy {\n shouldRetry(_attempt: number, _error?: unknown, _signal?: AbortSignal): boolean {\n return false;\n }\n\n getDelayMs(_attempt: number): number {\n return 0;\n }\n}\n"],"mappings":";;;;;AAkDA,IAAa,gCAAb,MAAkE;CAChE,CAASA;CACT,CAASC;CACT,CAASC;CACT,CAASC;CAET,YAAY,UAAgD,EAAE,EAAE;AAC9D,QAAKH,aAAc,QAAQ,cAAc;AACzC,QAAKC,iBAAkB,QAAQ,kBAAkB;AACjD,QAAKC,aAAc,QAAQ,cAAc;AACzC,QAAKC,oBAAqB,QAAQ,qBAAqB;;CAGzD,YAAY,SAAiB,QAAkB,QAA+B;AAE5E,MAAI,QAAQ,QACV,QAAO;AAIT,SAAO,UAAU,MAAKH;;CAGxB,WAAW,SAAyB;EAClC,MAAM,QAAQ,MAAKC,iBAAkB,KAAK,IAAI,MAAKE,mBAAoB,QAAQ;AAC/E,SAAO,KAAK,IAAI,OAAO,MAAKD,WAAY;;;;;;;AA4B5C,IAAa,2BAAb,MAA6D;CAC3D,CAASF;CACT,CAASI;CACT,CAASC;CAET,YAAY,UAA2C,EAAE,EAAE;AACzD,QAAKL,aAAc,QAAQ,cAAc;AACzC,QAAKI,UAAW,QAAQ,WAAW;AACnC,QAAKC,cAAe,QAAQ,eAAe;;CAG7C,YAAY,SAAiB,QAAkB,QAA+B;AAE5E,MAAI,QAAQ,QACV,QAAO;AAIT,SAAO,UAAU,MAAKL;;CAGxB,WAAW,SAAyB;AAClC,SAAO,MAAKI,UAAW,UAAU,MAAKC;;;;;;AAO1C,IAAa,gBAAb,MAAkD;CAChD,YAAY,UAAkB,QAAkB,SAAgC;AAC9E,SAAO;;CAGT,WAAW,UAA0B;AACnC,SAAO"}
|
|
@@ -2,7 +2,8 @@ import { AnySchema, AnyTable, FragnoId, IdColumn, Index, Relation } from "../sch
|
|
|
2
2
|
import { Condition, ConditionBuilder } from "./condition-builder.js";
|
|
3
3
|
import { CompiledJoin } from "./orm/orm.js";
|
|
4
4
|
import { Cursor, CursorResult } from "./cursor.js";
|
|
5
|
-
import {
|
|
5
|
+
import { Prettify } from "../util/types.js";
|
|
6
|
+
import { ExtractJoinOut, ExtractSelect, SelectClause, SelectResult, TableToInsertValues, TableToUpdateValues } from "./query.js";
|
|
6
7
|
|
|
7
8
|
//#region src/query/unit-of-work.d.ts
|
|
8
9
|
|
|
@@ -96,12 +97,17 @@ type UOWState = "building-retrieval" | "building-mutation" | "executed";
|
|
|
96
97
|
*/
|
|
97
98
|
type RetrievalOperation<TSchema extends AnySchema, TTable extends AnyTable = TSchema["tables"][keyof TSchema["tables"]]> = {
|
|
98
99
|
type: "find";
|
|
100
|
+
schema: TSchema;
|
|
101
|
+
namespace?: string;
|
|
99
102
|
table: TTable;
|
|
100
103
|
indexName: string;
|
|
101
104
|
options: FindOptions<TTable, SelectClause<TTable>>;
|
|
102
105
|
withCursor?: boolean;
|
|
106
|
+
withSingleResult?: boolean;
|
|
103
107
|
} | {
|
|
104
108
|
type: "count";
|
|
109
|
+
schema: TSchema;
|
|
110
|
+
namespace?: string;
|
|
105
111
|
table: TTable;
|
|
106
112
|
indexName: string;
|
|
107
113
|
options: Pick<FindOptions<TTable>, "where" | "useIndex">;
|
|
@@ -111,20 +117,32 @@ type RetrievalOperation<TSchema extends AnySchema, TTable extends AnyTable = TSc
|
|
|
111
117
|
*/
|
|
112
118
|
type MutationOperation<TSchema extends AnySchema, TTable extends AnyTable = TSchema["tables"][keyof TSchema["tables"]]> = {
|
|
113
119
|
type: "update";
|
|
120
|
+
schema: TSchema;
|
|
121
|
+
namespace?: string;
|
|
114
122
|
table: TTable["name"];
|
|
115
123
|
id: FragnoId | string;
|
|
116
124
|
checkVersion: boolean;
|
|
117
125
|
set: TableToUpdateValues<TTable>;
|
|
118
126
|
} | {
|
|
119
127
|
type: "create";
|
|
128
|
+
schema: TSchema;
|
|
129
|
+
namespace?: string;
|
|
120
130
|
table: TTable["name"];
|
|
121
131
|
values: TableToInsertValues<TTable>;
|
|
122
132
|
generatedExternalId: string;
|
|
123
133
|
} | {
|
|
124
134
|
type: "delete";
|
|
135
|
+
schema: TSchema;
|
|
136
|
+
namespace?: string;
|
|
125
137
|
table: TTable["name"];
|
|
126
138
|
id: FragnoId | string;
|
|
127
139
|
checkVersion: boolean;
|
|
140
|
+
} | {
|
|
141
|
+
type: "check";
|
|
142
|
+
schema: TSchema;
|
|
143
|
+
namespace?: string;
|
|
144
|
+
table: TTable["name"];
|
|
145
|
+
id: FragnoId;
|
|
128
146
|
};
|
|
129
147
|
/**
|
|
130
148
|
* Compiled mutation with metadata for execution
|
|
@@ -137,19 +155,25 @@ interface CompiledMutation<TOutput> {
|
|
|
137
155
|
* null means don't check affected rows (e.g., for create operations).
|
|
138
156
|
*/
|
|
139
157
|
expectedAffectedRows: number | null;
|
|
158
|
+
/**
|
|
159
|
+
* Number of rows this SELECT query must return for the transaction to succeed.
|
|
160
|
+
* Used for check operations to verify version without modifying data.
|
|
161
|
+
* null means this is not a SELECT query that needs row count validation.
|
|
162
|
+
*/
|
|
163
|
+
expectedReturnedRows: number | null;
|
|
140
164
|
}
|
|
141
165
|
/**
|
|
142
166
|
* Compiler interface for Unit of Work operations
|
|
143
167
|
*/
|
|
144
|
-
interface UOWCompiler<
|
|
168
|
+
interface UOWCompiler<TOutput> {
|
|
145
169
|
/**
|
|
146
170
|
* Compile a retrieval operation to the adapter's query format
|
|
147
171
|
*/
|
|
148
|
-
compileRetrievalOperation(op: RetrievalOperation<
|
|
172
|
+
compileRetrievalOperation(op: RetrievalOperation<AnySchema>): TOutput | null;
|
|
149
173
|
/**
|
|
150
174
|
* Compile a mutation operation to the adapter's query format
|
|
151
175
|
*/
|
|
152
|
-
compileMutationOperation(op: MutationOperation<
|
|
176
|
+
compileMutationOperation(op: MutationOperation<AnySchema>): CompiledMutation<TOutput> | null;
|
|
153
177
|
}
|
|
154
178
|
type MutationResult = {
|
|
155
179
|
success: true;
|
|
@@ -178,7 +202,7 @@ interface UOWExecutor<TOutput, TRawResult = unknown> {
|
|
|
178
202
|
* Transforms raw database results into application format (e.g., converting raw columns
|
|
179
203
|
* into FragnoId objects with external ID, internal ID, and version).
|
|
180
204
|
*/
|
|
181
|
-
interface UOWDecoder<
|
|
205
|
+
interface UOWDecoder<TRawInput = unknown> {
|
|
182
206
|
/**
|
|
183
207
|
* Decode raw database results from the retrieval phase
|
|
184
208
|
*
|
|
@@ -186,7 +210,7 @@ interface UOWDecoder<TSchema extends AnySchema, TRawInput = unknown> {
|
|
|
186
210
|
* @param operations - Array of retrieval operations that produced these results
|
|
187
211
|
* @returns Decoded results in application format
|
|
188
212
|
*/
|
|
189
|
-
(rawResults: TRawInput[], operations: RetrievalOperation<
|
|
213
|
+
(rawResults: TRawInput[], operations: RetrievalOperation<AnySchema>[]): unknown[];
|
|
190
214
|
}
|
|
191
215
|
/**
|
|
192
216
|
* Builder for find operations in Unit of Work
|
|
@@ -346,10 +370,40 @@ type IndexedJoinBuilder<TTable extends AnyTable, TJoinOut> = { [K in keyof TTabl
|
|
|
346
370
|
* This ensures all join conditions can leverage indexes for optimal performance
|
|
347
371
|
*/
|
|
348
372
|
declare function buildJoinIndexed<TTable extends AnyTable, TJoinOut>(table: TTable, fn: (builder: IndexedJoinBuilder<TTable, {}>) => IndexedJoinBuilder<TTable, TJoinOut>): CompiledJoin[];
|
|
349
|
-
|
|
373
|
+
/**
|
|
374
|
+
* Full Unit of Work interface with all operations including execution.
|
|
375
|
+
* This allows UOW instances to be passed between different contexts that use different schemas.
|
|
376
|
+
*/
|
|
377
|
+
interface IUnitOfWork {
|
|
378
|
+
readonly state: UOWState;
|
|
379
|
+
readonly name: string | undefined;
|
|
380
|
+
readonly nonce: string;
|
|
381
|
+
readonly retrievalPhase: Promise<unknown[]>;
|
|
382
|
+
readonly mutationPhase: Promise<void>;
|
|
383
|
+
executeRetrieve(): Promise<unknown[]>;
|
|
384
|
+
executeMutations(): Promise<{
|
|
385
|
+
success: boolean;
|
|
386
|
+
}>;
|
|
387
|
+
getRetrievalOperations(): ReadonlyArray<RetrievalOperation<AnySchema>>;
|
|
388
|
+
getMutationOperations(): ReadonlyArray<MutationOperation<AnySchema>>;
|
|
389
|
+
getCreatedIds(): FragnoId[];
|
|
390
|
+
restrict(): IUnitOfWork;
|
|
391
|
+
reset(): void;
|
|
392
|
+
forSchema<TOtherSchema extends AnySchema>(schema: TOtherSchema): TypedUnitOfWork<TOtherSchema, [], any>;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Restricted UOW interface without execute methods.
|
|
396
|
+
* Useful when you want to allow building operations but not executing them,
|
|
397
|
+
* to prevent deadlocks or enforce execution control at a higher level.
|
|
398
|
+
*
|
|
399
|
+
* Note: This is just a marker interface. Restriction is enforced by the UnitOfWork class itself.
|
|
400
|
+
*/
|
|
401
|
+
interface IUnitOfWorkRestricted extends Omit<IUnitOfWork, "executeRetrieve" | "executeMutations"> {}
|
|
402
|
+
declare function createUnitOfWork(compiler: UOWCompiler<unknown>, executor: UOWExecutor<unknown, unknown>, decoder: UOWDecoder<unknown>, schemaNamespaceMap?: WeakMap<AnySchema, string>, name?: string): UnitOfWork;
|
|
350
403
|
interface UnitOfWorkConfig {
|
|
351
404
|
dryRun?: boolean;
|
|
352
405
|
onQuery?: (query: unknown) => void;
|
|
406
|
+
nonce?: string;
|
|
353
407
|
}
|
|
354
408
|
/**
|
|
355
409
|
* Unit of Work implementation with optimistic concurrency control
|
|
@@ -358,19 +412,22 @@ interface UnitOfWorkConfig {
|
|
|
358
412
|
* 1. Retrieval phase: Read operations to fetch entities with their versions
|
|
359
413
|
* 2. Mutation phase: Write operations that check versions before committing
|
|
360
414
|
*
|
|
415
|
+
* This is the untyped base storage. Use TypedUnitOfWork for type-safe operations.
|
|
416
|
+
*
|
|
361
417
|
* @example
|
|
362
418
|
* ```ts
|
|
363
419
|
* const uow = queryEngine.createUnitOfWork("update-user-balance");
|
|
420
|
+
* const typedUow = uow.forSchema(mySchema);
|
|
364
421
|
*
|
|
365
422
|
* // Retrieval phase
|
|
366
|
-
*
|
|
423
|
+
* typedUow.find("users", (b) => b.whereIndex("primary", (eb) => eb("id", "=", userId)));
|
|
367
424
|
*
|
|
368
425
|
* // Execute retrieval and transition to mutation phase
|
|
369
426
|
* const [users] = await uow.executeRetrieve();
|
|
370
427
|
*
|
|
371
428
|
* // Mutation phase with version check
|
|
372
429
|
* const user = users[0];
|
|
373
|
-
*
|
|
430
|
+
* typedUow.update("users", user.id, (b) => b.set({ balance: newBalance }).check());
|
|
374
431
|
*
|
|
375
432
|
* // Execute mutations
|
|
376
433
|
* const { success } = await uow.executeMutations();
|
|
@@ -379,38 +436,54 @@ interface UnitOfWorkConfig {
|
|
|
379
436
|
* }
|
|
380
437
|
* ```
|
|
381
438
|
*/
|
|
382
|
-
declare class UnitOfWork<const
|
|
439
|
+
declare class UnitOfWork<const TRawInput = unknown> implements IUnitOfWork {
|
|
383
440
|
#private;
|
|
384
|
-
constructor(
|
|
385
|
-
get schema(): TSchema;
|
|
386
|
-
get state(): UOWState;
|
|
387
|
-
get name(): string | undefined;
|
|
441
|
+
constructor(compiler: UOWCompiler<unknown>, executor: UOWExecutor<unknown, TRawInput>, decoder: UOWDecoder<TRawInput>, name?: string, config?: UnitOfWorkConfig, schemaNamespaceMap?: WeakMap<AnySchema, string>);
|
|
388
442
|
/**
|
|
389
|
-
*
|
|
390
|
-
* Returns
|
|
443
|
+
* Get a schema-specific typed view of this UOW for type-safe operations.
|
|
444
|
+
* Returns a wrapper that provides typed operations for the given schema.
|
|
445
|
+
* The namespace is automatically resolved from the schema-namespace map.
|
|
391
446
|
*/
|
|
392
|
-
|
|
447
|
+
forSchema<TOtherSchema extends AnySchema, TRawInput>(schema: TOtherSchema): TypedUnitOfWork<TOtherSchema, [], TRawInput>;
|
|
393
448
|
/**
|
|
394
|
-
*
|
|
449
|
+
* Create a restricted child UOW that cannot execute phases.
|
|
450
|
+
* The child shares the same operation storage but must signal readiness
|
|
451
|
+
* before the parent can execute each phase.
|
|
395
452
|
*/
|
|
396
|
-
|
|
453
|
+
restrict(): UnitOfWork<TRawInput>;
|
|
397
454
|
/**
|
|
398
|
-
*
|
|
455
|
+
* Signal that this child is ready for retrieval phase execution.
|
|
456
|
+
* Only valid for restricted (child) UOWs.
|
|
399
457
|
*/
|
|
400
|
-
|
|
458
|
+
signalReadyForRetrieval(): void;
|
|
401
459
|
/**
|
|
402
|
-
*
|
|
403
|
-
*
|
|
460
|
+
* Signal that this child is ready for mutation phase execution.
|
|
461
|
+
* Only valid for restricted (child) UOWs.
|
|
404
462
|
*/
|
|
405
|
-
|
|
463
|
+
signalReadyForMutation(): void;
|
|
406
464
|
/**
|
|
407
|
-
*
|
|
465
|
+
* Reset the UOW to initial state for retry support.
|
|
466
|
+
* Clears operations, resets state, and resets phase promises.
|
|
408
467
|
*/
|
|
409
|
-
|
|
468
|
+
reset(): void;
|
|
469
|
+
get state(): UOWState;
|
|
470
|
+
get name(): string | undefined;
|
|
471
|
+
get nonce(): string;
|
|
472
|
+
/**
|
|
473
|
+
* Promise that resolves when the retrieval phase is executed
|
|
474
|
+
* Service methods can await this to coordinate multi-phase logic
|
|
475
|
+
*/
|
|
476
|
+
get retrievalPhase(): Promise<unknown[]>;
|
|
410
477
|
/**
|
|
411
|
-
*
|
|
478
|
+
* Promise that resolves when the mutation phase is executed
|
|
479
|
+
* Service methods can await this to coordinate multi-phase logic
|
|
412
480
|
*/
|
|
413
|
-
|
|
481
|
+
get mutationPhase(): Promise<void>;
|
|
482
|
+
/**
|
|
483
|
+
* Execute the retrieval phase and transition to mutation phase
|
|
484
|
+
* Returns all results from find operations
|
|
485
|
+
*/
|
|
486
|
+
executeRetrieve(): Promise<unknown[]>;
|
|
414
487
|
/**
|
|
415
488
|
* Execute the mutation phase
|
|
416
489
|
* Returns success flag indicating if mutations completed without conflicts
|
|
@@ -421,11 +494,21 @@ declare class UnitOfWork<const TSchema extends AnySchema, const TRetrievalResult
|
|
|
421
494
|
/**
|
|
422
495
|
* Get the retrieval operations (for inspection/debugging)
|
|
423
496
|
*/
|
|
424
|
-
getRetrievalOperations(): ReadonlyArray<RetrievalOperation<
|
|
497
|
+
getRetrievalOperations(): ReadonlyArray<RetrievalOperation<AnySchema>>;
|
|
425
498
|
/**
|
|
426
499
|
* Get the mutation operations (for inspection/debugging)
|
|
427
500
|
*/
|
|
428
|
-
getMutationOperations(): ReadonlyArray<MutationOperation<
|
|
501
|
+
getMutationOperations(): ReadonlyArray<MutationOperation<AnySchema>>;
|
|
502
|
+
/**
|
|
503
|
+
* @internal
|
|
504
|
+
* Add a retrieval operation (used by TypedUnitOfWork)
|
|
505
|
+
*/
|
|
506
|
+
addRetrievalOperation(op: RetrievalOperation<AnySchema>): number;
|
|
507
|
+
/**
|
|
508
|
+
* @internal
|
|
509
|
+
* Add a mutation operation (used by TypedUnitOfWork)
|
|
510
|
+
*/
|
|
511
|
+
addMutationOperation(op: MutationOperation<AnySchema>): void;
|
|
429
512
|
/**
|
|
430
513
|
* Get the IDs of created entities after executeMutations() has been called.
|
|
431
514
|
* Returns FragnoId objects with external IDs (always available) and internal IDs
|
|
@@ -439,12 +522,68 @@ declare class UnitOfWork<const TSchema extends AnySchema, const TRetrievalResult
|
|
|
439
522
|
* @internal
|
|
440
523
|
* Compile the unit of work to executable queries for testing
|
|
441
524
|
*/
|
|
442
|
-
compile<TOutput>(compiler: UOWCompiler<
|
|
525
|
+
compile<TOutput>(compiler: UOWCompiler<TOutput>): {
|
|
526
|
+
name?: string;
|
|
527
|
+
retrievalBatch: TOutput[];
|
|
528
|
+
mutationBatch: CompiledMutation<TOutput>[];
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* A typed facade around a UnitOfWork that provides type-safe operations for a specific schema.
|
|
533
|
+
* All operations are stored in the underlying UOW, but this facade ensures type safety and
|
|
534
|
+
* filters retrieval results to only include operations added through this facade.
|
|
535
|
+
*/
|
|
536
|
+
declare class TypedUnitOfWork<const TSchema extends AnySchema, const TRetrievalResults extends unknown[] = [], const TRawInput = unknown> implements IUnitOfWork {
|
|
537
|
+
#private;
|
|
538
|
+
constructor(schema: TSchema, namespace: string | undefined, uow: UnitOfWork<TRawInput>);
|
|
539
|
+
get $results(): Prettify<TRetrievalResults>;
|
|
540
|
+
get schema(): TSchema;
|
|
541
|
+
get name(): string | undefined;
|
|
542
|
+
get nonce(): string;
|
|
543
|
+
get state(): UOWState;
|
|
544
|
+
get retrievalPhase(): Promise<TRetrievalResults>;
|
|
545
|
+
get mutationPhase(): Promise<void>;
|
|
546
|
+
getRetrievalOperations(): readonly RetrievalOperation<AnySchema, AnyTable>[];
|
|
547
|
+
getMutationOperations(): readonly MutationOperation<AnySchema, AnyTable>[];
|
|
548
|
+
getCreatedIds(): FragnoId[];
|
|
549
|
+
executeRetrieve(): Promise<TRetrievalResults>;
|
|
550
|
+
executeMutations(): Promise<{
|
|
551
|
+
success: boolean;
|
|
552
|
+
}>;
|
|
553
|
+
restrict(): IUnitOfWork;
|
|
554
|
+
reset(): void;
|
|
555
|
+
forSchema<TOtherSchema extends AnySchema>(schema: TOtherSchema): TypedUnitOfWork<TOtherSchema, [], TRawInput>;
|
|
556
|
+
compile<TOutput>(compiler: UOWCompiler<TOutput>): {
|
|
443
557
|
name?: string;
|
|
444
558
|
retrievalBatch: TOutput[];
|
|
445
559
|
mutationBatch: CompiledMutation<TOutput>[];
|
|
446
560
|
};
|
|
561
|
+
find<TTableName extends keyof TSchema["tables"] & string, const TBuilderResult>(tableName: TTableName, builderFn: (builder: Omit<FindBuilder<TSchema["tables"][TTableName]>, "build">) => TBuilderResult): TypedUnitOfWork<TSchema, [...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], ExtractJoinOut<TBuilderResult>, Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>>[]], TRawInput>;
|
|
562
|
+
find<TTableName extends keyof TSchema["tables"] & string>(tableName: TTableName): TypedUnitOfWork<TSchema, [...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], {}, true>[]], TRawInput>;
|
|
563
|
+
findFirst<TTableName extends keyof TSchema["tables"] & string, const TBuilderResult>(tableName: TTableName, builderFn: (builder: Omit<FindBuilder<TSchema["tables"][TTableName]>, "build">) => TBuilderResult): TypedUnitOfWork<TSchema, [...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], ExtractJoinOut<TBuilderResult>, Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>> | null], TRawInput>;
|
|
564
|
+
findFirst<TTableName extends keyof TSchema["tables"] & string>(tableName: TTableName): TypedUnitOfWork<TSchema, [...TRetrievalResults, SelectResult<TSchema["tables"][TTableName], {}, true> | null], TRawInput>;
|
|
565
|
+
findWithCursor<TTableName extends keyof TSchema["tables"] & string, const TBuilderResult>(tableName: TTableName, builderFn: (builder: Omit<FindBuilder<TSchema["tables"][TTableName]>, "build">) => TBuilderResult): TypedUnitOfWork<TSchema, [...TRetrievalResults, CursorResult<SelectResult<TSchema["tables"][TTableName], ExtractJoinOut<TBuilderResult>, Extract<ExtractSelect<TBuilderResult>, SelectClause<TSchema["tables"][TTableName]>>>>], TRawInput>;
|
|
566
|
+
create<TableName extends keyof TSchema["tables"] & string>(tableName: TableName, values: TableToInsertValues<TSchema["tables"][TableName]>): FragnoId;
|
|
567
|
+
update<TableName extends keyof TSchema["tables"] & string>(tableName: TableName, id: FragnoId | string, builderFn: (builder: Omit<UpdateBuilder<TSchema["tables"][TableName]>, "build">) => Omit<UpdateBuilder<TSchema["tables"][TableName]>, "build"> | void): void;
|
|
568
|
+
delete<TableName extends keyof TSchema["tables"] & string>(tableName: TableName, id: FragnoId | string, builderFn?: (builder: Omit<DeleteBuilder, "build">) => Omit<DeleteBuilder, "build"> | void): void;
|
|
569
|
+
/**
|
|
570
|
+
* Check that a record's version hasn't changed since retrieval.
|
|
571
|
+
* This is useful for ensuring related records remain unchanged during a transaction.
|
|
572
|
+
*
|
|
573
|
+
* @param tableName - The table name
|
|
574
|
+
* @param id - The FragnoId with version information (string IDs are not allowed)
|
|
575
|
+
* @throws Error if the ID is a string without version information
|
|
576
|
+
*
|
|
577
|
+
* @example
|
|
578
|
+
* ```ts
|
|
579
|
+
* // Ensure both accounts haven't changed before creating a transfer
|
|
580
|
+
* uow.check("accounts", fromAccount.id);
|
|
581
|
+
* uow.check("accounts", toAccount.id);
|
|
582
|
+
* uow.create("transactions", { fromAccountId, toAccountId, amount });
|
|
583
|
+
* ```
|
|
584
|
+
*/
|
|
585
|
+
check<TableName extends keyof TSchema["tables"] & string>(tableName: TableName, id: FragnoId): void;
|
|
447
586
|
}
|
|
448
587
|
//#endregion
|
|
449
|
-
export { CompiledMutation, DeleteBuilder, FindBuilder, IndexColumns, IndexedConditionBuilder, IndexedJoinBuilder, InferIdColumnName, JoinFindBuilder, MutationOperation, MutationResult, RetrievalOperation, UOWCompiler, UOWDecoder, UOWExecutor, UOWState, UnitOfWork, UnitOfWorkConfig, UpdateBuilder, UpdateManyBuilder, ValidIndexName, buildJoinIndexed, createUnitOfWork };
|
|
588
|
+
export { CompiledMutation, DeleteBuilder, FindBuilder, IUnitOfWork, IUnitOfWorkRestricted, IndexColumns, IndexedConditionBuilder, IndexedJoinBuilder, InferIdColumnName, JoinFindBuilder, MutationOperation, MutationResult, RetrievalOperation, TypedUnitOfWork, UOWCompiler, UOWDecoder, UOWExecutor, UOWState, UnitOfWork, UnitOfWorkConfig, UpdateBuilder, UpdateManyBuilder, ValidIndexName, buildJoinIndexed, createUnitOfWork };
|
|
450
589
|
//# sourceMappingURL=unit-of-work.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-of-work.d.ts","names":[],"sources":["../../src/query/unit-of-work.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unit-of-work.d.ts","names":[],"sources":["../../src/query/unit-of-work.ts"],"sourcesContent":[],"mappings":"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"}
|