@ronin/compiler 0.11.6 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
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<NativeRecord>;
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 fields = this.fields.at(-index);
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 { record: rows[0] ? this.formatRows(fields, rows, single) : null };
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(fields, rows, single)
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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronin/compiler",
3
- "version": "0.11.6",
3
+ "version": "0.11.7",
4
4
  "type": "module",
5
5
  "description": "Compiles RONIN queries to SQL statements.",
6
6
  "publishConfig": {