@prisma-next/sql-contract-psl 0.13.0-dev.17 → 0.13.0-dev.18
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/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{interpreter-He_PL0li.mjs → interpreter-CQdQo427.mjs} +44 -4
- package/dist/interpreter-CQdQo427.mjs.map +1 -0
- package/dist/provider.mjs +1 -1
- package/package.json +12 -12
- package/src/interpreter.ts +1 -0
- package/src/psl-field-resolution.ts +86 -12
- package/dist/interpreter-He_PL0li.mjs.map +0 -1
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/psl-column-resolution.ts","../src/interpreter.ts"],"mappings":";;;;;;;;;;;;KA0CY,gBAAA;EAAA,SACD,OAAA;EAAA,SACA,UAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA,GAAa,MAAM;AAAA;;;UCwDb,sCAAA;EAAA,SACN,QAAA,EAAU,sBAAA;EAAA,SACV,MAAA,EAAQ,aAAA;EAAA,SACR,qBAAA,EAAuB,WAAA,SAAoB,gBAAA;EAAA,SAC3C,sBAAA;EAAA,SACA,yBAAA,YAAqC,gBAAA;EAAA,SACrC,uBAAA,GAA0B,yBAAA;EAAA,SAC1B,sBAAA,GAAyB,sBAAA;ED/DzB;;;AAAmB;;;;ACwD9B;;EDxDW,SCyEA,0BAAA,EAA4B,WAAA,SAAoB,QAAA;EAhBtC;;;;;;;;;EAAA,SA0BV,eAAA,IAAmB,KAAA,EAAO,uBAAA,KAA4B,SAAA;EAAA,SACtD,WAAA,GAAc,WAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/psl-column-resolution.ts","../src/interpreter.ts"],"mappings":";;;;;;;;;;;;KA0CY,gBAAA;EAAA,SACD,OAAA;EAAA,SACA,UAAA;EAAA,SACA,OAAA;EAAA,SACA,UAAA,GAAa,MAAM;AAAA;;;UCwDb,sCAAA;EAAA,SACN,QAAA,EAAU,sBAAA;EAAA,SACV,MAAA,EAAQ,aAAA;EAAA,SACR,qBAAA,EAAuB,WAAA,SAAoB,gBAAA;EAAA,SAC3C,sBAAA;EAAA,SACA,yBAAA,YAAqC,gBAAA;EAAA,SACrC,uBAAA,GAA0B,yBAAA;EAAA,SAC1B,sBAAA,GAAyB,sBAAA;ED/DzB;;;AAAmB;;;;ACwD9B;;EDxDW,SCyEA,0BAAA,EAA4B,WAAA,SAAoB,QAAA;EAhBtC;;;;;;;;;EAAA,SA0BV,eAAA,IAAmB,KAAA,EAAO,uBAAA,KAA4B,SAAA;EAAA,SACtD,WAAA,GAAc,WAAA;AAAA;AAAA,iBAywDT,iCAAA,CACd,KAAA,EAAO,sCAAA,GACN,MAAA,CAAO,QAAA,EAAU,yBAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as interpretPslDocumentToSqlContract } from "./interpreter-
|
|
1
|
+
import { t as interpretPslDocumentToSqlContract } from "./interpreter-CQdQo427.mjs";
|
|
2
2
|
export { interpretPslDocumentToSqlContract };
|
|
@@ -1309,6 +1309,37 @@ function resolveColumnDescriptor(field, enumTypeDescriptors, namedTypeDescriptor
|
|
|
1309
1309
|
}
|
|
1310
1310
|
//#endregion
|
|
1311
1311
|
//#region src/psl-field-resolution.ts
|
|
1312
|
+
function lowerEnum2DefaultForField(input) {
|
|
1313
|
+
const expressionEntry = getPositionalArgumentEntry(input.defaultAttribute);
|
|
1314
|
+
if (!expressionEntry) return {};
|
|
1315
|
+
const raw = expressionEntry.value.trim();
|
|
1316
|
+
const isQuotedString = /^(['"]).*\1$/.test(raw);
|
|
1317
|
+
const isFunctionCall = raw.includes("(") && raw.endsWith(")");
|
|
1318
|
+
if (isQuotedString || isFunctionCall) {
|
|
1319
|
+
input.diagnostics.push({
|
|
1320
|
+
code: "PSL_ENUM2_DEFAULT_MUST_BE_MEMBER_NAME",
|
|
1321
|
+
message: `Field "${input.modelName}.${input.fieldName}" @default on an enum2 field must name a member (e.g. @default(Low)), not a raw value or function.`,
|
|
1322
|
+
sourceId: input.sourceId,
|
|
1323
|
+
span: input.defaultAttribute.span
|
|
1324
|
+
});
|
|
1325
|
+
return {};
|
|
1326
|
+
}
|
|
1327
|
+
const match = input.enumHandle.enumMembers.find((m) => m.name === raw);
|
|
1328
|
+
if (!match) {
|
|
1329
|
+
const validNames = input.enumHandle.enumMembers.map((m) => m.name).join(", ");
|
|
1330
|
+
input.diagnostics.push({
|
|
1331
|
+
code: "PSL_ENUM2_UNKNOWN_DEFAULT_MEMBER",
|
|
1332
|
+
message: `Field "${input.modelName}.${input.fieldName}" @default(${raw}) does not name a member of ${input.enumHandle.enumName}. Valid members: ${validNames}.`,
|
|
1333
|
+
sourceId: input.sourceId,
|
|
1334
|
+
span: input.defaultAttribute.span
|
|
1335
|
+
});
|
|
1336
|
+
return {};
|
|
1337
|
+
}
|
|
1338
|
+
return { defaultValue: {
|
|
1339
|
+
kind: "literal",
|
|
1340
|
+
value: blindCast(match.value)
|
|
1341
|
+
} };
|
|
1342
|
+
}
|
|
1312
1343
|
const MODEL_COORDINATE_SEPARATOR = "\0";
|
|
1313
1344
|
function modelCoordinateKey(namespaceId, modelName) {
|
|
1314
1345
|
return `${namespaceId}${MODEL_COORDINATE_SEPARATOR}${modelName}`;
|
|
@@ -1382,7 +1413,7 @@ function extractFieldConstraintNames(input) {
|
|
|
1382
1413
|
};
|
|
1383
1414
|
}
|
|
1384
1415
|
function collectResolvedFields(input) {
|
|
1385
|
-
const { model, mapping, enumTypeDescriptors, namedTypeDescriptors, modelNames, compositeTypeNames, composedExtensions, authoringContributions, familyId, targetId, defaultFunctionRegistry, generatorDescriptorById, diagnostics, sourceId, scalarTypeDescriptors } = input;
|
|
1416
|
+
const { model, mapping, enumTypeDescriptors, namedTypeDescriptors, modelNames, compositeTypeNames, composedExtensions, authoringContributions, familyId, targetId, defaultFunctionRegistry, generatorDescriptorById, diagnostics, sourceId, scalarTypeDescriptors, enum2Handles } = input;
|
|
1386
1417
|
const resolvedFields = [];
|
|
1387
1418
|
for (const field of model.fields) {
|
|
1388
1419
|
const isModelField = modelNames.has(field.typeName);
|
|
@@ -1475,7 +1506,15 @@ function collectResolvedFields(input) {
|
|
|
1475
1506
|
});
|
|
1476
1507
|
continue;
|
|
1477
1508
|
}
|
|
1478
|
-
const
|
|
1509
|
+
const enum2Handle = enum2Handles?.get(field.typeName);
|
|
1510
|
+
const loweredDefault = defaultAttribute ? enum2Handle ? lowerEnum2DefaultForField({
|
|
1511
|
+
modelName: model.name,
|
|
1512
|
+
fieldName: field.name,
|
|
1513
|
+
defaultAttribute,
|
|
1514
|
+
enumHandle: enum2Handle,
|
|
1515
|
+
sourceId,
|
|
1516
|
+
diagnostics
|
|
1517
|
+
}) : lowerDefaultForField({
|
|
1479
1518
|
modelName: model.name,
|
|
1480
1519
|
fieldName: field.name,
|
|
1481
1520
|
defaultAttribute,
|
|
@@ -2205,7 +2244,8 @@ function buildModelNodeFromPsl(input) {
|
|
|
2205
2244
|
generatorDescriptorById: input.generatorDescriptorById,
|
|
2206
2245
|
diagnostics,
|
|
2207
2246
|
sourceId,
|
|
2208
|
-
scalarTypeDescriptors: input.scalarTypeDescriptors
|
|
2247
|
+
scalarTypeDescriptors: input.scalarTypeDescriptors,
|
|
2248
|
+
...ifDefined("enum2Handles", input.enum2Handles)
|
|
2209
2249
|
});
|
|
2210
2250
|
const inlineIdFields = resolvedFields.filter((field) => field.isId);
|
|
2211
2251
|
if (inlineIdFields.length > 1) diagnostics.push({
|
|
@@ -3454,4 +3494,4 @@ function interpretPslDocumentToSqlContract(input) {
|
|
|
3454
3494
|
//#endregion
|
|
3455
3495
|
export { interpretPslDocumentToSqlContract as t };
|
|
3456
3496
|
|
|
3457
|
-
//# sourceMappingURL=interpreter-
|
|
3497
|
+
//# sourceMappingURL=interpreter-CQdQo427.mjs.map
|