@balena/abstract-sql-compiler 8.3.0 → 8.3.1

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: Add more node typings
3
+ hash: 047954b6f66abb041bee74373f37c38d71cdc4d7
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Pagan Gazzard
9
+ nested: []
10
+ version: 8.3.1
11
+ title: ""
12
+ date: 2023-04-12T12:51:21.460Z
1
13
  - commits:
2
14
  - subject: Support boolean nodes in a ValuesNode
3
15
  hash: d589fb6cd92a3a7570e3b2ebea14acbb84807d8a
@@ -10,7 +22,7 @@
10
22
  nested: []
11
23
  version: 8.3.0
12
24
  title: ""
13
- date: 2023-04-11T14:35:05.399Z
25
+ date: 2023-04-11T14:56:54.403Z
14
26
  - commits:
15
27
  - subject: Add `Between` node type
16
28
  hash: 4880072eeab6af198df47777b6579dcacc3d7fb1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ 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
+ ## 8.3.1 - 2023-04-12
8
+
9
+ * Add more node typings [Pagan Gazzard]
10
+
7
11
  ## 8.3.0 - 2023-04-11
8
12
 
9
13
  * Support boolean nodes in a ValuesNode [Pagan Gazzard]
@@ -46,6 +46,7 @@ export type LessThanOrEqualNode = [
46
46
  AbstractSqlType
47
47
  ];
48
48
  export type BetweenNode = ['Between', AnyTypeNodes, AnyTypeNodes, AnyTypeNodes];
