@ronin/compiler 0.10.0-leo-ron-1083-experimental-207 → 0.10.1-leo-ron-1083-experimental-208

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 +31 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1212,6 +1212,11 @@ var handleTo = (models, model, statementParams, queryType, dependencyStatements,
1212
1212
  if (symbol?.type === "query") {
1213
1213
  let { queryModel: subQueryModelSlug, queryInstructions: subQueryInstructions } = splitQuery(symbol.value);
1214
1214
  const subQueryModel = getModelBySlug(models, subQueryModelSlug);
1215
+ if (subQueryInstructions?.selecting) {
1216
+ const currentFields = new Set(subQueryInstructions.selecting);
1217
+ currentFields.add("id");
1218
+ subQueryInstructions.selecting = Array.from(currentFields);
1219
+ }
1215
1220
  const subQuerySelectedFields = subQueryInstructions?.selecting;
1216
1221
  const subQueryIncludedFields = subQueryInstructions?.including;
1217
1222
  const subQueryFields = [
@@ -1234,7 +1239,19 @@ var handleTo = (models, model, statementParams, queryType, dependencyStatements,
1234
1239
  ...subQueryInstructions.including
1235
1240
  };
1236
1241
  }
1237
- return compileQueryInput(symbol.value, models, statementParams).main.statement;
1242
+ let statement2 = "";
1243
+ if (subQuerySelectedFields) {
1244
+ const selectedFields = [
1245
+ ...subQueryFields,
1246
+ ...defaultFieldsToAdd.map(([key]) => key)
1247
+ ];
1248
+ const columns = selectedFields.map((field) => {
1249
+ return getFieldFromModel(model, field, "to").fieldSelector;
1250
+ });
1251
+ statement2 = `(${columns.join(", ")}) `;
1252
+ }
1253
+ statement2 += compileQueryInput(symbol.value, models, statementParams).main.statement;
1254
+ return statement2;
1238
1255
  }
1239
1256
  Object.assign(toInstruction, defaultFields);
1240
1257
  for (const fieldSlug in toInstruction) {
@@ -1498,11 +1515,22 @@ var Transaction = class {
1498
1515
  return expand(formattedRecord);
1499
1516
  }
1500
1517
  prepareResults(results) {
1501
- return results.map((result, index) => {
1518
+ const relevantResults = results.filter((_, index) => {
1519
+ return this.statements[index].returning;
1520
+ });
1521
+ return relevantResults.map((result, index) => {
1502
1522
  const query = this.queries.at(-index);
1503
1523
  const { queryModel } = splitQuery(query);
1504
1524
  const model = getModelBySlug(this.models, queryModel);
1505
- return { record: this.formatRecord(model, result[0]) };
1525
+ const single = queryModel !== model.pluralSlug;
1526
+ if (single) {
1527
+ return { record: this.formatRecord(model, result[0]) };
1528
+ }
1529
+ return {
1530
+ records: result.map((resultItem) => {
1531
+ return this.formatRecord(model, resultItem);
1532
+ })
1533
+ };
1506
1534
  });
1507
1535
  }
1508
1536
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronin/compiler",
3
- "version": "0.10.0-leo-ron-1083-experimental-207",
3
+ "version": "0.10.1-leo-ron-1083-experimental-208",
4
4
  "type": "module",
5
5
  "description": "Compiles RONIN queries to SQL statements.",
6
6
  "publishConfig": {