@ronin/compiler 0.12.3 → 0.12.4

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.
Files changed (2) hide show
  1. package/dist/index.js +24 -12
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -435,7 +435,7 @@ var pluralize = (word) => {
435
435
  }
436
436
  return `${word}s`;
437
437
  };
438
- var modelSettings = [
438
+ var modelAttributes = [
439
439
  ["pluralSlug", "slug", pluralize],
440
440
  ["name", "slug", slugToName],
441
441
  ["pluralName", "pluralSlug", slugToName],
@@ -444,7 +444,7 @@ var modelSettings = [
444
444
  ];
445
445
  var addDefaultModelFields = (model, isNew) => {
446
446
  const copiedModel = { ...model };
447
- for (const [setting, base, generator] of modelSettings) {
447
+ for (const [setting, base, generator] of modelAttributes) {
448
448
  if (copiedModel[setting] || !copiedModel[base]) continue;
449
449
  copiedModel[setting] = generator(copiedModel[base]);
450
450
  }
@@ -732,23 +732,30 @@ var transformMetaQuery = (models, dependencyStatements, statementParams, query)
732
732
  [...models, modelWithFields],
733
733
  modelWithFields
734
734
  );
735
+ modelWithPresets.fields = modelWithPresets.fields.map((field2) => ({
736
+ ...field2,
737
+ // Default field type.
738
+ type: field2.type || "string",
739
+ // Default field name.
740
+ name: field2.name || slugToName(field2.slug)
741
+ }));
742
+ const columns = modelWithPresets.fields.map((field2) => getFieldStatement(models, modelWithPresets, field2)).filter(Boolean);
735
743
  const entities = Object.fromEntries(
736
744
  Object.entries(PLURAL_MODEL_ENTITIES).map(([type, pluralType2]) => {
737
745
  const list = modelWithPresets[pluralType2];
738
746
  return [pluralType2, formatModelEntity(type, list)];
739
747
  })
740
748
  );
741
- const columns = modelWithPresets.fields.map((field2) => getFieldStatement(models, modelWithPresets, field2)).filter(Boolean);
742
749
  dependencyStatements.push({
743
750
  statement: `CREATE TABLE "${modelWithPresets.table}" (${columns.join(", ")})`,
744
751
  params: []
745
752
  });
746
753
  models.push(modelWithPresets);
747
- const finalModel = Object.assign({}, modelWithPresets);
754
+ const modelWithObjects = Object.assign({}, modelWithPresets);
748
755
  for (const entity2 in entities) {
749
- if (entities[entity2]) finalModel[entity2] = entities[entity2];
756
+ if (entities[entity2]) modelWithObjects[entity2] = entities[entity2];
750
757
  }
751
- queryTypeDetails = { to: finalModel };
758
+ queryTypeDetails = { to: modelWithObjects };
752
759
  getSystemModels(models, modelWithPresets).map((systemModel) => {
753
760
  return handleSystemModel(models, dependencyStatements, "create", systemModel);
754
761
  });
@@ -809,6 +816,7 @@ var transformMetaQuery = (models, dependencyStatements, statementParams, query)
809
816
  if (action === "create") {
810
817
  const field2 = jsonValue;
811
818
  field2.type = field2.type || "string";
819
+ field2.name = field2.name || slugToName(field2.slug);
812
820
  const fieldStatement = getFieldStatement(models, existingModel, field2);
813
821
  if (fieldStatement) {
814
822
  dependencyStatements.push({
@@ -817,12 +825,16 @@ var transformMetaQuery = (models, dependencyStatements, statementParams, query)
817
825
  });
818
826
  }
819
827
  } else if (action === "alter") {
820
- const newSlug = jsonValue?.slug;
821
- if (newSlug && !existingLinkField) {
822
- dependencyStatements.push({
823
- statement: `${statement} RENAME COLUMN "${slug}" TO "${newSlug}"`,
824
- params: []
825
- });
828
+ const field2 = jsonValue;
829
+ const newSlug = field2.slug;
830
+ if (newSlug) {
831
+ field2.name = field2.name || slugToName(field2.slug);
832
+ if (!existingLinkField) {
833
+ dependencyStatements.push({
834
+ statement: `${statement} RENAME COLUMN "${slug}" TO "${newSlug}"`,
835
+ params: []
836
+ });
837
+ }
826
838
  }
827
839
  } else if (action === "drop" && !existingLinkField) {
828
840
  dependencyStatements.push({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronin/compiler",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "type": "module",
5
5
  "description": "Compiles RONIN queries to SQL statements.",
6
6
  "publishConfig": {