49
+ export type LikeNode = ['Like', AbstractSqlType, AbstractSqlType];
49
50
  export type InNode = [
50
51
  'In',
51
52
  FieldNode | ReferencedFieldNode,
@@ -63,10 +64,24 @@ export type ExistsNode = ['Exists', AbstractSqlType];
63
64
  export type NotNode = ['Not', BooleanTypeNodes];
64
65
  export type AndNode = ['And', ...BooleanTypeNodes[]];
65
66
  export type OrNode = ['Or', ...BooleanTypeNodes[]];
66
- export type BooleanTypeNodes = BooleanNode | EqualsNode | NotEqualsNode | IsDistinctFromNode | IsNotDistinctFromNode | GreaterThanNode | GreaterThanOrEqualNode | LessThanNode | LessThanOrEqualNode | BetweenNode | InNode | NotInNode | ExistsNode | NotExistsNode | NotNode | AndNode | OrNode | UnknownTypeNodes;
67
+ export type BooleanTypeNodes = BooleanNode | EqualsNode | NotEqualsNode | IsDistinctFromNode | IsNotDistinctFromNode | GreaterThanNode | GreaterThanOrEqualNode | LessThanNode | LessThanOrEqualNode | BetweenNode | LikeNode | InNode | NotInNode | ExistsNode | NotExistsNode | NotNode | AndNode | OrNode | UnknownTypeNodes;
67
68
  export type IntegerNode = ['Integer', number];
68
69
  export type RealNode = ['Real', number];
69
70
  export type NumberNode = ['Number', number];
71
+ export type AddNode = ['Add', NumberTypeNodes, NumberTypeNodes];
72
+ export type SubtractNode = ['Subtract', NumberTypeNodes, NumberTypeNodes];
73
+ export type MultiplyNode = ['Multiply', NumberTypeNodes, NumberTypeNodes];
74
+ export type DivideNode = ['Divide', NumberTypeNodes, NumberTypeNodes];
75
+ export type StrPosNode = ['StrPos', TextTypeNodes, TextTypeNodes];
76
+ export type YearNode = ['Year', DateTypeNodes];
77
+ export type MonthNode = ['Month', DateTypeNodes];
78
+ export type DayNode = ['Day', DateTypeNodes];
79
+ export type HourNode = ['Hour', DateTypeNodes];
80
+ export type MinuteNode = ['Minute', DateTypeNodes];
81
+ export type SecondNode = ['Second', DateTypeNodes];
82
+ export type RoundNode = ['Round', NumberTypeNodes];
83
+ export type FloorNode = ['Floor', NumberTypeNodes];
84
+ export type CeilingNode = ['Ceiling', NumberTypeNodes];
70
85
  export type CountNode = ['Count', '*'];
71
86
  export type AverageNode = ['Average', NumberTypeNodes];
72
87
  export type SumNode = ['Sum', NumberTypeNodes];
@@ -77,11 +92,15 @@ export type BitwiseShiftRightNode = [
77
92
  NumberTypeNodes,
78
93
  NumberTypeNodes
79
94
  ];
80
- export type NumberTypeNodes = NumberNode | IntegerNode | RealNode | CountNode | AverageNode | SumNode | BitwiseAndNode | BitwiseShiftRightNode | CharacterLengthNode | SubtractDateDateNode | UnknownTypeNodes;
95
+ export type NumberTypeNodes = NumberNode | IntegerNode | RealNode | AddNode | SubtractNode | MultiplyNode | DivideNode | StrPosNode | YearNode | MonthNode | DayNode | HourNode | MinuteNode | SecondNode | RoundNode | FloorNode | CeilingNode | CountNode | AverageNode | SumNode | BitwiseAndNode | BitwiseShiftRightNode | CharacterLengthNode | SubtractDateDateNode | UnknownTypeNodes;
81
96
  export type FieldNode = ['Field', string];
82
97
  export type ReferencedFieldNode = ['ReferencedField', string, string];
83
98
  export type DateTruncNode = ['DateTrunc', TextTypeNodes, DateTypeNodes];
84
- export type DateTypeNodes = DateNode | DateTruncNode | SubtractDateNumberNode | SubtractDateDurationNode | AddDateTypeNodes;
99
+ export type ToDateNode = ['ToDate', DateTypeNodes];
100
+ export type ToTimeNode = ['ToTime', DateTypeNodes];
101
+ export type CurrentTimestampNode = ['CurrentTimestamp'];
102
+ export type CurrentDateNode = ['CurrentDate'];
103
+ export type DateTypeNodes = DateNode | ToDateNode | ToTimeNode | CurrentTimestampNode | CurrentDateNode | DateTruncNode | SubtractDateNumberNode | SubtractDateDurationNode | AddDateTypeNodes;
85
104
  export type SubtractDateDateNode = [
86
105
  'SubtractDateDate',
87
106
  DateTypeNodes,
@@ -108,6 +127,9 @@ export type AddDateDurationNode = [
108
127
  DateTypeNodes,
109
128
  DurationNode
110
129
  ];
130
+ export type WhenNode = ['When', BooleanTypeNodes, AnyTypeNodes];
131
+ export type ElseNode = ['Else', AnyTypeNodes];
132
+ export type CaseNode = ['Case', ...WhenNode[]] | ['Case', ...WhenNode[], ElseNode];
111
133
  export type BindNode = ['Bind', number | string] | ['Bind', string, string];
112
134
  export type CastNode = ['Cast', AbstractSqlType, string];
113
135
  export type CoalesceNode = [
@@ -118,7 +140,7 @@ export type CoalesceNode = [
118
140
  ];
119
141
  export type ToJSONNode = ['ToJSON', AnyTypeNodes];
120
142
  export type AnyNode = ['Any', UnknownTypeNodes];
121
- export type UnknownTypeNodes = FieldNode | ReferencedFieldNode | BindNode | CastNode | CoalesceNode | ToJSONNode | AnyNode | UnknownNode;
143
+ export type UnknownTypeNodes = FieldNode | ReferencedFieldNode | BindNode | CastNode | CaseNode | CoalesceNode | ToJSONNode | AnyNode | UnknownNode;
122
144
  export type TextNode = ['Text', string];
123
145
  export type JSONNode = ['JSON', string];
124
146
  export type ConcatenateNode = ['Concatenate', ...TextTypeNodes[]];
@@ -127,7 +149,11 @@ export type ConcatenateWithSeparatorNode = [
127
149
  TextTypeNodes,
128
150
  ...TextTypeNodes[]
129
151
  ];
130
- export type LikeNode = ['Like', AbstractSqlType, AbstractSqlType];
152
+ export type LowerNode = ['Lower', TextTypeNodes];
153
+ export type UpperNode = ['Upper', TextTypeNodes];
154
+ export type TrimNode = ['Trim', TextTypeNodes];
155
+ export type SubstringNode = ['Substring', TextTypeNodes];
156
+ export type RightNode = ['Right', TextTypeNodes];
131
157
  export type ReplaceNode = [
132
158
  'Replace',
133
159
  TextTypeNodes,
@@ -141,7 +167,7 @@ export type ExtractJSONPathAsTextNode = [
141
167
  ];
142
168
  export type TextArrayTypeNodes = TextArrayNode | UnknownNode;
143
169
  export type TextArrayNode = ['TextArray', ...TextNode[]];
144
- export type TextTypeNodes = ConcatenateNode | ConcatenateWithSeparatorNode | LikeNode | ReplaceNode | ExtractJSONPathAsTextNode | UnknownTypeNodes;
170
+ export type TextTypeNodes = TextNode | ConcatenateNode | ConcatenateWithSeparatorNode | LowerNode | UpperNode | TrimNode | SubstringNode | RightNode | ReplaceNode | ExtractJSONPathAsTextNode | UnknownTypeNodes;
145
171
  export type SelectQueryStatementNode = SelectNode | FromNode | InnerJoinNode | LeftJoinNode | RightJoinNode | FullJoinNode | CrossJoinNode | WhereNode | GroupByNode | HavingNode | OrderByNode | LimitNode | OffsetNode;
146
172
  export type SelectQueryNode = ['SelectQuery', ...SelectQueryStatementNode[]];
147
173
  export type UnionQueryNode = [
@@ -186,7 +212,7 @@ export type ValuesNode = [
186
212
  ];
187
213
  export type ValuesNodeTypes = 'Default' | NullNode | BindNode | TextNode | JSONNode | NumberNode | IntegerNode | RealNode | BooleanNode;
188
214
  export type AliasNode<T> = ['Alias', T, string];
189
- export type AnyTypeNodes = NullNode | DateNode | BooleanTypeNodes | NumberTypeNodes | TextTypeNodes | UnknownTypeNodes | DurationNode | SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode | UpsertQueryNode | SelectNode | ValuesNode | InnerJoinNode | LeftJoinNode | RightJoinNode | FullJoinNode | CrossJoinNode | GroupByNode | HavingNode | UnknownNode;
215
+ export type AnyTypeNodes = NullNode | DateTypeNodes | BooleanTypeNodes | NumberTypeNodes | TextTypeNodes | UnknownTypeNodes | DurationNode | SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode | UpsertQueryNode | SelectNode | ValuesNode | InnerJoinNode | LeftJoinNode | RightJoinNode | FullJoinNode | CrossJoinNode | GroupByNode | HavingNode;
190
216
  export type AbstractSqlType = string | AnyTypeNodes;
191
217
  export type UnknownNode = AbstractSqlQuery;
192
218
  export interface AbstractSqlQuery extends Array<AbstractSqlType> {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSQLCompiler.js","sourceRoot":"","sources":["../src/AbstractSQLCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSQLCompiler.js","sourceRoot":"","sources":["../src/AbstractSQLCompiler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/abstract-sql-compiler",
3
- "version": "8.3.0",
3
+ "version": "8.3.1",
4
4
  "description": "A translator for abstract sql into sql.",
5
5
  "main": "out/AbstractSQLCompiler.js",
6
6
  "types": "out/AbstractSQLCompiler.d.ts",
@@ -59,6 +59,6 @@
59
59
  ]
60
60
  },
61
61
  "versionist": {
62
- "publishedAt": "2023-04-11T14:35:05.736Z"
62
+ "publishedAt": "2023-04-12T12:51:21.900Z"
63
63
  }
64
64
  }
@@ -65,6 +65,7 @@ export type LessThanOrEqualNode = [
65
65
  AbstractSqlType,
66
66
  ];
67
67
  export type BetweenNode = ['Between', AnyTypeNodes, AnyTypeNodes, AnyTypeNodes];
68
+ export type LikeNode = ['Like', AbstractSqlType, AbstractSqlType];
68
69
  export type InNode = [
69
70
  'In',
70
71
  FieldNode | ReferencedFieldNode,
@@ -93,6 +94,7 @@ export type BooleanTypeNodes =
93
94
  | LessThanNode
94
95
  | LessThanOrEqualNode
95
96
  | BetweenNode
97
+ | LikeNode
96
98
  | InNode
97
99
  | NotInNode
98
100
  | ExistsNode
@@ -105,6 +107,20 @@ export type BooleanTypeNodes =
105
107
  export type IntegerNode = ['Integer', number];
106
108
  export type RealNode = ['Real', number];
107
109
  export type NumberNode = ['Number', number];
110
+ export type AddNode = ['Add', NumberTypeNodes, NumberTypeNodes];
111
+ export type SubtractNode = ['Subtract', NumberTypeNodes, NumberTypeNodes];
112
+ export type MultiplyNode = ['Multiply', NumberTypeNodes, NumberTypeNodes];
113
+ export type DivideNode = ['Divide', NumberTypeNodes, NumberTypeNodes];
114
+ export type StrPosNode = ['StrPos', TextTypeNodes, TextTypeNodes];
115
+ export type YearNode = ['Year', DateTypeNodes];
116
+ export type MonthNode = ['Month', DateTypeNodes];
117
+ export type DayNode = ['Day', DateTypeNodes];
118
+ export type HourNode = ['Hour', DateTypeNodes];
119
+ export type MinuteNode = ['Minute', DateTypeNodes];
120
+ export type SecondNode = ['Second', DateTypeNodes];
121
+ export type RoundNode = ['Round', NumberTypeNodes];
122
+ export type FloorNode = ['Floor', NumberTypeNodes];
123
+ export type CeilingNode = ['Ceiling', NumberTypeNodes];
108
124
  export type CountNode = ['Count', '*'];
109
125
  export type AverageNode = ['Average', NumberTypeNodes];
110
126
  export type SumNode = ['Sum', NumberTypeNodes];
@@ -119,6 +135,20 @@ export type NumberTypeNodes =
119
135
  | NumberNode
120
136
  | IntegerNode
121
137
  | RealNode
138
+ | AddNode
139
+ | SubtractNode
140
+ | MultiplyNode
141
+ | DivideNode
142
+ | StrPosNode
143
+ | YearNode
144
+ | MonthNode
145
+ | DayNode
146
+ | HourNode
147
+ | MinuteNode
148
+ | SecondNode
149
+ | RoundNode
150
+ | FloorNode
151
+ | CeilingNode
122
152
  | CountNode
123
153
  | AverageNode
124
154
  | SumNode
@@ -131,8 +161,16 @@ export type NumberTypeNodes =
131
161
  export type FieldNode = ['Field', string];
132
162
  export type ReferencedFieldNode = ['ReferencedField', string, string];
133
163
  export type DateTruncNode = ['DateTrunc', TextTypeNodes, DateTypeNodes];
164
+ export type ToDateNode = ['ToDate', DateTypeNodes];
165
+ export type ToTimeNode = ['ToTime', DateTypeNodes];
166
+ export type CurrentTimestampNode = ['CurrentTimestamp'];
167
+ export type CurrentDateNode = ['CurrentDate'];
134
168
  export type DateTypeNodes =
135
169
  | DateNode
170
+ | ToDateNode
171
+ | ToTimeNode
172
+ | CurrentTimestampNode
173
+ | CurrentDateNode
136
174
  | DateTruncNode
137
175
  | SubtractDateNumberNode
138
176
  | SubtractDateDurationNode
@@ -173,6 +211,12 @@ export type AddDateDurationNode = [
173
211
  DurationNode,
174
212
  ];
175
213
 
214
+ export type WhenNode = ['When', BooleanTypeNodes, AnyTypeNodes];
215
+ export type ElseNode = ['Else', AnyTypeNodes];
216
+ export type CaseNode =
217
+ | ['Case', ...WhenNode[]]
218
+ | ['Case', ...WhenNode[], ElseNode];
219
+
176
220
  export type BindNode = ['Bind', number | string] | ['Bind', string, string];
177
221
  export type CastNode = ['Cast', AbstractSqlType, string];
178
222
  export type CoalesceNode = [
@@ -188,6 +232,7 @@ export type UnknownTypeNodes =
188
232
  | ReferencedFieldNode
189
233
  | BindNode
190
234
  | CastNode
235
+ | CaseNode
191
236
  | CoalesceNode
192
237
  | ToJSONNode
193
238
  | AnyNode
@@ -201,7 +246,11 @@ export type ConcatenateWithSeparatorNode = [
201
246
  TextTypeNodes,
202
247
  ...TextTypeNodes[],
203
248
  ];
204
- export type LikeNode = ['Like', AbstractSqlType, AbstractSqlType];
249
+ export type LowerNode = ['Lower', TextTypeNodes];
250
+ export type UpperNode = ['Upper', TextTypeNodes];
251
+ export type TrimNode = ['Trim', TextTypeNodes];
252
+ export type SubstringNode = ['Substring', TextTypeNodes];
253
+ export type RightNode = ['Right', TextTypeNodes];
205
254
  export type ReplaceNode = [
206
255
  'Replace',
207
256
  TextTypeNodes,
@@ -216,9 +265,14 @@ export type ExtractJSONPathAsTextNode = [
216
265
  export type TextArrayTypeNodes = TextArrayNode | UnknownNode;
217
266
  export type TextArrayNode = ['TextArray', ...TextNode[]];
218
267
  export type TextTypeNodes =
268
+ | TextNode
219
269
  | ConcatenateNode
220
270
  | ConcatenateWithSeparatorNode
221
- | LikeNode
271
+ | LowerNode
272
+ | UpperNode
273
+ | TrimNode
274
+ | SubstringNode
275
+ | RightNode
222
276
  | ReplaceNode
223
277
  | ExtractJSONPathAsTextNode
224
278
  | UnknownTypeNodes;
@@ -311,7 +365,7 @@ export type AliasNode<T> = ['Alias', T, string];
311
365
 
312
366
  export type AnyTypeNodes =
313
367
  | NullNode
314
- | DateNode
368
+ | DateTypeNodes
315
369
  | BooleanTypeNodes
316
370
  | NumberTypeNodes
317
371
  | TextTypeNodes
@@ -330,8 +384,7 @@ export type AnyTypeNodes =
330
384
  | FullJoinNode
331
385
  | CrossJoinNode
332
386
  | GroupByNode
333
- | HavingNode
334
- | UnknownNode;
387
+ | HavingNode;
335
388
 
336
389
  export type AbstractSqlType = string | AnyTypeNodes;
337
390
 
@@ -694,9 +747,7 @@ $$;`);
694
747
  }
695
748
  let definitionAbstractSql = definition.abstractSql;
696
749
  // If there are any resource nodes then it's a dynamic definition and cannot become a view
697
- if (
698
- containsNode(definitionAbstractSql as AbstractSqlType[], isResourceNode)
699
- ) {
750
+ if (containsNode(definitionAbstractSql, isResourceNode)) {
700
751
  return;
701
752
  }
702
753
  if (isTableNode(definitionAbstractSql)) {