@ronin/compiler 0.12.3 → 0.12.4

Sign up to get free protection for your applications and to get access to all the features.
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": {