@ronin/compiler 0.11.6 → 0.11.7
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 +5 -3
- package/dist/index.js +10 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -5998,16 +5998,18 @@ type NativeRecord = Record<string, unknown> & {
|
|
5998
5998
|
};
|
5999
5999
|
type SingleRecordResult<T = NativeRecord> = {
|
6000
6000
|
record: T | null;
|
6001
|
+
modelFields: Record<ModelField['slug'], ModelField['type']>;
|
6001
6002
|
};
|
6002
|
-
type MultipleRecordResult = {
|
6003
|
-
records: Array<
|
6003
|
+
type MultipleRecordResult<T = NativeRecord> = {
|
6004
|
+
records: Array<T>;
|
6004
6005
|
moreAfter?: string;
|
6005
6006
|
moreBefore?: string;
|
6007
|
+
modelFields: Record<ModelField['slug'], ModelField['type']>;
|
6006
6008
|
};
|
6007
6009
|
type AmountResult = {
|
6008
6010
|
amount: number;
|
6009
6011
|
};
|
6010
|
-
type Result = SingleRecordResult | MultipleRecordResult | AmountResult;
|
6012
|
+
type Result<T = NativeRecord> = SingleRecordResult<T> | MultipleRecordResult<T> | AmountResult;
|
6011
6013
|
|
6012
6014
|
/**
|
6013
6015
|
* A list of placeholders that can be located inside queries after those queries were
|
package/dist/index.js
CHANGED
@@ -1667,19 +1667,26 @@ var Transaction = class {
|
|
1667
1667
|
});
|
1668
1668
|
return normalizedResults.map((rows, index) => {
|
1669
1669
|
const query = this.queries.at(-index);
|
1670
|
-
const
|
1670
|
+
const rawModelFields = this.fields.at(-index);
|
1671
1671
|
const { queryType, queryModel, queryInstructions } = splitQuery(query);
|
1672
1672
|
const model = getModelBySlug(this.models, queryModel);
|
1673
|
+
const modelFields = Object.fromEntries(
|
1674
|
+
model.fields.map((field) => [field.slug, field.type])
|
1675
|
+
);
|
1673
1676
|
if (queryType === "count") {
|
1674
1677
|
return { amount: rows[0][0] };
|
1675
1678
|
}
|
1676
1679
|
const single = queryModel !== model.pluralSlug;
|
1677
1680
|
if (single) {
|
1678
|
-
return {
|
1681
|
+
return {
|
1682
|
+
record: rows[0] ? this.formatRows(rawModelFields, rows, single) : null,
|
1683
|
+
modelFields
|
1684
|
+
};
|
1679
1685
|
}
|
1680
1686
|
const pageSize = queryInstructions?.limitedTo;
|
1681
1687
|
const output = {
|
1682
|
-
records: this.formatRows(
|
1688
|
+
records: this.formatRows(rawModelFields, rows, single),
|
1689
|
+
modelFields
|
1683
1690
|
};
|
1684
1691
|
if (pageSize && output.records.length > 0) {
|
1685
1692
|
if (output.records.length > pageSize) {
|