@ronin/compiler 0.17.11 → 0.17.12-leo-ron-1113-experimental-402

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 CHANGED
@@ -150,23 +150,23 @@ type AlterQuery = {
150
150
  model: string;
151
151
  to?: Partial<Omit<PublicModel, 'fields' | 'indexes' | 'triggers' | 'presets' | 'idPrefix'>>;
152
152
  create?: {
153
- field?: ModelField;
154
- index?: ModelIndex;
155
- trigger?: ModelTrigger;
156
- preset?: ModelPreset;
153
+ field?: Omit<ModelField, 'system'>;
154
+ index?: Omit<ModelIndex, 'system'>;
155
+ trigger?: Omit<ModelTrigger, 'system'>;
156
+ preset?: Omit<ModelPreset, 'system'>;
157
157
  };
158
158
  alter?: {
159
159
  field?: string;
160
- to?: Partial<ModelField>;
160
+ to?: Partial<Omit<ModelField, 'system'>>;
161
161
  } | {
162
162
  index?: string;
163
- to?: Partial<ModelIndex>;
163
+ to?: Partial<Omit<ModelIndex, 'system'>>;
164
164
  } | {
165
165
  trigger?: string;
166
- to?: Partial<ModelTrigger>;
166
+ to?: Omit<ModelTrigger, 'system'>;
167
167
  } | {
168
168
  preset?: string;
169
- to?: Partial<ModelPreset>;
169
+ to?: Omit<ModelPreset, 'system'>;
170
170
  };
171
171
  drop?: Partial<Record<ModelEntityEnum, string>>;
172
172
  };
@@ -227,6 +227,8 @@ type ModelFieldBasics = {
227
227
  };
228
228
  /** An expression that gets evaluated every time a value is provided for the field. */
229
229
  check?: Expression;
230
+ /** Whether the field was automatically added by RONIN. */
231
+ system?: boolean;
230
232
  };
231
233
  type ModelField = ModelFieldBasics & ({
232
234
  /** The kind of value that should be stored inside the field. */
@@ -340,10 +342,14 @@ type ModelTrigger<T extends ModelEntityList<ModelField> = ModelEntityList<ModelF
340
342
  filter?: WithInstruction;
341
343
  };
342
344
  type ModelPreset = {
345
+ /** The visual display name of the preset. */
346
+ name?: string;
343
347
  /** The identifier that can be used for adding the preset to a query. */
344
348
  slug: string;
345
349
  /** The query instructions that should be applied when the preset is used. */
346
350
  instructions: GetInstructions;
351
+ /** Whether the preset was automatically added by RONIN. */
352
+ system?: boolean;
347
353
  };
348
354
  type ModelEntityList<T extends {
349
355
  slug: string;
package/dist/index.js CHANGED
@@ -764,7 +764,9 @@ var addDefaultModelPresets = (list, model) => {
764
764
  }
765
765
  }
766
766
  }
767
- }
767
+ },
768
+ name: slugToName(fieldSlug),
769
+ system: true
768
770
  };
769
771
  defaultPresets[fieldSlug] = preset2;
770
772
  continue;
@@ -788,7 +790,9 @@ var addDefaultModelPresets = (list, model) => {
788
790
  }
789
791
  }
790
792
  }
791
- }
793
+ },
794
+ name: slugToName(fieldSlug),
795
+ system: true
792
796
  };
793
797
  defaultPresets[fieldSlug] = preset;
794
798
  }
@@ -823,7 +827,9 @@ var addDefaultModelPresets = (list, model) => {
823
827
  }
824
828
  }
825
829
  }
826
- }
830
+ },
831
+ name: slugToName(presetSlug),
832
+ system: true
827
833
  };
828
834
  defaultPresets[presetSlug] = preset;
829
835
  }
@@ -1511,25 +1517,30 @@ var getSystemFields = (idPrefix) => ({
1511
1517
  // cannot rely on the `idPrefix` column here. Instead, we need to inject it
1512
1518
  // directly into the expression as a static string.
1513
1519
  [QUERY_SYMBOLS.EXPRESSION]: `'${idPrefix}_' || lower(substr(hex(randomblob(12)), 1, 16))`
1514
- }
1520
+ },
1521
+ system: true
1515
1522
  },
