@balena/abstract-sql-to-typescript 4.0.3 → 4.0.4

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.
@@ -1,3 +1,15 @@
1
+ - commits:
2
+ - subject: Correctly use `Record<string, never>` when there are no writable fields
3
+ hash: 573c4da6d9e4521f700e7f38a033640ef8afe533
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Pagan Gazzard
9
+ nested: []
10
+ version: 4.0.4
11
+ title: ""
12
+ date: 2024-09-12T16:01:33.275Z
1
13
  - commits:
2
14
  - subject: Fix accidentally omitting `Read` types for computed fields
3
15
  hash: 813492e785721ef2504a9b1afa54a1620e96171c
@@ -9,7 +21,7 @@
9
21
  nested: []
10
22
  version: 4.0.3
11
23
  title: ""
12
- date: 2024-09-06T15:36:03.676Z
24
+ date: 2024-09-08T04:05:44.976Z
13
25
  - commits:
14
26
  - subject: Fix computed fields to correctly be omitted from `Write` typings
15
27
  hash: 17f5875cb59e83318b2cdddb7886008f1a48c214
package/CHANGELOG.md CHANGED
@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
- ## 4.0.3 - 2024-09-06
7
+ ## 4.0.4 - 2024-09-12
8
+
9
+ * Correctly use `Record<string, never>` when there are no writable fields [Pagan Gazzard]
10
+
11
+ ## 4.0.3 - 2024-09-08
8
12
 
9
13
  * Fix accidentally omitting `Read` types for computed fields [Pagan Gazzard]
10
14
 
package/out/generate.js CHANGED
@@ -116,11 +116,14 @@ const relationshipsToInterfaceProps = (m, table, mode) => {
116
116
  });
117
117
  };
118
118
  const tableToInterface = (m, table) => {
119
- const writeType = table.definition != null
119
+ const writableFields = table.definition != null
120
+ ? []
121
+ : fieldsToInterfaceProps(m, table.fields, 'Write');
122
+ const writeType = writableFields.length === 0
120
123
  ?
121
124
  'Record<string, never>'
122
125
  : `{
123
- ${[...fieldsToInterfaceProps(m, table.fields, 'Write')].join('\n\t\t')}
126
+ ${writableFields.join('\n\t\t')}
124
127
  }`;
125
128
  return trimNL `
126
129
  export interface ${modelNameToCamelCaseName(table.name)} {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/abstract-sql-to-typescript",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "A translator for abstract sql into typescript types.",
5
5
  "main": "out/index.js",
6
6
  "types": "out/index.d.ts",
@@ -53,6 +53,6 @@
53
53
  "_": "test/**/*.ts"
54
54
  },
55
55
  "versionist": {
56
- "publishedAt": "2024-09-06T15:36:03.898Z"
56
+ "publishedAt": "2024-09-12T16:01:33.498Z"
57
57
  }
58
58
  }
package/src/generate.ts CHANGED
@@ -210,12 +210,16 @@ const relationshipsToInterfaceProps = (
210
210
  };
211
211
 
212
212
  const tableToInterface = (m: RequiredModelSubset, table: AbstractSqlTable) => {
213
- const writeType =
213
+ const writableFields =
214
214
  table.definition != null
215
+ ? []
216
+ : fieldsToInterfaceProps(m, table.fields, 'Write');
217
+ const writeType =
218
+ writableFields.length === 0
215
219
  ? // If there's a table definition then we cannot write anything
216
220
  'Record<string, never>'
217
221
  : `{
218
- ${[...fieldsToInterfaceProps(m, table.fields, 'Write')].join('\n\t\t')}
222
+ ${writableFields.join('\n\t\t')}
219
223
  }`;
220
224
  return trimNL`
221
225
  export interface ${modelNameToCamelCaseName(table.name)} {