@uwdata/mosaic-sql 0.18.0 → 0.19.0
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/src/ast/list.d.ts +15 -0
- package/dist/src/ast/list.d.ts.map +1 -0
- package/dist/src/ast/list.js +21 -0
- package/dist/src/ast/list.js.map +1 -0
- package/dist/src/ast/query.d.ts +41 -1
- package/dist/src/ast/query.d.ts.map +1 -1
- package/dist/src/ast/query.js +57 -1
- package/dist/src/ast/query.js.map +1 -1
- package/dist/src/ast/unnest.d.ts +19 -0
- package/dist/src/ast/unnest.d.ts.map +1 -0
- package/dist/src/ast/unnest.js +29 -0
- package/dist/src/ast/unnest.js.map +1 -0
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +2 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/functions/list.d.ts +31 -0
- package/dist/src/functions/list.d.ts.map +1 -0
- package/dist/src/functions/list.js +49 -0
- package/dist/src/functions/list.js.map +1 -0
- package/dist/src/functions/unnest.d.ts +10 -0
- package/dist/src/functions/unnest.d.ts.map +1 -0
- package/dist/src/functions/unnest.js +12 -0
- package/dist/src/functions/unnest.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/visit/recurse.d.ts.map +1 -1
- package/dist/src/visit/recurse.js +2 -1
- package/dist/src/visit/recurse.js.map +1 -1
- package/package.json +2 -2
- package/src/ast/list.ts +23 -0
- package/src/ast/query.ts +66 -2
- package/src/ast/unnest.ts +31 -0
- package/src/constants.ts +2 -0
- package/src/functions/list.ts +63 -0
- package/src/functions/unnest.ts +13 -0
- package/src/index.ts +4 -0
- package/src/visit/recurse.ts +2 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ExprNode } from './node.js';
|
|
2
|
+
export declare class ListNode extends ExprNode {
|
|
3
|
+
/** The array of values. */
|
|
4
|
+
readonly values: ExprNode[];
|
|
5
|
+
/**
|
|
6
|
+
* Instantiate a list node.
|
|
7
|
+
* @param values
|
|
8
|
+
*/
|
|
9
|
+
constructor(values: ExprNode[]);
|
|
10
|
+
/**
|
|
11
|
+
* Generate a SQL query string for this node.
|
|
12
|
+
*/
|
|
13
|
+
toString(): string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/ast/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,QAAS,SAAQ,QAAQ;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE5B;;;OAGG;gBACS,MAAM,EAAE,QAAQ,EAAE;IAK9B;;OAEG;IACH,QAAQ;CAGT"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LIST } from '../constants.js';
|
|
2
|
+
import { ExprNode } from './node.js';
|
|
3
|
+
export class ListNode extends ExprNode {
|
|
4
|
+
/** The array of values. */
|
|
5
|
+
values;
|
|
6
|
+
/**
|
|
7
|
+
* Instantiate a list node.
|
|
8
|
+
* @param values
|
|
9
|
+
*/
|
|
10
|
+
constructor(values) {
|
|
11
|
+
super(LIST);
|
|
12
|
+
this.values = values;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generate a SQL query string for this node.
|
|
16
|
+
*/
|
|
17
|
+
toString() {
|
|
18
|
+
return `[${this.values.join(', ')}]`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/ast/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,QAAS,SAAQ,QAAQ;IACpC,2BAA2B;IAClB,MAAM,CAAa;IAE5B;;;OAGG;IACH,YAAY,MAAkB;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvC,CAAC;CACF"}
|
package/dist/src/ast/query.d.ts
CHANGED
|
@@ -42,21 +42,41 @@ export declare class Query extends ExprNode {
|
|
|
42
42
|
* @param queries The queries.
|
|
43
43
|
*/
|
|
44
44
|
static union(...queries: MaybeArray<Query>[]): SetOperation;
|
|
45
|
+
/**
|
|
46
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
47
|
+
* @param queries The queries.
|
|
48
|
+
*/
|
|
49
|
+
static unionByName(...queries: MaybeArray<Query>[]): SetOperation;
|
|
45
50
|
/**
|
|
46
51
|
* Create a new UNION ALL set operation over the given queries.
|
|
47
52
|
* @param queries The queries.
|
|
48
53
|
*/
|
|
49
54
|
static unionAll(...queries: MaybeArray<Query>[]): SetOperation;
|
|
55
|
+
/**
|
|
56
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
57
|
+
* @param queries The queries.
|
|
58
|
+
*/
|
|
59
|
+
static unionAllByName(...queries: MaybeArray<Query>[]): SetOperation;
|
|
50
60
|
/**
|
|
51
61
|
* Create a new INTERSECT set operation over the given queries.
|
|
52
62
|
* @param queries The queries.
|
|
53
63
|
*/
|
|
54
64
|
static intersect(...queries: MaybeArray<Query>[]): SetOperation;
|
|
65
|
+
/**
|
|
66
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
67
|
+
* @param queries The queries.
|
|
68
|
+
*/
|
|
69
|
+
static intersectAll(...queries: MaybeArray<Query>[]): SetOperation;
|
|
55
70
|
/**
|
|
56
71
|
* Create a new EXCEPT set operation over the given queries.
|
|
57
72
|
* @param queries The queries.
|
|
58
73
|
*/
|
|
59
74
|
static except(...queries: MaybeArray<Query>[]): SetOperation;
|
|
75
|
+
/**
|
|
76
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
77
|
+
* @param queries The queries.
|
|
78
|
+
*/
|
|
79
|
+
static exceptAll(...queries: MaybeArray<Query>[]): SetOperation;
|
|
60
80
|
/**
|
|
61
81
|
* Create a new describe query for the given input query.
|
|
62
82
|
* @param query The query to describe.
|
|
@@ -165,7 +185,7 @@ export declare class SelectQuery extends Query {
|
|
|
165
185
|
* @param method The sampling method to use.
|
|
166
186
|
* @param seed The random seed.
|
|
167
187
|
*/
|
|
168
|
-
sample(value
|
|
188
|
+
sample(value?: number | SampleClauseNode | null, method?: SampleMethod, seed?: number): this;
|
|
169
189
|
/**
|
|
170
190
|
* Add WHERE expressions.
|
|
171
191
|
* @param expr Expressions to add.
|
|
@@ -274,21 +294,41 @@ declare class WithClause {
|
|
|
274
294
|
* @param queries The queries.
|
|
275
295
|
*/
|
|
276
296
|
union(...queries: Query[]): SetOperation;
|
|
297
|
+
/**
|
|
298
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
299
|
+
* @param queries The queries.
|
|
300
|
+
*/
|
|
301
|
+
unionByName(...queries: Query[]): SetOperation;
|
|
277
302
|
/**
|
|
278
303
|
* Create a new UNION ALL set operation over the given queries.
|
|
279
304
|
* @param queries The queries.
|
|
280
305
|
*/
|
|
281
306
|
unionAll(...queries: Query[]): SetOperation;
|
|
307
|
+
/**
|
|
308
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
309
|
+
* @param queries The queries.
|
|
310
|
+
*/
|
|
311
|
+
unionAllByName(...queries: Query[]): SetOperation;
|
|
282
312
|
/**
|
|
283
313
|
* Create a new INTERSECT set operation over the given queries.
|
|
284
314
|
* @param queries The queries.
|
|
285
315
|
*/
|
|
286
316
|
intersect(...queries: Query[]): SetOperation;
|
|
317
|
+
/**
|
|
318
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
319
|
+
* @param queries The queries.
|
|
320
|
+
*/
|
|
321
|
+
intersectAll(...queries: Query[]): SetOperation;
|
|
287
322
|
/**
|
|
288
323
|
* Create a new EXCEPT set operation over the given queries.
|
|
289
324
|
* @param queries The queries.
|
|
290
325
|
*/
|
|
291
326
|
except(...queries: Query[]): SetOperation;
|
|
327
|
+
/**
|
|
328
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
329
|
+
* @param queries The queries.
|
|
330
|
+
*/
|
|
331
|
+
exceptAll(...queries: Query[]): SetOperation;
|
|
292
332
|
}
|
|
293
333
|
export {};
|
|
294
334
|
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ast/query.js
CHANGED
|
@@ -61,6 +61,13 @@ export class Query extends ExprNode {
|
|
|
61
61
|
static union(...queries) {
|
|
62
62
|
return new SetOperation('UNION', queries.flat());
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
66
|
+
* @param queries The queries.
|
|
67
|
+
*/
|
|
68
|
+
static unionByName(...queries) {
|
|
69
|
+
return new SetOperation('UNION BY NAME', queries.flat());
|
|
70
|
+
}
|
|
64
71
|
/**
|
|
65
72
|
* Create a new UNION ALL set operation over the given queries.
|
|
66
73
|
* @param queries The queries.
|
|
@@ -68,6 +75,13 @@ export class Query extends ExprNode {
|
|
|
68
75
|
static unionAll(...queries) {
|
|
69
76
|
return new SetOperation('UNION ALL', queries.flat());
|
|
70
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
80
|
+
* @param queries The queries.
|
|
81
|
+
*/
|
|
82
|
+
static unionAllByName(...queries) {
|
|
83
|
+
return new SetOperation('UNION ALL BY NAME', queries.flat());
|
|
84
|
+
}
|
|
71
85
|
/**
|
|
72
86
|
* Create a new INTERSECT set operation over the given queries.
|
|
73
87
|
* @param queries The queries.
|
|
@@ -75,6 +89,13 @@ export class Query extends ExprNode {
|
|
|
75
89
|
static intersect(...queries) {
|
|
76
90
|
return new SetOperation('INTERSECT', queries.flat());
|
|
77
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
94
|
+
* @param queries The queries.
|
|
95
|
+
*/
|
|
96
|
+
static intersectAll(...queries) {
|
|
97
|
+
return new SetOperation('INTERSECT ALL', queries.flat());
|
|
98
|
+
}
|
|
78
99
|
/**
|
|
79
100
|
* Create a new EXCEPT set operation over the given queries.
|
|
80
101
|
* @param queries The queries.
|
|
@@ -82,6 +103,13 @@ export class Query extends ExprNode {
|
|
|
82
103
|
static except(...queries) {
|
|
83
104
|
return new SetOperation('EXCEPT', queries.flat());
|
|
84
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
108
|
+
* @param queries The queries.
|
|
109
|
+
*/
|
|
110
|
+
static exceptAll(...queries) {
|
|
111
|
+
return new SetOperation('EXCEPT ALL', queries.flat());
|
|
112
|
+
}
|
|
85
113
|
/**
|
|
86
114
|
* Create a new describe query for the given input query.
|
|
87
115
|
* @param query The query to describe.
|
|
@@ -322,7 +350,7 @@ export class SelectQuery extends Query {
|
|
|
322
350
|
else {
|
|
323
351
|
clause = value;
|
|
324
352
|
}
|
|
325
|
-
this._sample = clause;
|
|
353
|
+
this._sample = clause ?? undefined;
|
|
326
354
|
return this;
|
|
327
355
|
}
|
|
328
356
|
/**
|
|
@@ -559,6 +587,13 @@ class WithClause {
|
|
|
559
587
|
union(...queries) {
|
|
560
588
|
return Query.union(...queries).with(...this._with);
|
|
561
589
|
}
|
|
590
|
+
/**
|
|
591
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
592
|
+
* @param queries The queries.
|
|
593
|
+
*/
|
|
594
|
+
unionByName(...queries) {
|
|
595
|
+
return Query.unionByName(...queries).with(...this._with);
|
|
596
|
+
}
|
|
562
597
|
/**
|
|
563
598
|
* Create a new UNION ALL set operation over the given queries.
|
|
564
599
|
* @param queries The queries.
|
|
@@ -566,6 +601,13 @@ class WithClause {
|
|
|
566
601
|
unionAll(...queries) {
|
|
567
602
|
return Query.unionAll(...queries).with(...this._with);
|
|
568
603
|
}
|
|
604
|
+
/**
|
|
605
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
606
|
+
* @param queries The queries.
|
|
607
|
+
*/
|
|
608
|
+
unionAllByName(...queries) {
|
|
609
|
+
return Query.unionAllByName(...queries).with(...this._with);
|
|
610
|
+
}
|
|
569
611
|
/**
|
|
570
612
|
* Create a new INTERSECT set operation over the given queries.
|
|
571
613
|
* @param queries The queries.
|
|
@@ -573,6 +615,13 @@ class WithClause {
|
|
|
573
615
|
intersect(...queries) {
|
|
574
616
|
return Query.intersect(...queries).with(...this._with);
|
|
575
617
|
}
|
|
618
|
+
/**
|
|
619
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
620
|
+
* @param queries The queries.
|
|
621
|
+
*/
|
|
622
|
+
intersectAll(...queries) {
|
|
623
|
+
return Query.intersectAll(...queries).with(...this._with);
|
|
624
|
+
}
|
|
576
625
|
/**
|
|
577
626
|
* Create a new EXCEPT set operation over the given queries.
|
|
578
627
|
* @param queries The queries.
|
|
@@ -580,5 +629,12 @@ class WithClause {
|
|
|
580
629
|
except(...queries) {
|
|
581
630
|
return Query.except(...queries).with(...this._with);
|
|
582
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
634
|
+
* @param queries The queries.
|
|
635
|
+
*/
|
|
636
|
+
exceptAll(...queries) {
|
|
637
|
+
return Query.exceptAll(...queries).with(...this._with);
|
|
638
|
+
}
|
|
583
639
|
}
|
|
584
640
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/ast/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,aAAa,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,KAAM,SAAQ,QAAQ;IACjC;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAgB;QAC7B,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,IAAkB;QACjC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAgB;QAC7B,OAAO,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,OAA4B;QAC1C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,OAA4B;QAChD,OAAO,IAAI,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,OAA4B;QAC7C,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,OAA4B;QACnD,OAAO,IAAI,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,OAA4B;QAC9C,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,OAA4B;QACjD,OAAO,IAAI,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,OAA4B;QAC3C,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,OAA4B;QAC9C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAY;QAC1B,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,GAAqB,EAAE,CAAC;IAC7B,QAAQ,GAAe,EAAE,CAAC;IAC1B,UAAU,GAAY,KAAK,CAAC;IAC5B,MAAM,CAAY;IAClB,OAAO,CAAY;IACnB,MAAM,GAAkB,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAgB;QACtB,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,CAAQ,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,YAAY,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACzC,IAAI,CAAC,IAAI,IAAI;gBAAE,KAAK,MAAM,IAAI,IAAI,CAAC;oBAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG,IAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAwB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAwB;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,OAAO,GAAuB,EAAE,CAAC;IACjC,KAAK,GAAqB,EAAE,CAAC;IAC7B,MAAM,GAAe,EAAE,CAAC;IACxB,OAAO,CAAoB;IAC3B,QAAQ,GAAe,EAAE,CAAC;IAC1B,OAAO,GAAe,EAAE,CAAC;IACzB,OAAO,GAAuB,EAAE,CAAC;IACjC,QAAQ,GAAe,EAAE,CAAC;IAC1B,SAAS,GAAY,KAAK,CAAC;IAE3B;;OAEG;IACH;QACE,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,kDAAkD;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAClB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EACxC,EAA2B,CAC5B,CAAC;QAEF,oCAAoC;QACpC,8BAA8B;QAC9B,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAkB;QAC1B,MAAM,IAAI,GAAgB,IAAI,GAAG,CAAC;QAClC,MAAM,IAAI,GAAuB,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAU,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO;iBACjB,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3B,IAAI,WAAW,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;iBACrC,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChC,IAAI,MAAM,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;;gBAC9B,KAAK,MAAM,KAAK,IAAI,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAG,IAAkB;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAiB,IAAI;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAgB;QACtB,MAAM,IAAI,GAAqB,EAAE,CAAC;QAElC,MAAM,GAAG,GAAG,CAAC,CAA8B,EAAE,EAAW,EAAE,EAAE;YAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO;iBACjB,IAAI,CAAC,YAAY,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBAClC,IAAI,MAAM,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC;iBACtB,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;gBAChC,KAAK,MAAM,KAAK,IAAI,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG,IAAgB;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,KAAwC,EACxC,MAAqB,EACrB,IAAa;QAEb,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,IAAkB;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,IAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG,IAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,GAAG,IAAmB;QAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAkB;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,IAA8C;QACtD,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,IAAI;gBAAE,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG,IAAkB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,EACJ,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAC3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAClE,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,OAAO;QACP,IAAI,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvD,SAAS;QACT,GAAG,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO;QACP,IAAI,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvD,QAAQ;QACR,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,SAAS;QACT,IAAI,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAEjD,WAAW;QACX,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,SAAS;QACT,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,SAAS;QACT,IAAI,OAAO,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7D,UAAU;QACV,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,WAAW;QACX,IAAI,QAAQ,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjE,QAAQ;QACR,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhE,SAAS;QACT,IAAI,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAE3C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC/B,KAAK,CAAQ;IAEtB;;;OAGG;IACH,YAAY,KAAY;QACtB,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,0CAA0C;QAC1C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,oCAAoC;IAC3B,EAAE,CAAS;IACpB,8CAA8C;IACrC,OAAO,CAAU;IAE1B;;;;OAIG;IACH,YAAY,EAAU,EAAE,OAAgB;QACtC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,MAAM;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QACtC,yCAAyC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC3E,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,OAAO;QACP,IAAI,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvD,aAAa;QACb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAElC,WAAW;QACX,IAAI,QAAQ,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjE,QAAQ;QACR,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhE,SAAS;QACT,IAAI,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAE3C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAED,MAAM,UAAU;IACd,0CAA0C;IACjC,KAAK,CAAa;IAE3B;;;OAGG;IACH,YAAY,GAAG,IAAgB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAkB;QAC1B,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAgB;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,OAAgB;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,GAAG,OAAgB;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,OAAgB;QAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,GAAG,OAAgB;QAChC,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAG,OAAgB;QAC3B,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,GAAG,OAAgB;QAC9B,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,OAAgB;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAG,OAAgB;QAC3B,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExprNode } from './node.js';
|
|
2
|
+
export declare class UnnestNode extends ExprNode {
|
|
3
|
+
/** An expression that resolves to a list or a struct */
|
|
4
|
+
readonly expr: ExprNode;
|
|
5
|
+
readonly recursive: boolean;
|
|
6
|
+
readonly maxDepth: number;
|
|
7
|
+
/**
|
|
8
|
+
* Instantiate an Unnest node.
|
|
9
|
+
* @param expr
|
|
10
|
+
* @param recursive
|
|
11
|
+
* @param maxDepth
|
|
12
|
+
*/
|
|
13
|
+
constructor(expr: ExprNode, recursive?: boolean, maxDepth?: number);
|
|
14
|
+
/**
|
|
15
|
+
* Generate a SQL query string for this node.
|
|
16
|
+
*/
|
|
17
|
+
toString(): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=unnest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnest.d.ts","sourceRoot":"","sources":["../../../src/ast/unnest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,qBAAa,UAAW,SAAQ,QAAQ;IACtC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;gBACS,IAAI,EAAE,QAAQ,EAAE,SAAS,UAAQ,EAAE,QAAQ,SAAI;IAO3D;;OAEG;IACH,QAAQ;CAKT"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UNNEST } from '../constants.js';
|
|
2
|
+
import { ExprNode } from './node.js';
|
|
3
|
+
export class UnnestNode extends ExprNode {
|
|
4
|
+
/** An expression that resolves to a list or a struct */
|
|
5
|
+
expr;
|
|
6
|
+
recursive;
|
|
7
|
+
maxDepth;
|
|
8
|
+
/**
|
|
9
|
+
* Instantiate an Unnest node.
|
|
10
|
+
* @param expr
|
|
11
|
+
* @param recursive
|
|
12
|
+
* @param maxDepth
|
|
13
|
+
*/
|
|
14
|
+
constructor(expr, recursive = false, maxDepth = 0) {
|
|
15
|
+
super(UNNEST);
|
|
16
|
+
this.expr = expr;
|
|
17
|
+
this.recursive = recursive;
|
|
18
|
+
this.maxDepth = maxDepth;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Generate a SQL query string for this node.
|
|
22
|
+
*/
|
|
23
|
+
toString() {
|
|
24
|
+
const recursive = this.recursive ? ', recursive := true' : '';
|
|
25
|
+
const maxDepth = this.maxDepth > 0 ? `, max_depth := ${this.maxDepth}` : '';
|
|
26
|
+
return `UNNEST(${this.expr}${recursive}${maxDepth})`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=unnest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnest.js","sourceRoot":"","sources":["../../../src/ast/unnest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,wDAAwD;IAC/C,IAAI,CAAW;IACf,SAAS,CAAU;IACnB,QAAQ,CAAS;IAE1B;;;;;OAKG;IACH,YAAY,IAAc,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,GAAG,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,UAAU,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,CAAC;IACvD,CAAC;CACF"}
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export declare const COLUMN_PARAM = "COLUMN_PARAM";
|
|
|
3
3
|
export declare const TABLE_REF = "TABLE_REF";
|
|
4
4
|
export declare const LITERAL = "LITERAL";
|
|
5
5
|
export declare const INTERVAL = "INTERVAL";
|
|
6
|
+
export declare const LIST = "LIST";
|
|
7
|
+
export declare const UNNEST = "UNNEST";
|
|
6
8
|
export declare const ORDER_BY = "ORDER_BY";
|
|
7
9
|
export declare const CAST = "CAST";
|
|
8
10
|
export declare const CASE = "CASE";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,QAAQ,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAClD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
|
package/dist/src/constants.js
CHANGED
|
@@ -3,6 +3,8 @@ export const COLUMN_PARAM = 'COLUMN_PARAM';
|
|
|
3
3
|
export const TABLE_REF = 'TABLE_REF';
|
|
4
4
|
export const LITERAL = 'LITERAL';
|
|
5
5
|
export const INTERVAL = 'INTERVAL';
|
|
6
|
+
export const LIST = 'LIST';
|
|
7
|
+
export const UNNEST = 'UNNEST';
|
|
6
8
|
export const ORDER_BY = 'ORDER_BY';
|
|
7
9
|
export const CAST = 'CAST';
|
|
8
10
|
export const CASE = 'CASE';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ExprValue } from "../types.js";
|
|
2
|
+
import { ListNode } from "../ast/list.js";
|
|
3
|
+
/**
|
|
4
|
+
* Create a List containing the argument values.
|
|
5
|
+
* @param values
|
|
6
|
+
*/
|
|
7
|
+
export declare function list(values: ExprValue[]): ListNode;
|
|
8
|
+
/**
|
|
9
|
+
* Function that returns true if the list contains the element,
|
|
10
|
+
* false otherwise. If the first argument is a string, it is
|
|
11
|
+
* interpreted as a column reference, otherwise it is coerced
|
|
12
|
+
* to a list.
|
|
13
|
+
* @param list1
|
|
14
|
+
* @param element
|
|
15
|
+
*/
|
|
16
|
+
export declare function listContains(list1: ExprValue | ExprValue[], element: ExprValue): import("../index.js").FunctionNode;
|
|
17
|
+
/**
|
|
18
|
+
* Function that returns true if all elements of list2 exist in list1,
|
|
19
|
+
* false otherwise.
|
|
20
|
+
* @param list1
|
|
21
|
+
* @param list2
|
|
22
|
+
*/
|
|
23
|
+
export declare function listHasAll(list1: ExprValue | ExprValue[], list2: ExprValue | ExprValue[]): import("../index.js").FunctionNode;
|
|
24
|
+
/**
|
|
25
|
+
* Function that returns true if any elements exist in both lists,
|
|
26
|
+
* false otherwise.
|
|
27
|
+
* @param list1
|
|
28
|
+
* @param list2
|
|
29
|
+
*/
|
|
30
|
+
export declare function listHasAny(list1: ExprValue | ExprValue[], list2: ExprValue | ExprValue[]): import("../index.js").FunctionNode;
|
|
31
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/functions/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,YAEvC;AAYD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,EAC9B,OAAO,EAAE,SAAS,sCAGnB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,EAC9B,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,sCAG/B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,EAC9B,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,sCAG/B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { asLiteral, asNode } from "../util/ast.js";
|
|
2
|
+
import { argsList, fn } from "../util/function.js";
|
|
3
|
+
import { ListNode } from "../ast/list.js";
|
|
4
|
+
/**
|
|
5
|
+
* Create a List containing the argument values.
|
|
6
|
+
* @param values
|
|
7
|
+
*/
|
|
8
|
+
export function list(values) {
|
|
9
|
+
return new ListNode(argsList(values).map(asLiteral));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Convert a single value or an array of values to either a ListNode if the input
|
|
13
|
+
* is an array, or a single ExprNode if it is a single value. A single string will
|
|
14
|
+
* be interpreted as a column reference.
|
|
15
|
+
* @param values
|
|
16
|
+
*/
|
|
17
|
+
function asList(values) {
|
|
18
|
+
return Array.isArray(values) ? list(values) : asNode(values);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Function that returns true if the list contains the element,
|
|
22
|
+
* false otherwise. If the first argument is a string, it is
|
|
23
|
+
* interpreted as a column reference, otherwise it is coerced
|
|
24
|
+
* to a list.
|
|
25
|
+
* @param list1
|
|
26
|
+
* @param element
|
|
27
|
+
*/
|
|
28
|
+
export function listContains(list1, element) {
|
|
29
|
+
return fn("list_contains", asList(list1), asLiteral(element));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Function that returns true if all elements of list2 exist in list1,
|
|
33
|
+
* false otherwise.
|
|
34
|
+
* @param list1
|
|
35
|
+
* @param list2
|
|
36
|
+
*/
|
|
37
|
+
export function listHasAll(list1, list2) {
|
|
38
|
+
return fn("list_has_all", asList(list1), asList(list2));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Function that returns true if any elements exist in both lists,
|
|
42
|
+
* false otherwise.
|
|
43
|
+
* @param list1
|
|
44
|
+
* @param list2
|
|
45
|
+
*/
|
|
46
|
+
export function listHasAny(list1, list2) {
|
|
47
|
+
return fn("list_has_any", asList(list1), asList(list2));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/functions/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,MAAmB;IACtC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,MAA+B;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA8B,EAC9B,OAAkB;IAElB,OAAO,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,KAA8B,EAC9B,KAA8B;IAE9B,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,KAA8B,EAC9B,KAA8B;IAE9B,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExprValue } from "../types.js";
|
|
2
|
+
import { UnnestNode } from "../ast/unnest.js";
|
|
3
|
+
/**
|
|
4
|
+
* Create an Unnest Node to flatten nested structures, either structs or lists.
|
|
5
|
+
* @param value
|
|
6
|
+
* @param recursive
|
|
7
|
+
* @param maxDepth
|
|
8
|
+
*/
|
|
9
|
+
export declare function unnest(value: ExprValue, recursive?: boolean, maxDepth?: number): UnnestNode;
|
|
10
|
+
//# sourceMappingURL=unnest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnest.d.ts","sourceRoot":"","sources":["../../../src/functions/unnest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,UAAQ,EAAE,QAAQ,SAAI,cAEvE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { asNode } from "../util/ast.js";
|
|
2
|
+
import { UnnestNode } from "../ast/unnest.js";
|
|
3
|
+
/**
|
|
4
|
+
* Create an Unnest Node to flatten nested structures, either structs or lists.
|
|
5
|
+
* @param value
|
|
6
|
+
* @param recursive
|
|
7
|
+
* @param maxDepth
|
|
8
|
+
*/
|
|
9
|
+
export function unnest(value, recursive = false, maxDepth = 0) {
|
|
10
|
+
return new UnnestNode(asNode(value), recursive, maxDepth);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=unnest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnest.js","sourceRoot":"","sources":["../../../src/functions/unnest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,KAAgB,EAAE,SAAS,GAAG,KAAK,EAAE,QAAQ,GAAG,CAAC;IACtE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { FromClauseNode } from './ast/from.js';
|
|
|
11
11
|
export { FunctionNode } from './ast/function.js';
|
|
12
12
|
export { InOpNode } from './ast/in-op.js';
|
|
13
13
|
export { IntervalNode } from './ast/interval.js';
|
|
14
|
+
export { ListNode } from './ast/list.js';
|
|
14
15
|
export { LiteralNode } from './ast/literal.js';
|
|
15
16
|
export { AndNode, OrNode } from './ast/logical-op.js';
|
|
16
17
|
export { SQLNode, ExprNode, isNode } from './ast/node.js';
|
|
@@ -22,6 +23,7 @@ export { ScalarSubqueryNode } from './ast/subquery.js';
|
|
|
22
23
|
export { SelectClauseNode } from './ast/select.js';
|
|
23
24
|
export { TableRefNode, isTableRef } from './ast/table-ref.js';
|
|
24
25
|
export { UnaryOpNode, UnaryPostfixOpNode } from './ast/unary-op.js';
|
|
26
|
+
export { UnnestNode } from './ast/unnest.js';
|
|
25
27
|
export { VerbatimNode } from './ast/verbatim.js';
|
|
26
28
|
export { WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowNode } from './ast/window.js';
|
|
27
29
|
export { WindowFrameNode, WindowFrameExprNode, type FrameExclude, type FrameExtent, type FrameScope, type FrameType, type FrameValue } from './ast/window-frame.js';
|
|
@@ -34,6 +36,7 @@ export { column } from './functions/column.js';
|
|
|
34
36
|
export { cte } from './functions/cte.js';
|
|
35
37
|
export { dateBin, dateMonth, dateMonthDay, dateDay, epoch_ms } from './functions/datetime.js';
|
|
36
38
|
export { days, hours, interval, microseconds, minutes, milliseconds, months, seconds, years } from './functions/interval.js';
|
|
39
|
+
export { list, listContains, listHasAll, listHasAny } from './functions/list.js';
|
|
37
40
|
export { literal, verbatim } from './functions/literal.js';
|
|
38
41
|
export { abs, ceil, exp, floor, greatest, isFinite, isInfinite, isNaN, least, ln, log, round, sign, sqrt, trunc } from './functions/numeric.js';
|
|
39
42
|
export { and, or, not, isNull, isNotNull, bitNot, bitAnd, bitOr, bitLeft, bitRight, add, sub, mul, div, idiv, mod, pow, eq, neq, lt, gt, lte, gte, isDistinct, isNotDistinct, isBetween, isNotBetween, isIn } from './functions/operators.js';
|
|
@@ -41,6 +44,7 @@ export { asc, desc } from './functions/order-by.js';
|
|
|
41
44
|
export { geojson, x, y, centroid, centroidX, centroidY } from './functions/spatial.js';
|
|
42
45
|
export { sql } from './functions/sql-template-tag.js';
|
|
43
46
|
export { regexp_matches, contains, prefix, suffix, lower, upper, length } from './functions/string.js';
|
|
47
|
+
export { unnest } from './functions/unnest.js';
|
|
44
48
|
export { coalesce } from './functions/util.js';
|
|
45
49
|
export { cume_dist, dense_rank, first_value, lag, last_value, lead, nth_value, ntile, percent_rank, rank, row_number } from './functions/window.js';
|
|
46
50
|
export { currentRow, following, frameGroups, frameRange, frameRows, preceding } from './functions/window-frame.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { FromClauseNode } from './ast/from.js';
|
|
|
11
11
|
export { FunctionNode } from './ast/function.js';
|
|
12
12
|
export { InOpNode } from './ast/in-op.js';
|
|
13
13
|
export { IntervalNode } from './ast/interval.js';
|
|
14
|
+
export { ListNode } from './ast/list.js';
|
|
14
15
|
export { LiteralNode } from './ast/literal.js';
|
|
15
16
|
export { AndNode, OrNode } from './ast/logical-op.js';
|
|
16
17
|
export { SQLNode, ExprNode, isNode } from './ast/node.js';
|
|
@@ -22,6 +23,7 @@ export { ScalarSubqueryNode } from './ast/subquery.js';
|
|
|
22
23
|
export { SelectClauseNode } from './ast/select.js';
|
|
23
24
|
export { TableRefNode, isTableRef } from './ast/table-ref.js';
|
|
24
25
|
export { UnaryOpNode, UnaryPostfixOpNode } from './ast/unary-op.js';
|
|
26
|
+
export { UnnestNode } from './ast/unnest.js';
|
|
25
27
|
export { VerbatimNode } from './ast/verbatim.js';
|
|
26
28
|
export { WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowNode } from './ast/window.js';
|
|
27
29
|
export { WindowFrameNode, WindowFrameExprNode } from './ast/window-frame.js';
|
|
@@ -34,6 +36,7 @@ export { column } from './functions/column.js';
|
|
|
34
36
|
export { cte } from './functions/cte.js';
|
|
35
37
|
export { dateBin, dateMonth, dateMonthDay, dateDay, epoch_ms } from './functions/datetime.js';
|
|
36
38
|
export { days, hours, interval, microseconds, minutes, milliseconds, months, seconds, years } from './functions/interval.js';
|
|
39
|
+
export { list, listContains, listHasAll, listHasAny } from './functions/list.js';
|
|
37
40
|
export { literal, verbatim } from './functions/literal.js';
|
|
38
41
|
export { abs, ceil, exp, floor, greatest, isFinite, isInfinite, isNaN, least, ln, log, round, sign, sqrt, trunc } from './functions/numeric.js';
|
|
39
42
|
export { and, or, not, isNull, isNotNull, bitNot, bitAnd, bitOr, bitLeft, bitRight, add, sub, mul, div, idiv, mod, pow, eq, neq, lt, gt, lte, gte, isDistinct, isNotDistinct, isBetween, isNotBetween, isIn } from './functions/operators.js';
|
|
@@ -41,6 +44,7 @@ export { asc, desc } from './functions/order-by.js';
|
|
|
41
44
|
export { geojson, x, y, centroid, centroidX, centroidY } from './functions/spatial.js';
|
|
42
45
|
export { sql } from './functions/sql-template-tag.js';
|
|
43
46
|
export { regexp_matches, contains, prefix, suffix, lower, upper, length } from './functions/string.js';
|
|
47
|
+
export { unnest } from './functions/unnest.js';
|
|
44
48
|
export { coalesce } from './functions/util.js';
|
|
45
49
|
export { cume_dist, dense_rank, first_value, lag, last_value, lead, nth_value, ntile, percent_rank, rank, row_number } from './functions/window.js';
|
|
46
50
|
export { currentRow, following, frameGroups, frameRange, frameRows, preceding } from './functions/window-frame.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1H,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAyF,MAAM,uBAAuB,CAAC;AACpK,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAChW,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7H,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAChJ,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC9O,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpJ,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEnH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,IAAI,EAA4C,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAwF,MAAM,wBAAwB,CAAC;AAE9I,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAmB,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAiB,MAAM,oCAAoC,CAAC;AAEjF,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurse.d.ts","sourceRoot":"","sources":["../../../src/visit/recurse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recurse.d.ts","sourceRoot":"","sources":["../../../src/visit/recurse.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAkC5C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AGGREGATE, BETWEEN_OPERATOR, BINARY_OPERATOR, CASE, CAST, COLLATE, COLUMN_PARAM, COLUMN_REF, DESCRIBE_QUERY, EXPRESSION, FRAGMENT, FROM_CLAUSE, FUNCTION, IN_OPERATOR, LOGICAL_OPERATOR, NOT_BETWEEN_OPERATOR, ORDER_BY, PARAM, SCALAR_SUBQUERY, SELECT_CLAUSE, SELECT_QUERY, SET_OPERATION, UNARY_OPERATOR, UNARY_POSTFIX_OPERATOR, WHEN, WINDOW, WINDOW_CLAUSE, WINDOW_DEF, WINDOW_EXTENT_EXPR, WINDOW_FRAME, WINDOW_FUNCTION, WITH_CLAUSE } from '../constants.js';
|
|
1
|
+
import { AGGREGATE, BETWEEN_OPERATOR, BINARY_OPERATOR, CASE, CAST, COLLATE, COLUMN_PARAM, COLUMN_REF, DESCRIBE_QUERY, EXPRESSION, FRAGMENT, FROM_CLAUSE, FUNCTION, IN_OPERATOR, LOGICAL_OPERATOR, NOT_BETWEEN_OPERATOR, ORDER_BY, PARAM, SCALAR_SUBQUERY, SELECT_CLAUSE, SELECT_QUERY, SET_OPERATION, UNARY_OPERATOR, UNARY_POSTFIX_OPERATOR, UNNEST, WHEN, WINDOW, WINDOW_CLAUSE, WINDOW_DEF, WINDOW_EXTENT_EXPR, WINDOW_FRAME, WINDOW_FUNCTION, WITH_CLAUSE } from '../constants.js';
|
|
2
2
|
export const recurse = {
|
|
3
3
|
[AGGREGATE]: ['args', 'order', 'filter'],
|
|
4
4
|
[BETWEEN_OPERATOR]: ['expr', 'extent'],
|
|
@@ -24,6 +24,7 @@ export const recurse = {
|
|
|
24
24
|
[SET_OPERATION]: ['queries', '_orderby'],
|
|
25
25
|
[UNARY_OPERATOR]: ['expr'],
|
|
26
26
|
[UNARY_POSTFIX_OPERATOR]: ['expr'],
|
|
27
|
+
[UNNEST]: ['expr'],
|
|
27
28
|
[WHEN]: ['when', 'then'],
|
|
28
29
|
[WINDOW]: ['func', 'def'],
|
|
29
30
|
[WINDOW_CLAUSE]: ['def'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurse.js","sourceRoot":"","sources":["../../../src/visit/recurse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,KAAK,EACL,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IACxC,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACtC,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACpC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IAClC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IAChB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;IACnB,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAClC,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC;IACvB,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC;IAC3B,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC;IACtB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;IACrB,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC;IACvB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;IACpB,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACjC,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC;IAC/B,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1C,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;IACpB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;IAClB,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,CAAC;IAC/B,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;IACzB,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IAC5H,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IACxC,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC;IAC1B,CAAC,sBAAsB,CAAC,EAAE,CAAC,MAAM,CAAC;IAClC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACzB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;IACxB,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC;IAChD,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC;IAC9B,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;IAC1B,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC;IAC3B,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC;CACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"recurse.js","sourceRoot":"","sources":["../../../src/visit/recurse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uwdata/mosaic-sql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "SQL query construction and analysis.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sql",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"test": "vitest run",
|
|
30
30
|
"prepublishOnly": "npm run test && npm run lint && tsc --build"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "0ba4f2d710ca2fa53da7ff02a370e39a32dc2ce4"
|
|
33
33
|
}
|
package/src/ast/list.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LIST } from '../constants.js';
|
|
2
|
+
import { ExprNode } from './node.js';
|
|
3
|
+
|
|
4
|
+
export class ListNode extends ExprNode {
|
|
5
|
+
/** The array of values. */
|
|
6
|
+
readonly values: ExprNode[];
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Instantiate a list node.
|
|
10
|
+
* @param values
|
|
11
|
+
*/
|
|
12
|
+
constructor(values: ExprNode[]) {
|
|
13
|
+
super(LIST);
|
|
14
|
+
this.values = values;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Generate a SQL query string for this node.
|
|
19
|
+
*/
|
|
20
|
+
toString() {
|
|
21
|
+
return `[${this.values.join(', ')}]`;
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/ast/query.ts
CHANGED
|
@@ -71,6 +71,14 @@ export class Query extends ExprNode {
|
|
|
71
71
|
return new SetOperation('UNION', queries.flat());
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
76
|
+
* @param queries The queries.
|
|
77
|
+
*/
|
|
78
|
+
static unionByName(...queries: MaybeArray<Query>[]) {
|
|
79
|
+
return new SetOperation('UNION BY NAME', queries.flat());
|
|
80
|
+
}
|
|
81
|
+
|
|
74
82
|
/**
|
|
75
83
|
* Create a new UNION ALL set operation over the given queries.
|
|
76
84
|
* @param queries The queries.
|
|
@@ -79,6 +87,14 @@ export class Query extends ExprNode {
|
|
|
79
87
|
return new SetOperation('UNION ALL', queries.flat());
|
|
80
88
|
}
|
|
81
89
|
|
|
90
|
+
/**
|
|
91
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
92
|
+
* @param queries The queries.
|
|
93
|
+
*/
|
|
94
|
+
static unionAllByName(...queries: MaybeArray<Query>[]) {
|
|
95
|
+
return new SetOperation('UNION ALL BY NAME', queries.flat());
|
|
96
|
+
}
|
|
97
|
+
|
|
82
98
|
/**
|
|
83
99
|
* Create a new INTERSECT set operation over the given queries.
|
|
84
100
|
* @param queries The queries.
|
|
@@ -87,6 +103,14 @@ export class Query extends ExprNode {
|
|
|
87
103
|
return new SetOperation('INTERSECT', queries.flat());
|
|
88
104
|
}
|
|
89
105
|
|
|
106
|
+
/**
|
|
107
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
108
|
+
* @param queries The queries.
|
|
109
|
+
*/
|
|
110
|
+
static intersectAll(...queries: MaybeArray<Query>[]) {
|
|
111
|
+
return new SetOperation('INTERSECT ALL', queries.flat());
|
|
112
|
+
}
|
|
113
|
+
|
|
90
114
|
/**
|
|
91
115
|
* Create a new EXCEPT set operation over the given queries.
|
|
92
116
|
* @param queries The queries.
|
|
@@ -95,6 +119,14 @@ export class Query extends ExprNode {
|
|
|
95
119
|
return new SetOperation('EXCEPT', queries.flat());
|
|
96
120
|
}
|
|
97
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
124
|
+
* @param queries The queries.
|
|
125
|
+
*/
|
|
126
|
+
static exceptAll(...queries: MaybeArray<Query>[]) {
|
|
127
|
+
return new SetOperation('EXCEPT ALL', queries.flat());
|
|
128
|
+
}
|
|
129
|
+
|
|
98
130
|
/**
|
|
99
131
|
* Create a new describe query for the given input query.
|
|
100
132
|
* @param query The query to describe.
|
|
@@ -334,7 +366,7 @@ export class SelectQuery extends Query {
|
|
|
334
366
|
* @param seed The random seed.
|
|
335
367
|
*/
|
|
336
368
|
sample(
|
|
337
|
-
value
|
|
369
|
+
value?: number | SampleClauseNode | null,
|
|
338
370
|
method?: SampleMethod,
|
|
339
371
|
seed?: number
|
|
340
372
|
): this {
|
|
@@ -346,7 +378,7 @@ export class SelectQuery extends Query {
|
|
|
346
378
|
} else {
|
|
347
379
|
clause = value;
|
|
348
380
|
}
|
|
349
|
-
this._sample = clause;
|
|
381
|
+
this._sample = clause ?? undefined;
|
|
350
382
|
return this;
|
|
351
383
|
}
|
|
352
384
|
|
|
@@ -613,6 +645,14 @@ class WithClause {
|
|
|
613
645
|
return Query.union(...queries).with(...this._with);
|
|
614
646
|
}
|
|
615
647
|
|
|
648
|
+
/**
|
|
649
|
+
* Create a new UNION BY NAME set operation over the given queries.
|
|
650
|
+
* @param queries The queries.
|
|
651
|
+
*/
|
|
652
|
+
unionByName(...queries: Query[]) {
|
|
653
|
+
return Query.unionByName(...queries).with(...this._with);
|
|
654
|
+
}
|
|
655
|
+
|
|
616
656
|
/**
|
|
617
657
|
* Create a new UNION ALL set operation over the given queries.
|
|
618
658
|
* @param queries The queries.
|
|
@@ -621,6 +661,14 @@ class WithClause {
|
|
|
621
661
|
return Query.unionAll(...queries).with(...this._with);
|
|
622
662
|
}
|
|
623
663
|
|
|
664
|
+
/**
|
|
665
|
+
* Create a new UNION ALL BY NAME set operation over the given queries.
|
|
666
|
+
* @param queries The queries.
|
|
667
|
+
*/
|
|
668
|
+
unionAllByName(...queries: Query[]) {
|
|
669
|
+
return Query.unionAllByName(...queries).with(...this._with);
|
|
670
|
+
}
|
|
671
|
+
|
|
624
672
|
/**
|
|
625
673
|
* Create a new INTERSECT set operation over the given queries.
|
|
626
674
|
* @param queries The queries.
|
|
@@ -629,6 +677,14 @@ class WithClause {
|
|
|
629
677
|
return Query.intersect(...queries).with(...this._with);
|
|
630
678
|
}
|
|
631
679
|
|
|
680
|
+
/**
|
|
681
|
+
* Create a new INTERSECT ALL set operation over the given queries.
|
|
682
|
+
* @param queries The queries.
|
|
683
|
+
*/
|
|
684
|
+
intersectAll(...queries: Query[]) {
|
|
685
|
+
return Query.intersectAll(...queries).with(...this._with);
|
|
686
|
+
}
|
|
687
|
+
|
|
632
688
|
/**
|
|
633
689
|
* Create a new EXCEPT set operation over the given queries.
|
|
634
690
|
* @param queries The queries.
|
|
@@ -636,4 +692,12 @@ class WithClause {
|
|
|
636
692
|
except(...queries: Query[]) {
|
|
637
693
|
return Query.except(...queries).with(...this._with);
|
|
638
694
|
}
|
|
695
|
+
|
|
696
|
+
/**
|
|
697
|
+
* Create a new EXCEPT ALL set operation over the given queries.
|
|
698
|
+
* @param queries The queries.
|
|
699
|
+
*/
|
|
700
|
+
exceptAll(...queries: Query[]) {
|
|
701
|
+
return Query.exceptAll(...queries).with(...this._with);
|
|
702
|
+
}
|
|
639
703
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { UNNEST } from '../constants.js';
|
|
2
|
+
import { ExprNode } from './node.js';
|
|
3
|
+
|
|
4
|
+
export class UnnestNode extends ExprNode {
|
|
5
|
+
/** An expression that resolves to a list or a struct */
|
|
6
|
+
readonly expr: ExprNode;
|
|
7
|
+
readonly recursive: boolean;
|
|
8
|
+
readonly maxDepth: number;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Instantiate an Unnest node.
|
|
12
|
+
* @param expr
|
|
13
|
+
* @param recursive
|
|
14
|
+
* @param maxDepth
|
|
15
|
+
*/
|
|
16
|
+
constructor(expr: ExprNode, recursive = false, maxDepth = 0) {
|
|
17
|
+
super(UNNEST);
|
|
18
|
+
this.expr = expr;
|
|
19
|
+
this.recursive = recursive;
|
|
20
|
+
this.maxDepth = maxDepth;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Generate a SQL query string for this node.
|
|
25
|
+
*/
|
|
26
|
+
toString() {
|
|
27
|
+
const recursive = this.recursive ? ', recursive := true' : '';
|
|
28
|
+
const maxDepth = this.maxDepth > 0 ? `, max_depth := ${this.maxDepth}` : '';
|
|
29
|
+
return `UNNEST(${this.expr}${recursive}${maxDepth})`;
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/constants.ts
CHANGED
|
@@ -3,6 +3,8 @@ export const COLUMN_PARAM = 'COLUMN_PARAM';
|
|
|
3
3
|
export const TABLE_REF = 'TABLE_REF';
|
|
4
4
|
export const LITERAL = 'LITERAL';
|
|
5
5
|
export const INTERVAL = 'INTERVAL';
|
|
6
|
+
export const LIST = 'LIST';
|
|
7
|
+
export const UNNEST = 'UNNEST';
|
|
6
8
|
|
|
7
9
|
export const ORDER_BY = 'ORDER_BY';
|
|
8
10
|
export const CAST = 'CAST';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ExprValue } from "../types.js";
|
|
2
|
+
import { asLiteral, asNode } from "../util/ast.js";
|
|
3
|
+
import { argsList, fn } from "../util/function.js";
|
|
4
|
+
import { ListNode } from "../ast/list.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Create a List containing the argument values.
|
|
8
|
+
* @param values
|
|
9
|
+
*/
|
|
10
|
+
export function list(values: ExprValue[]) {
|
|
11
|
+
return new ListNode(argsList(values).map(asLiteral));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Convert a single value or an array of values to either a ListNode if the input
|
|
16
|
+
* is an array, or a single ExprNode if it is a single value. A single string will
|
|
17
|
+
* be interpreted as a column reference.
|
|
18
|
+
* @param values
|
|
19
|
+
*/
|
|
20
|
+
function asList(values: ExprValue | ExprValue[]) {
|
|
21
|
+
return Array.isArray(values) ? list(values) : asNode(values);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Function that returns true if the list contains the element,
|
|
26
|
+
* false otherwise. If the first argument is a string, it is
|
|
27
|
+
* interpreted as a column reference, otherwise it is coerced
|
|
28
|
+
* to a list.
|
|
29
|
+
* @param list1
|
|
30
|
+
* @param element
|
|
31
|
+
*/
|
|
32
|
+
export function listContains(
|
|
33
|
+
list1: ExprValue | ExprValue[],
|
|
34
|
+
element: ExprValue,
|
|
35
|
+
) {
|
|
36
|
+
return fn("list_contains", asList(list1), asLiteral(element));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Function that returns true if all elements of list2 exist in list1,
|
|
41
|
+
* false otherwise.
|
|
42
|
+
* @param list1
|
|
43
|
+
* @param list2
|
|
44
|
+
*/
|
|
45
|
+
export function listHasAll(
|
|
46
|
+
list1: ExprValue | ExprValue[],
|
|
47
|
+
list2: ExprValue | ExprValue[],
|
|
48
|
+
) {
|
|
49
|
+
return fn("list_has_all", asList(list1), asList(list2));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Function that returns true if any elements exist in both lists,
|
|
54
|
+
* false otherwise.
|
|
55
|
+
* @param list1
|
|
56
|
+
* @param list2
|
|
57
|
+
*/
|
|
58
|
+
export function listHasAny(
|
|
59
|
+
list1: ExprValue | ExprValue[],
|
|
60
|
+
list2: ExprValue | ExprValue[],
|
|
61
|
+
) {
|
|
62
|
+
return fn("list_has_any", asList(list1), asList(list2));
|
|
63
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ExprValue } from "../types.js";
|
|
2
|
+
import { asNode } from "../util/ast.js";
|
|
3
|
+
import { UnnestNode } from "../ast/unnest.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create an Unnest Node to flatten nested structures, either structs or lists.
|
|
7
|
+
* @param value
|
|
8
|
+
* @param recursive
|
|
9
|
+
* @param maxDepth
|
|
10
|
+
*/
|
|
11
|
+
export function unnest(value: ExprValue, recursive = false, maxDepth = 0) {
|
|
12
|
+
return new UnnestNode(asNode(value), recursive, maxDepth);
|
|
13
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { FromClauseNode } from './ast/from.js';
|
|
|
11
11
|
export { FunctionNode } from './ast/function.js';
|
|
12
12
|
export { InOpNode } from './ast/in-op.js';
|
|
13
13
|
export { IntervalNode } from './ast/interval.js';
|
|
14
|
+
export { ListNode } from './ast/list.js';
|
|
14
15
|
export { LiteralNode } from './ast/literal.js';
|
|
15
16
|
export { AndNode, OrNode } from './ast/logical-op.js';
|
|
16
17
|
export { SQLNode, ExprNode, isNode } from './ast/node.js';
|
|
@@ -22,6 +23,7 @@ export { ScalarSubqueryNode } from './ast/subquery.js';
|
|
|
22
23
|
export { SelectClauseNode } from './ast/select.js';
|
|
23
24
|
export { TableRefNode, isTableRef } from './ast/table-ref.js';
|
|
24
25
|
export { UnaryOpNode, UnaryPostfixOpNode } from './ast/unary-op.js';
|
|
26
|
+
export { UnnestNode } from './ast/unnest.js';
|
|
25
27
|
export { VerbatimNode } from './ast/verbatim.js';
|
|
26
28
|
export { WindowClauseNode, WindowDefNode, WindowFunctionNode, WindowNode } from './ast/window.js';
|
|
27
29
|
export { WindowFrameNode, WindowFrameExprNode, type FrameExclude, type FrameExtent, type FrameScope, type FrameType, type FrameValue } from './ast/window-frame.js';
|
|
@@ -35,6 +37,7 @@ export { column } from './functions/column.js';
|
|
|
35
37
|
export { cte } from './functions/cte.js';
|
|
36
38
|
export { dateBin, dateMonth, dateMonthDay, dateDay, epoch_ms } from './functions/datetime.js';
|
|
37
39
|
export { days, hours, interval, microseconds, minutes, milliseconds, months, seconds, years } from './functions/interval.js';
|
|
40
|
+
export { list, listContains, listHasAll, listHasAny } from './functions/list.js';
|
|
38
41
|
export { literal, verbatim } from './functions/literal.js';
|
|
39
42
|
export { abs, ceil, exp, floor, greatest, isFinite, isInfinite, isNaN, least, ln, log, round, sign, sqrt, trunc } from './functions/numeric.js';
|
|
40
43
|
export { and, or, not, isNull, isNotNull, bitNot, bitAnd, bitOr, bitLeft, bitRight, add, sub, mul, div, idiv, mod, pow, eq, neq, lt, gt, lte, gte, isDistinct, isNotDistinct, isBetween, isNotBetween, isIn } from './functions/operators.js';
|
|
@@ -42,6 +45,7 @@ export { asc, desc } from './functions/order-by.js';
|
|
|
42
45
|
export { geojson, x, y, centroid, centroidX, centroidY } from './functions/spatial.js';
|
|
43
46
|
export { sql } from './functions/sql-template-tag.js';
|
|
44
47
|
export { regexp_matches, contains, prefix, suffix, lower, upper, length } from './functions/string.js';
|
|
48
|
+
export { unnest } from './functions/unnest.js';
|
|
45
49
|
export { coalesce } from './functions/util.js';
|
|
46
50
|
export { cume_dist, dense_rank, first_value, lag, last_value, lead, nth_value, ntile, percent_rank, rank, row_number } from './functions/window.js';
|
|
47
51
|
export { currentRow, following, frameGroups, frameRange, frameRows, preceding } from './functions/window-frame.js';
|
package/src/visit/recurse.ts
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
SET_OPERATION,
|
|
24
24
|
UNARY_OPERATOR,
|
|
25
25
|
UNARY_POSTFIX_OPERATOR,
|
|
26
|
+
UNNEST,
|
|
26
27
|
WHEN,
|
|
27
28
|
WINDOW,
|
|
28
29
|
WINDOW_CLAUSE,
|
|
@@ -58,6 +59,7 @@ export const recurse: Record<string, string[]> = {
|
|
|
58
59
|
[SET_OPERATION]: ['queries', '_orderby'],
|
|
59
60
|
[UNARY_OPERATOR]: ['expr'],
|
|
60
61
|
[UNARY_POSTFIX_OPERATOR]: ['expr'],
|
|
62
|
+
[UNNEST]: ['expr'],
|
|
61
63
|
[WHEN]: ['when', 'then'],
|
|
62
64
|
[WINDOW]: ['func', 'def'],
|
|
63
65
|
[WINDOW_CLAUSE]: ['def'],
|