@prisma-next/sql-runtime 0.5.0-dev.60 → 0.5.0-dev.62
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/dist/{exports-BcX9wp4z.mjs → exports-CZIUsCRE.mjs} +197 -320
- package/dist/exports-CZIUsCRE.mjs.map +1 -0
- package/dist/{index-DkthtnOX.d.mts → index-Ba3eysL3.d.mts} +19 -44
- package/dist/index-Ba3eysL3.d.mts.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/test/utils.d.mts +31 -26
- package/dist/test/utils.d.mts.map +1 -1
- package/dist/test/utils.mjs +99 -55
- package/dist/test/utils.mjs.map +1 -1
- package/package.json +11 -11
- package/src/codecs/alias-resolver.ts +34 -0
- package/src/codecs/decoding.ts +49 -83
- package/src/codecs/encoding.ts +44 -56
- package/src/codecs/validation.ts +3 -22
- package/src/middleware/budgets.ts +13 -27
- package/src/sql-context.ts +119 -268
- package/src/sql-runtime.ts +39 -101
- package/dist/exports-BcX9wp4z.mjs.map +0 -1
- package/dist/index-DkthtnOX.d.mts.map +0 -1
- package/src/codecs/json-schema-validation.ts +0 -61
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DkthtnOX.d.mts","names":[],"sources":["../src/codecs/validation.ts","../src/lower-sql-plan.ts","../src/marker.ts","../src/middleware/sql-middleware.ts","../src/middleware/budgets.ts","../src/middleware/lints.ts","../src/runtime-spi.ts","../src/sql-context.ts","../src/sql-marker.ts","../src/sql-runtime.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { runtimeError } from '@prisma-next/framework-components/runtime';
|
|
2
|
-
import type {
|
|
3
|
-
JsonSchemaValidationError,
|
|
4
|
-
JsonSchemaValidatorRegistry,
|
|
5
|
-
} from '@prisma-next/sql-relational-core/query-lane-context';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Validates a JSON value against its column's JSON Schema, if a validator exists.
|
|
9
|
-
*
|
|
10
|
-
* Throws `RUNTIME.JSON_SCHEMA_VALIDATION_FAILED` on validation failure.
|
|
11
|
-
* No-ops if no validator is registered for the column.
|
|
12
|
-
*/
|
|
13
|
-
export function validateJsonValue(
|
|
14
|
-
registry: JsonSchemaValidatorRegistry,
|
|
15
|
-
table: string,
|
|
16
|
-
column: string,
|
|
17
|
-
value: unknown,
|
|
18
|
-
direction: 'encode' | 'decode',
|
|
19
|
-
codecId?: string,
|
|
20
|
-
): void {
|
|
21
|
-
const key = `${table}.${column}`;
|
|
22
|
-
const validate = registry.get(key);
|
|
23
|
-
if (!validate) return;
|
|
24
|
-
|
|
25
|
-
const result = validate(value);
|
|
26
|
-
if (result.valid) return;
|
|
27
|
-
|
|
28
|
-
throw createJsonSchemaValidationError(table, column, direction, result.errors, codecId);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function createJsonSchemaValidationError(
|
|
32
|
-
table: string,
|
|
33
|
-
column: string,
|
|
34
|
-
direction: 'encode' | 'decode',
|
|
35
|
-
errors: ReadonlyArray<JsonSchemaValidationError>,
|
|
36
|
-
codecId?: string,
|
|
37
|
-
): Error {
|
|
38
|
-
const summary = formatErrorSummary(errors);
|
|
39
|
-
return runtimeError(
|
|
40
|
-
'RUNTIME.JSON_SCHEMA_VALIDATION_FAILED',
|
|
41
|
-
`JSON schema validation failed for column '${table}.${column}' (${direction}): ${summary}`,
|
|
42
|
-
{
|
|
43
|
-
table,
|
|
44
|
-
column,
|
|
45
|
-
codecId,
|
|
46
|
-
direction,
|
|
47
|
-
errors: [...errors],
|
|
48
|
-
},
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function formatErrorSummary(errors: ReadonlyArray<JsonSchemaValidationError>): string {
|
|
53
|
-
if (errors.length === 0) return 'unknown validation error';
|
|
54
|
-
if (errors.length === 1) {
|
|
55
|
-
const err = errors[0] as JsonSchemaValidationError;
|
|
56
|
-
return err.path === '/' ? err.message : `${err.path}: ${err.message}`;
|
|
57
|
-
}
|
|
58
|
-
return errors
|
|
59
|
-
.map((err) => (err.path === '/' ? err.message : `${err.path}: ${err.message}`))
|
|
60
|
-
.join('; ');
|
|
61
|
-
}
|