@ronin/compiler 0.17.1 → 0.17.2-leo-ron-1099-experimental-380
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.ts +1 -1
- package/dist/index.js +13 -15
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -324,7 +324,7 @@ type ModelPreset = {
|
|
324
324
|
};
|
325
325
|
type ModelEntityList<T extends {
|
326
326
|
slug: string;
|
327
|
-
}> = Record<NonNullable<T['slug']>,
|
327
|
+
}> = Record<NonNullable<T['slug']>, T extends infer U ? Omit<U, 'slug'> : never>;
|
328
328
|
interface Model<T extends ModelEntityList<ModelField> = ModelEntityList<ModelField>> {
|
329
329
|
id: string;
|
330
330
|
name: string;
|
package/dist/index.js
CHANGED
@@ -587,7 +587,8 @@ var handleTo = (models, model, statementParams, queryType, dependencyStatements,
|
|
587
587
|
var handleUsing = (model, instructions) => {
|
588
588
|
const normalizedUsing = Array.isArray(instructions.using) ? Object.fromEntries(instructions.using.map((presetSlug) => [presetSlug, null])) : instructions.using;
|
589
589
|
if ("links" in normalizedUsing) {
|
590
|
-
for (const [fieldSlug,
|
590
|
+
for (const [fieldSlug, rest] of Object.entries(model.fields)) {
|
591
|
+
const field = { slug: fieldSlug, ...rest };
|
591
592
|
if (field.type !== "link" || field.kind === "many") continue;
|
592
593
|
normalizedUsing[fieldSlug] = null;
|
593
594
|
}
|
@@ -1270,11 +1271,11 @@ var pluralize = (word2) => {
|
|
1270
1271
|
return `${word2}s`;
|
1271
1272
|
};
|
1272
1273
|
var modelAttributes = [
|
1273
|
-
["pluralSlug", "slug", pluralize],
|
1274
|
-
["name", "slug", slugToName],
|
1275
|
-
["pluralName", "pluralSlug", slugToName],
|
1276
|
-
["idPrefix", "slug", (slug) => slug.slice(0, 3).toLowerCase()],
|
1277
|
-
["table", "pluralSlug", convertToSnakeCase]
|
1274
|
+
["pluralSlug", "slug", pluralize, true],
|
1275
|
+
["name", "slug", slugToName, false],
|
1276
|
+
["pluralName", "pluralSlug", slugToName, false],
|
1277
|
+
["idPrefix", "slug", (slug) => slug.slice(0, 3).toLowerCase(), false],
|
1278
|
+
["table", "pluralSlug", convertToSnakeCase, true]
|
1278
1279
|
];
|
1279
1280
|
var getModelIdentifier = () => {
|
1280
1281
|
return `mod_${Array.from(crypto.getRandomValues(new Uint8Array(12))).map((b) => b.toString(16).padStart(2, "0")).join("").slice(0, 16).toLowerCase()}`;
|
@@ -1282,7 +1283,8 @@ var getModelIdentifier = () => {
|
|
1282
1283
|
var addDefaultModelAttributes = (model, isNew) => {
|
1283
1284
|
const copiedModel = { ...model };
|
1284
1285
|
if (isNew && !copiedModel.id) copiedModel.id = getModelIdentifier();
|
1285
|
-
for (const [setting, base, generator] of modelAttributes) {
|
1286
|
+
for (const [setting, base, generator, mustRegenerate] of modelAttributes) {
|
1287
|
+
if (!(isNew || mustRegenerate)) continue;
|
1286
1288
|
if (copiedModel[setting] || !copiedModel[base]) continue;
|
1287
1289
|
copiedModel[setting] = generator(copiedModel[base]);
|
1288
1290
|
}
|
@@ -1394,7 +1396,8 @@ var addDefaultModelPresets = (list, model) => {
|
|
1394
1396
|
}
|
1395
1397
|
const childModels = list.map((subModel) => {
|
1396
1398
|
if (subModel.system?.associationSlug) return null;
|
1397
|
-
const field = Object.entries(subModel.fields).find(([
|
1399
|
+
const field = Object.entries(subModel.fields).find(([fieldSlug, rest]) => {
|
1400
|
+
const field2 = { slug: fieldSlug, ...rest };
|
1398
1401
|
return field2.type === "link" && field2.target === model.slug;
|
1399
1402
|
});
|
1400
1403
|
if (!field) return null;
|
@@ -1497,30 +1500,25 @@ var getSystemFields = (idPrefix) => ({
|
|
1497
1500
|
id: {
|
1498
1501
|
name: "ID",
|
1499
1502
|
type: "string",
|
1500
|
-
slug: "id",
|
1501
1503
|
defaultValue: ID_EXPRESSION(idPrefix)
|
1502
1504
|
},
|
1503
1505
|
"ronin.createdAt": {
|
1504
1506
|
name: "RONIN - Created At",
|
1505
1507
|
type: "date",
|
1506
|
-
slug: "ronin.createdAt",
|
1507
1508
|
defaultValue: CURRENT_TIME_EXPRESSION
|
1508
1509
|
},
|
1509
1510
|
"ronin.createdBy": {
|
1510
1511
|
name: "RONIN - Created By",
|
1511
|
-
type: "string"
|
1512
|
-
slug: "ronin.createdBy"
|
1512
|
+
type: "string"
|
1513
1513
|
},
|
1514
1514
|
"ronin.updatedAt": {
|
1515
1515
|
name: "RONIN - Updated At",
|
1516
1516
|
type: "date",
|
1517
|
-
slug: "ronin.updatedAt",
|
1518
1517
|
defaultValue: CURRENT_TIME_EXPRESSION
|
1519
1518
|
},
|
1520
1519
|
"ronin.updatedBy": {
|
1521
1520
|
name: "RONIN - Updated By",
|
1522
|
-
type: "string"
|
1523
|
-
slug: "ronin.updatedBy"
|
1521
|
+
type: "string"
|
1524
1522
|
}
|
1525
1523
|
});
|
1526
1524
|
var ROOT_MODEL = {
|