@prisma-next/sql-contract-ts 0.13.0-dev.17 → 0.13.0-dev.19
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/package.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/sql-contract-ts",
|
|
3
|
-
"version": "0.13.0-dev.
|
|
3
|
+
"version": "0.13.0-dev.19",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"description": "SQL-specific TypeScript contract authoring surface for Prisma Next",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@prisma-next/config": "0.13.0-dev.
|
|
10
|
-
"@prisma-next/contract": "0.13.0-dev.
|
|
11
|
-
"@prisma-next/contract-authoring": "0.13.0-dev.
|
|
12
|
-
"@prisma-next/framework-components": "0.13.0-dev.
|
|
13
|
-
"@prisma-next/sql-contract": "0.13.0-dev.
|
|
14
|
-
"@prisma-next/utils": "0.13.0-dev.
|
|
9
|
+
"@prisma-next/config": "0.13.0-dev.19",
|
|
10
|
+
"@prisma-next/contract": "0.13.0-dev.19",
|
|
11
|
+
"@prisma-next/contract-authoring": "0.13.0-dev.19",
|
|
12
|
+
"@prisma-next/framework-components": "0.13.0-dev.19",
|
|
13
|
+
"@prisma-next/sql-contract": "0.13.0-dev.19",
|
|
14
|
+
"@prisma-next/utils": "0.13.0-dev.19",
|
|
15
15
|
"arktype": "^2.2.0",
|
|
16
16
|
"pathe": "^2.0.3",
|
|
17
17
|
"ts-toolbelt": "^9.6.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@prisma-next/test-utils": "0.13.0-dev.
|
|
21
|
-
"@prisma-next/tsconfig": "0.13.0-dev.
|
|
20
|
+
"@prisma-next/test-utils": "0.13.0-dev.19",
|
|
21
|
+
"@prisma-next/tsconfig": "0.13.0-dev.19",
|
|
22
22
|
"@types/pg": "8.20.0",
|
|
23
23
|
"pg": "8.21.0",
|
|
24
|
-
"@prisma-next/tsdown": "0.13.0-dev.
|
|
24
|
+
"@prisma-next/tsdown": "0.13.0-dev.19",
|
|
25
25
|
"tsdown": "0.22.1",
|
|
26
26
|
"typescript": "5.9.3",
|
|
27
27
|
"vitest": "4.1.8"
|
package/src/contract-dsl.ts
CHANGED
|
@@ -338,6 +338,36 @@ export class ScalarFieldBuilder<State extends AnyScalarFieldState = AnyScalarFie
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
+
export class EnumScalarFieldBuilder<
|
|
342
|
+
Handle extends EnumTypeHandle,
|
|
343
|
+
State extends AnyScalarFieldState = ScalarFieldState<Handle['codecId'], Handle, false, undefined>,
|
|
344
|
+
> extends ScalarFieldBuilder<State> {
|
|
345
|
+
readonly #handle: Handle;
|
|
346
|
+
|
|
347
|
+
constructor(state: State, handle: Handle) {
|
|
348
|
+
super(state);
|
|
349
|
+
this.#handle = handle;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
override default(value: Handle['values'][number]): EnumScalarFieldBuilder<Handle, State> {
|
|
353
|
+
return blindCast<
|
|
354
|
+
EnumScalarFieldBuilder<Handle, State>,
|
|
355
|
+
'object spread does not narrow the generic State conditional; runtime shape is correct'
|
|
356
|
+
>(
|
|
357
|
+
new EnumScalarFieldBuilder(
|
|
358
|
+
{ ...this.build(), default: { kind: 'literal', value } },
|
|
359
|
+
this.#handle,
|
|
360
|
+
),
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
override defaultSql(_expression: never): never {
|
|
365
|
+
throw new Error(
|
|
366
|
+
'defaultSql is not available on an enum field; use .default(members.X) instead',
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
341
371
|
function columnField<Descriptor extends ColumnTypeDescriptor>(
|
|
342
372
|
descriptor: Descriptor,
|
|
343
373
|
): ScalarFieldBuilder<ScalarFieldState<Descriptor['codecId'], undefined, false, undefined>> {
|
|
@@ -373,16 +403,17 @@ function namedTypeField<TypeRef extends PostgresEnumStorageEntry>(
|
|
|
373
403
|
): ScalarFieldBuilder<ScalarFieldState<string, TypeRef, false, undefined>>;
|
|
374
404
|
function namedTypeField<Handle extends EnumTypeHandle>(
|
|
375
405
|
typeRef: Handle,
|
|
376
|
-
):
|
|
377
|
-
function namedTypeField(
|
|
378
|
-
typeRef: NamedStorageTypeRef,
|
|
379
|
-
): ScalarFieldBuilder<ScalarFieldState<string, NamedStorageTypeRef, false, undefined>> {
|
|
406
|
+
): EnumScalarFieldBuilder<Handle>;
|
|
407
|
+
function namedTypeField(typeRef: NamedStorageTypeRef): ScalarFieldBuilder {
|
|
380
408
|
if (isEnumTypeHandle(typeRef)) {
|
|
381
|
-
return new
|
|
382
|
-
|
|
409
|
+
return new EnumScalarFieldBuilder(
|
|
410
|
+
{
|
|
411
|
+
kind: 'scalar',
|
|
412
|
+
typeRef,
|
|
413
|
+
nullable: false,
|
|
414
|
+
},
|
|
383
415
|
typeRef,
|
|
384
|
-
|
|
385
|
-
});
|
|
416
|
+
);
|
|
386
417
|
}
|
|
387
418
|
return new ScalarFieldBuilder({
|
|
388
419
|
kind: 'scalar',
|