1516
1523
  "ronin.createdAt": {
1517
1524
  name: "RONIN - Created At",
1518
1525
  type: "date",
1519
- defaultValue: CURRENT_TIME_EXPRESSION
1526
+ defaultValue: CURRENT_TIME_EXPRESSION,
1527
+ system: true
1520
1528
  },
1521
1529
  "ronin.createdBy": {
1522
1530
  name: "RONIN - Created By",
1523
- type: "string"
1531
+ type: "string",
1532
+ system: true
1524
1533
  },
1525
1534
  "ronin.updatedAt": {
1526
1535
  name: "RONIN - Updated At",
1527
1536
  type: "date",
1528
- defaultValue: CURRENT_TIME_EXPRESSION
1537
+ defaultValue: CURRENT_TIME_EXPRESSION,
1538
+ system: true
1529
1539
  },
1530
1540
  "ronin.updatedBy": {
1531
1541
  name: "RONIN - Updated By",
1532
- type: "string"
1542
+ type: "string",
1543
+ system: true
1533
1544
  }
1534
1545
  });
1535
1546
  var ROOT_MODEL = {
@@ -2124,7 +2135,6 @@ var Transaction = class {
2124
2135
  );
2125
2136
  });
2126
2137
  }
2127
- this.#internalQueries[index].models = modelList;
2128
2138
  return modelList.map((model) => {
2129
2139
  const instructions = Object.assign(
2130
2140
  {},
@@ -2151,10 +2161,8 @@ var Transaction = class {
2151
2161
  const postDependencies = dependencies.map(({ after, ...rest }) => after ? rest : null).filter((item) => item != null);
2152
2162
  const subStatements = [...preDependencies, main, ...postDependencies];
2153
2163
  this.statements.push(...subStatements);
2154
- this.#internalQueries[index].selectedFields = selectedFields;
2155
- if (this.#internalQueries[index].models.length === 0) {
2156
- this.#internalQueries[index].models = [model];
2157
- }
2164
+ this.#internalQueries[index].selectedFields.push(selectedFields);
2165
+ this.#internalQueries[index].models.push(model);
2158
2166
  }
2159
2167
  this.models = modelsWithPresets;
2160
2168
  return statements;
@@ -2319,7 +2327,9 @@ var Transaction = class {
2319
2327
  if (queryModel === "all") {
2320
2328
  const models = {};
2321
2329
  const { on: onInstruction, ...restInstructions } = queryInstructions || {};
2322
- for (const model of affectedModels) {
2330
+ for (let index = 0; index < affectedModels.length; index++) {
2331
+ const model = affectedModels[index];
2332
+ const fields = selectedFields[index];
2323
2333
  const instructions = Object.assign(
2324
2334
  {},
2325
2335
  restInstructions,
@@ -2330,7 +2340,7 @@ var Transaction = class {
2330
2340
  instructions,
2331
2341
  model,
2332
2342
  absoluteResults[resultIndex++],
2333
- selectedFields,
2343
+ fields,
2334
2344
  false
2335
2345
  );
2336
2346
  models[model.pluralSlug] = result;
@@ -2338,12 +2348,13 @@ var Transaction = class {
2338
2348
  finalResults.push({ models });
2339
2349
  } else {
2340
2350
  const model = affectedModels[0];
2351
+ const fields = selectedFields[0];
2341
2352
  const result = this.formatIndividualResult(
2342
2353
  queryType,
2343
2354
  queryInstructions,
2344
2355
  model,
2345
2356
  absoluteResults[resultIndex++],
2346
- selectedFields,
2357
+ fields,
2347
2358
  queryModel !== model.pluralSlug
2348
2359
  );
2349
2360
  finalResults.push(result);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronin/compiler",
3
- "version": "0.17.11",
3
+ "version": "0.17.12-leo-ron-1113-experimental-402",
4
4
  "type": "module",
5
5
  "description": "Compiles RONIN queries to SQL statements.",
6
6
  "publishConfig": {