@ronin/compiler 0.10.3-leo-ron-1083-experimental-215 → 0.10.3-leo-ron-1083-experimental-217
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.js +21 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -17,7 +17,7 @@ var RONIN_MODEL_SYMBOLS = {
|
|
17
17
|
VALUE: "__RONIN_VALUE"
|
18
18
|
};
|
19
19
|
var RONIN_MODEL_FIELD_REGEX = new RegExp(
|
20
|
-
`${RONIN_MODEL_SYMBOLS.FIELD}[_a-zA-Z0-9]+`,
|
20
|
+
`${RONIN_MODEL_SYMBOLS.FIELD}[_a-zA-Z0-9.]+`,
|
21
21
|
"g"
|
22
22
|
);
|
23
23
|
var MODEL_ENTITY_ERROR_CODES = {
|
@@ -1190,7 +1190,8 @@ var handleSelecting = (models, model, statementParams, instructions, options) =>
|
|
1190
1190
|
return getFieldFromModel(model, slug, "selecting").fieldSelector;
|
1191
1191
|
}).join(", ") : "*";
|
1192
1192
|
if (instructions.including) {
|
1193
|
-
const
|
1193
|
+
const flatObject = flatten(instructions.including);
|
1194
|
+
const filteredObject = Object.entries(flatObject).flatMap(([key, value]) => {
|
1194
1195
|
const symbol = getSymbol(value);
|
1195
1196
|
if (symbol?.type === "query") {
|
1196
1197
|
isJoining = true;
|
@@ -1202,27 +1203,28 @@ var handleSelecting = (models, model, statementParams, instructions, options) =>
|
|
1202
1203
|
if (field.type === "group") return null;
|
1203
1204
|
return model.fields.some((modelField) => modelField.slug === field.slug);
|
1204
1205
|
}).filter((item) => item !== null);
|
1205
|
-
return duplicatedFields.map((field) =>
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1206
|
+
return duplicatedFields.map((field) => {
|
1207
|
+
const value2 = parseFieldExpression(
|
1208
|
+
{ ...queryModel, tableAlias: tableName },
|
1209
|
+
"including",
|
1210
|
+
`${RONIN_MODEL_SYMBOLS.FIELD}${field.slug}`
|
1211
|
+
);
|
1212
|
+
return {
|
1213
|
+
key: `${tableName}.${field.slug}`,
|
1214
|
+
value: value2
|
1215
|
+
};
|
1216
|
+
});
|
1217
|
+
}
|
1218
|
+
if (symbol?.type === "expression") {
|
1219
|
+
value = `(${parseFieldExpression(model, "including", symbol.value)})`;
|
1220
|
+
} else {
|
1221
|
+
value = prepareStatementValue(statementParams, value);
|
1211
1222
|
}
|
1212
1223
|
return { key, value };
|
1213
1224
|
}).filter((entry) => entry !== null).map((entry) => [entry.key, entry.value]);
|
1214
|
-
|
1215
|
-
if (newObjectEntries.length > 0) {
|
1225
|
+
if (filteredObject.length > 0) {
|
1216
1226
|
statement += ", ";
|
1217
|
-
statement +=
|
1218
|
-
const symbol = getSymbol(value);
|
1219
|
-
if (symbol?.type === "expression") {
|
1220
|
-
value = `(${parseFieldExpression(model, "including", symbol.value)})`;
|
1221
|
-
} else {
|
1222
|
-
value = prepareStatementValue(statementParams, value);
|
1223
|
-
}
|
1224
|
-
return `${value} as "${key}"`;
|
1225
|
-
}).join(", ");
|
1227
|
+
statement += filteredObject.map(([key, value]) => `${value} as "${key}"`).join(", ");
|
1226
1228
|
}
|
1227
1229
|
}
|
1228
1230
|
return { columns: statement, isJoining };
|
package/package.json
CHANGED