rawsql-ts 0.10.3-beta → 0.10.4-beta
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/README.md +22 -17
- package/dist/esm/index.min.js +11 -11
- package/dist/esm/index.min.js.map +3 -3
- package/dist/esm/transformers/SqlParamInjector.js +301 -17
- package/dist/esm/transformers/SqlParamInjector.js.map +1 -1
- package/dist/esm/types/transformers/SqlParamInjector.d.ts +11 -1
- package/dist/index.min.js +11 -11
- package/dist/index.min.js.map +3 -3
- package/dist/transformers/SqlParamInjector.d.ts +11 -1
- package/dist/transformers/SqlParamInjector.js +301 -17
- package/dist/transformers/SqlParamInjector.js.map +1 -1
- package/package.json +1 -1
@@ -19,11 +19,12 @@ export declare class SqlParamInjector {
|
|
19
19
|
*/
|
20
20
|
inject(query: SimpleSelectQuery | string, state: Record<string, number | string | boolean | Date | null | undefined | Condition>): SelectQuery;
|
21
21
|
}
|
22
|
-
type
|
22
|
+
type BaseCondition = {
|
23
23
|
'='?: number | string | boolean | Date;
|
24
24
|
min?: number | string | Date;
|
25
25
|
max?: number | string | Date;
|
26
26
|
like?: string;
|
27
|
+
ilike?: string;
|
27
28
|
in?: (number | string | Date)[];
|
28
29
|
any?: (number | string | Date)[];
|
29
30
|
'<'?: number | string | Date;
|
@@ -33,4 +34,13 @@ type Condition = {
|
|
33
34
|
'<='?: number | string | Date;
|
34
35
|
'>='?: number | string | Date;
|
35
36
|
};
|
37
|
+
type SingleCondition = BaseCondition & {
|
38
|
+
column?: string;
|
39
|
+
};
|
40
|
+
type LogicalCondition = {
|
41
|
+
column?: string;
|
42
|
+
and?: SingleCondition[];
|
43
|
+
or?: SingleCondition[];
|
44
|
+
};
|
45
|
+
type Condition = BaseCondition | SingleCondition | LogicalCondition;
|
36
46
|
export {};
|
@@ -37,11 +37,82 @@ class SqlParamInjector {
|
|
37
37
|
const collector = new SelectableColumnCollector_1.SelectableColumnCollector(this.tableColumnResolver);
|
38
38
|
// Normalization is handled locally below.
|
39
39
|
const normalize = (s) => this.options.ignoreCaseAndUnderscore ? s.toLowerCase().replace(/_/g, '') : s;
|
40
|
-
const allowedOps = ['min', 'max', 'like', 'in', 'any', '=', '<', '>', '!=', '<>', '<=', '>='];
|
40
|
+
const allowedOps = ['min', 'max', 'like', 'ilike', 'in', 'any', '=', '<', '>', '!=', '<>', '<=', '>=', 'or', 'and', 'column'];
|
41
41
|
for (const [name, stateValue] of Object.entries(state)) {
|
42
42
|
// skip undefined values
|
43
43
|
if (stateValue === undefined)
|
44
44
|
continue;
|
45
|
+
// Handle OR conditions specially - they don't need the main column to exist
|
46
|
+
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && 'or' in stateValue) {
|
47
|
+
const orConditions = stateValue.or;
|
48
|
+
if (orConditions && orConditions.length > 0) {
|
49
|
+
// For OR conditions, we need to find a query that contains any of the referenced columns
|
50
|
+
const referencedColumns = orConditions
|
51
|
+
.map(cond => cond.column || name)
|
52
|
+
.filter((col, index, arr) => arr.indexOf(col) === index); // unique columns
|
53
|
+
let targetQuery = null;
|
54
|
+
for (const colName of referencedColumns) {
|
55
|
+
const queries = finder.find(query, colName);
|
56
|
+
if (queries.length > 0) {
|
57
|
+
targetQuery = queries[0];
|
58
|
+
break;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
if (!targetQuery) {
|
62
|
+
throw new Error(`None of the OR condition columns [${referencedColumns.join(', ')}] found in query`);
|
63
|
+
}
|
64
|
+
const columns = collector.collect(targetQuery);
|
65
|
+
injectOrConditions(targetQuery, name, orConditions, normalize, columns, collector);
|
66
|
+
continue;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
// Handle AND conditions specially - they don't need the main column to exist
|
70
|
+
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && 'and' in stateValue) {
|
71
|
+
const andConditions = stateValue.and;
|
72
|
+
if (andConditions && andConditions.length > 0) {
|
73
|
+
// For AND conditions, we need to find a query that contains any of the referenced columns
|
74
|
+
const referencedColumns = andConditions
|
75
|
+
.map(cond => cond.column || name)
|
76
|
+
.filter((col, index, arr) => arr.indexOf(col) === index); // unique columns
|
77
|
+
let targetQuery = null;
|
78
|
+
for (const colName of referencedColumns) {
|
79
|
+
const queries = finder.find(query, colName);
|
80
|
+
if (queries.length > 0) {
|
81
|
+
targetQuery = queries[0];
|
82
|
+
break;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
if (!targetQuery) {
|
86
|
+
throw new Error(`None of the AND condition columns [${referencedColumns.join(', ')}] found in query`);
|
87
|
+
}
|
88
|
+
const columns = collector.collect(targetQuery);
|
89
|
+
injectAndConditions(targetQuery, name, andConditions, normalize, columns, collector);
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
// Handle explicit column mapping without OR
|
94
|
+
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && 'column' in stateValue && !('or' in stateValue)) {
|
95
|
+
const explicitColumnName = stateValue.column;
|
96
|
+
if (explicitColumnName) {
|
97
|
+
const queries = finder.find(query, explicitColumnName);
|
98
|
+
if (queries.length === 0) {
|
99
|
+
throw new Error(`Explicit column '${explicitColumnName}' not found in query`);
|
100
|
+
}
|
101
|
+
for (const q of queries) {
|
102
|
+
const columns = collector.collect(q);
|
103
|
+
const entry = columns.find(item => normalize(item.name) === normalize(explicitColumnName));
|
104
|
+
if (!entry) {
|
105
|
+
throw new Error(`Explicit column '${explicitColumnName}' not found in query`);
|
106
|
+
}
|
107
|
+
// if object, validate its keys
|
108
|
+
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && Object.getPrototypeOf(stateValue) === Object.prototype) {
|
109
|
+
validateOperators(stateValue, allowedOps, name);
|
110
|
+
}
|
111
|
+
injectComplexConditions(q, entry.value, name, stateValue);
|
112
|
+
}
|
113
|
+
continue;
|
114
|
+
}
|
115
|
+
}
|
45
116
|
const queries = finder.find(query, name);
|
46
117
|
if (queries.length === 0) {
|
47
118
|
throw new Error(`Column '${name}' not found in query`);
|
@@ -52,22 +123,217 @@ class SqlParamInjector {
|
|
52
123
|
if (!entry) {
|
53
124
|
throw new Error(`Column '${name}' not found in query`);
|
54
125
|
}
|
55
|
-
const columnRef = entry.value;
|
56
|
-
// if object, validate its keys
|
126
|
+
const columnRef = entry.value; // if object, validate its keys
|
57
127
|
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && Object.getPrototypeOf(stateValue) === Object.prototype) {
|
58
128
|
validateOperators(stateValue, allowedOps, name);
|
59
129
|
}
|
130
|
+
// Handle explicit column mapping
|
131
|
+
let targetColumn = columnRef;
|
132
|
+
let targetColumnName = name;
|
133
|
+
if (stateValue !== null && typeof stateValue === 'object' && !Array.isArray(stateValue) && 'column' in stateValue) {
|
134
|
+
const explicitColumnName = stateValue.column;
|
135
|
+
if (explicitColumnName) {
|
136
|
+
const explicitEntry = columns.find(item => normalize(item.name) === normalize(explicitColumnName));
|
137
|
+
if (explicitEntry) {
|
138
|
+
targetColumn = explicitEntry.value;
|
139
|
+
targetColumnName = explicitColumnName;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
}
|
60
143
|
if (stateValue === null ||
|
61
144
|
typeof stateValue !== 'object' ||
|
62
145
|
Array.isArray(stateValue) ||
|
63
146
|
stateValue instanceof Date) {
|
64
|
-
injectSimpleCondition(q,
|
147
|
+
injectSimpleCondition(q, targetColumn, targetColumnName, stateValue);
|
65
148
|
}
|
66
149
|
else {
|
67
|
-
injectComplexConditions(q,
|
150
|
+
injectComplexConditions(q, targetColumn, targetColumnName, stateValue);
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
function injectAndConditions(q, baseName, andConditions, normalize, availableColumns, collector) {
|
155
|
+
// For AND conditions, we process each condition and add them all with AND logic
|
156
|
+
for (let i = 0; i < andConditions.length; i++) {
|
157
|
+
const andCondition = andConditions[i];
|
158
|
+
const columnName = andCondition.column || baseName;
|
159
|
+
// Find the target column
|
160
|
+
const entry = availableColumns.find(item => normalize(item.name) === normalize(columnName));
|
161
|
+
if (!entry) {
|
162
|
+
throw new Error(`Column '${columnName}' not found in query for AND condition`);
|
163
|
+
}
|
164
|
+
const columnRef = entry.value;
|
165
|
+
// Process each operator in the AND condition
|
166
|
+
if ('=' in andCondition && andCondition['='] !== undefined) {
|
167
|
+
const paramName = `${baseName}_and_${i}_eq`;
|
168
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['=']);
|
169
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "=", paramExpr));
|
170
|
+
}
|
171
|
+
if ('min' in andCondition && andCondition.min !== undefined) {
|
172
|
+
const paramName = `${baseName}_and_${i}_min`;
|
173
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition.min);
|
174
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramExpr));
|
175
|
+
}
|
176
|
+
if ('max' in andCondition && andCondition.max !== undefined) {
|
177
|
+
const paramName = `${baseName}_and_${i}_max`;
|
178
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition.max);
|
179
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramExpr));
|
180
|
+
}
|
181
|
+
if ('like' in andCondition && andCondition.like !== undefined) {
|
182
|
+
const paramName = `${baseName}_and_${i}_like`;
|
183
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition.like);
|
184
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "like", paramExpr));
|
185
|
+
}
|
186
|
+
if ('ilike' in andCondition && andCondition.ilike !== undefined) {
|
187
|
+
const paramName = `${baseName}_and_${i}_ilike`;
|
188
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition.ilike);
|
189
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "ilike", paramExpr));
|
190
|
+
}
|
191
|
+
if ('in' in andCondition && andCondition.in !== undefined) {
|
192
|
+
const arr = andCondition.in;
|
193
|
+
const prms = arr.map((v, j) => new ValueComponent_1.ParameterExpression(`${baseName}_and_${i}_in_${j}`, v));
|
194
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "in", new ValueComponent_1.ParenExpression(new ValueComponent_1.ValueList(prms))));
|
195
|
+
}
|
196
|
+
if ('any' in andCondition && andCondition.any !== undefined) {
|
197
|
+
const paramName = `${baseName}_and_${i}_any`;
|
198
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition.any);
|
199
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "=", new ValueComponent_1.FunctionCall(null, "any", paramExpr, null)));
|
200
|
+
}
|
201
|
+
if ('<' in andCondition && andCondition['<'] !== undefined) {
|
202
|
+
const paramName = `${baseName}_and_${i}_lt`;
|
203
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['<']);
|
204
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "<", paramExpr));
|
205
|
+
}
|
206
|
+
if ('>' in andCondition && andCondition['>'] !== undefined) {
|
207
|
+
const paramName = `${baseName}_and_${i}_gt`;
|
208
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['>']);
|
209
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, ">", paramExpr));
|
210
|
+
}
|
211
|
+
if ('!=' in andCondition && andCondition['!='] !== undefined) {
|
212
|
+
const paramName = `${baseName}_and_${i}_neq`;
|
213
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['!=']);
|
214
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "!=", paramExpr));
|
215
|
+
}
|
216
|
+
if ('<>' in andCondition && andCondition['<>'] !== undefined) {
|
217
|
+
const paramName = `${baseName}_and_${i}_ne`;
|
218
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['<>']);
|
219
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "<>", paramExpr));
|
220
|
+
}
|
221
|
+
if ('<=' in andCondition && andCondition['<='] !== undefined) {
|
222
|
+
const paramName = `${baseName}_and_${i}_le`;
|
223
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['<=']);
|
224
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramExpr));
|
225
|
+
}
|
226
|
+
if ('>=' in andCondition && andCondition['>='] !== undefined) {
|
227
|
+
const paramName = `${baseName}_and_${i}_ge`;
|
228
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, andCondition['>=']);
|
229
|
+
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramExpr));
|
68
230
|
}
|
69
231
|
}
|
70
232
|
}
|
233
|
+
function injectOrConditions(q, baseName, orConditions, normalize, availableColumns, collector) {
|
234
|
+
const orExpressions = [];
|
235
|
+
for (let i = 0; i < orConditions.length; i++) {
|
236
|
+
const orCondition = orConditions[i];
|
237
|
+
const columnName = orCondition.column || baseName;
|
238
|
+
// Find the target column
|
239
|
+
const entry = availableColumns.find(item => normalize(item.name) === normalize(columnName));
|
240
|
+
if (!entry) {
|
241
|
+
throw new Error(`Column '${columnName}' not found in query for OR condition`);
|
242
|
+
}
|
243
|
+
const columnRef = entry.value;
|
244
|
+
// Create conditions for this OR branch
|
245
|
+
const branchConditions = [];
|
246
|
+
// Process each operator in the OR condition
|
247
|
+
if ('=' in orCondition && orCondition['='] !== undefined) {
|
248
|
+
const paramName = `${baseName}_or_${i}_eq`;
|
249
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['=']);
|
250
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "=", paramExpr));
|
251
|
+
}
|
252
|
+
if ('min' in orCondition && orCondition.min !== undefined) {
|
253
|
+
const paramName = `${baseName}_or_${i}_min`;
|
254
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition.min);
|
255
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramExpr));
|
256
|
+
}
|
257
|
+
if ('max' in orCondition && orCondition.max !== undefined) {
|
258
|
+
const paramName = `${baseName}_or_${i}_max`;
|
259
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition.max);
|
260
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramExpr));
|
261
|
+
}
|
262
|
+
if ('like' in orCondition && orCondition.like !== undefined) {
|
263
|
+
const paramName = `${baseName}_or_${i}_like`;
|
264
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition.like);
|
265
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "like", paramExpr));
|
266
|
+
}
|
267
|
+
if ('ilike' in orCondition && orCondition.ilike !== undefined) {
|
268
|
+
const paramName = `${baseName}_or_${i}_ilike`;
|
269
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition.ilike);
|
270
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "ilike", paramExpr));
|
271
|
+
}
|
272
|
+
if ('in' in orCondition && orCondition.in !== undefined) {
|
273
|
+
const arr = orCondition.in;
|
274
|
+
const prms = arr.map((v, j) => new ValueComponent_1.ParameterExpression(`${baseName}_or_${i}_in_${j}`, v));
|
275
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "in", new ValueComponent_1.ParenExpression(new ValueComponent_1.ValueList(prms))));
|
276
|
+
}
|
277
|
+
if ('any' in orCondition && orCondition.any !== undefined) {
|
278
|
+
const paramName = `${baseName}_or_${i}_any`;
|
279
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition.any);
|
280
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "=", new ValueComponent_1.FunctionCall(null, "any", paramExpr, null)));
|
281
|
+
}
|
282
|
+
if ('<' in orCondition && orCondition['<'] !== undefined) {
|
283
|
+
const paramName = `${baseName}_or_${i}_lt`;
|
284
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['<']);
|
285
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<", paramExpr));
|
286
|
+
}
|
287
|
+
if ('>' in orCondition && orCondition['>'] !== undefined) {
|
288
|
+
const paramName = `${baseName}_or_${i}_gt`;
|
289
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['>']);
|
290
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">", paramExpr));
|
291
|
+
}
|
292
|
+
if ('!=' in orCondition && orCondition['!='] !== undefined) {
|
293
|
+
const paramName = `${baseName}_or_${i}_neq`;
|
294
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['!=']);
|
295
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "!=", paramExpr));
|
296
|
+
}
|
297
|
+
if ('<>' in orCondition && orCondition['<>'] !== undefined) {
|
298
|
+
const paramName = `${baseName}_or_${i}_ne`;
|
299
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['<>']);
|
300
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<>", paramExpr));
|
301
|
+
}
|
302
|
+
if ('<=' in orCondition && orCondition['<='] !== undefined) {
|
303
|
+
const paramName = `${baseName}_or_${i}_le`;
|
304
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['<=']);
|
305
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramExpr));
|
306
|
+
}
|
307
|
+
if ('>=' in orCondition && orCondition['>='] !== undefined) {
|
308
|
+
const paramName = `${baseName}_or_${i}_ge`;
|
309
|
+
const paramExpr = new ValueComponent_1.ParameterExpression(paramName, orCondition['>=']);
|
310
|
+
branchConditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramExpr));
|
311
|
+
}
|
312
|
+
// Combine branch conditions with AND if there are multiple
|
313
|
+
if (branchConditions.length > 0) {
|
314
|
+
let branchExpr = branchConditions[0];
|
315
|
+
for (let j = 1; j < branchConditions.length; j++) {
|
316
|
+
branchExpr = new ValueComponent_1.BinaryExpression(branchExpr, "and", branchConditions[j]);
|
317
|
+
}
|
318
|
+
// Wrap in parentheses if multiple conditions within the OR branch
|
319
|
+
if (branchConditions.length > 1) {
|
320
|
+
orExpressions.push(new ValueComponent_1.ParenExpression(branchExpr));
|
321
|
+
}
|
322
|
+
else {
|
323
|
+
orExpressions.push(branchExpr);
|
324
|
+
}
|
325
|
+
}
|
326
|
+
}
|
327
|
+
// Combine OR expressions
|
328
|
+
if (orExpressions.length > 0) {
|
329
|
+
let finalOrExpr = orExpressions[0];
|
330
|
+
for (let i = 1; i < orExpressions.length; i++) {
|
331
|
+
finalOrExpr = new ValueComponent_1.BinaryExpression(finalOrExpr, "or", orExpressions[i]);
|
332
|
+
}
|
333
|
+
// Wrap in parentheses and append to WHERE clause
|
334
|
+
q.appendWhere(new ValueComponent_1.ParenExpression(finalOrExpr));
|
335
|
+
}
|
336
|
+
}
|
71
337
|
function validateOperators(stateValue, allowedOps, name) {
|
72
338
|
Object.keys(stateValue).forEach(op => {
|
73
339
|
if (!allowedOps.includes(op)) {
|
@@ -80,54 +346,72 @@ class SqlParamInjector {
|
|
80
346
|
q.appendWhere(new ValueComponent_1.BinaryExpression(columnRef, "=", paramExpr));
|
81
347
|
}
|
82
348
|
function injectComplexConditions(q, columnRef, name, stateValue) {
|
349
|
+
const conditions = [];
|
83
350
|
if ('=' in stateValue) {
|
84
351
|
const paramEq = new ValueComponent_1.ParameterExpression(name, stateValue['=']);
|
85
|
-
|
352
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "=", paramEq));
|
86
353
|
}
|
87
354
|
if ('min' in stateValue) {
|
88
355
|
const paramMin = new ValueComponent_1.ParameterExpression(name + "_min", stateValue.min);
|
89
|
-
|
356
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramMin));
|
90
357
|
}
|
91
358
|
if ('max' in stateValue) {
|
92
359
|
const paramMax = new ValueComponent_1.ParameterExpression(name + "_max", stateValue.max);
|
93
|
-
|
360
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramMax));
|
94
361
|
}
|
95
362
|
if ('like' in stateValue) {
|
96
363
|
const paramLike = new ValueComponent_1.ParameterExpression(name + "_like", stateValue.like);
|
97
|
-
|
364
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "like", paramLike));
|
365
|
+
}
|
366
|
+
if ('ilike' in stateValue) {
|
367
|
+
const paramIlike = new ValueComponent_1.ParameterExpression(name + "_ilike", stateValue.ilike);
|
368
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "ilike", paramIlike));
|
98
369
|
}
|
99
370
|
if ('in' in stateValue) {
|
100
371
|
const arr = stateValue['in'];
|
101
372
|
const prms = arr.map((v, i) => new ValueComponent_1.ParameterExpression(`${name}_in_${i}`, v));
|
102
|
-
|
373
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "in", new ValueComponent_1.ParenExpression(new ValueComponent_1.ValueList(prms))));
|
103
374
|
}
|
104
375
|
if ('any' in stateValue) {
|
105
376
|
const paramAny = new ValueComponent_1.ParameterExpression(name + "_any", stateValue.any);
|
106
|
-
|
377
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "=", new ValueComponent_1.FunctionCall(null, "any", paramAny, null)));
|
107
378
|
}
|
108
379
|
if ('<' in stateValue) {
|
109
380
|
const paramLT = new ValueComponent_1.ParameterExpression(name + "_lt", stateValue['<']);
|
110
|
-
|
381
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<", paramLT));
|
111
382
|
}
|
112
383
|
if ('>' in stateValue) {
|
113
384
|
const paramGT = new ValueComponent_1.ParameterExpression(name + "_gt", stateValue['>']);
|
114
|
-
|
385
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">", paramGT));
|
115
386
|
}
|
116
387
|
if ('!=' in stateValue) {
|
117
388
|
const paramNEQ = new ValueComponent_1.ParameterExpression(name + "_neq", stateValue['!=']);
|
118
|
-
|
389
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "!=", paramNEQ));
|
119
390
|
}
|
120
391
|
if ('<>' in stateValue) {
|
121
392
|
const paramNE = new ValueComponent_1.ParameterExpression(name + "_ne", stateValue['<>']);
|
122
|
-
|
393
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<>", paramNE));
|
123
394
|
}
|
124
395
|
if ('<=' in stateValue) {
|
125
396
|
const paramLE = new ValueComponent_1.ParameterExpression(name + "_le", stateValue['<=']);
|
126
|
-
|
397
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, "<=", paramLE));
|
127
398
|
}
|
128
399
|
if ('>=' in stateValue) {
|
129
400
|
const paramGE = new ValueComponent_1.ParameterExpression(name + "_ge", stateValue['>=']);
|
130
|
-
|
401
|
+
conditions.push(new ValueComponent_1.BinaryExpression(columnRef, ">=", paramGE));
|
402
|
+
}
|
403
|
+
// Combine conditions with AND and wrap in parentheses if multiple conditions for clarity
|
404
|
+
if (conditions.length === 1) {
|
405
|
+
// Single condition - no parentheses needed
|
406
|
+
q.appendWhere(conditions[0]);
|
407
|
+
}
|
408
|
+
else if (conditions.length > 1) {
|
409
|
+
// Multiple conditions - combine with AND and wrap in parentheses for clarity
|
410
|
+
let combinedExpr = conditions[0];
|
411
|
+
for (let i = 1; i < conditions.length; i++) {
|
412
|
+
combinedExpr = new ValueComponent_1.BinaryExpression(combinedExpr, "and", conditions[i]);
|
413
|
+
}
|
414
|
+
q.appendWhere(new ValueComponent_1.ParenExpression(combinedExpr));
|
131
415
|
}
|
132
416
|
}
|
133
417
|
return query;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SqlParamInjector.js","sourceRoot":"","sources":["../../src/transformers/SqlParamInjector.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SqlParamInjector.js","sourceRoot":"","sources":["../../src/transformers/SqlParamInjector.ts"],"names":[],"mappings":";;;AACA,2EAAwE;AACxE,6DAA2I;AAC3I,2EAAwE;AACxE,oEAAiE;AAEjE;;;GAGG;AACH,MAAa,gBAAgB;IAIzB,YAAY,iBAA6F,EAAE,OAA+C;QACtJ,mDAAmD;QACnD,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,iBAAiB,IAAI,EAAE,CAAC;QAC3C,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CACT,KAAiC,EACjC,KAAsF;QAEtF,8EAA8E;QAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,KAAK,GAAG,qCAAiB,CAAC,KAAK,CAAC,KAAK,CAAsB,CAAC;QAChE,CAAC;QAED,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,qDAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1E,0CAA0C;QAC1C,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE9H,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,wBAAwB;YACxB,IAAI,UAAU,KAAK,SAAS;gBAAE,SAAS;YAEvC,4EAA4E;YAC5E,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC5G,MAAM,YAAY,GAAG,UAAU,CAAC,EAAuB,CAAC;gBACxD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,yFAAyF;oBACzF,MAAM,iBAAiB,GAAG,YAAY;yBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;yBAChC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB;oBAE/E,IAAI,WAAW,GAA6B,IAAI,CAAC;oBACjD,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;wBACtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;4BACzB,MAAM;wBACV,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACzG,CAAC;oBAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC/C,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBACnF,SAAS;gBACb,CAAC;YACL,CAAC;YAED,6EAA6E;YAC7E,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC7G,MAAM,aAAa,GAAG,UAAU,CAAC,GAAwB,CAAC;gBAC1D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,0FAA0F;oBAC1F,MAAM,iBAAiB,GAAG,aAAa;yBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;yBAChC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB;oBAE/E,IAAI,WAAW,GAA6B,IAAI,CAAC;oBACjD,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;wBACtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;4BACzB,MAAM;wBACV,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAC1G,CAAC;oBAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC/C,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBACrF,SAAS;gBACb,CAAC;YACL,CAAC;YAED,4CAA4C;YAC5C,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC;gBACzI,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC7C,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;oBACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,kBAAkB,sBAAsB,CAAC,CAAC;oBAClF,CAAC;oBAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;wBAC3F,IAAI,CAAC,KAAK,EAAE,CAAC;4BACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,kBAAkB,sBAAsB,CAAC,CAAC;wBAClF,CAAC;wBAED,+BAA+B;wBAC/B,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;4BAChJ,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;wBACpD,CAAC;wBAED,uBAAuB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC9D,CAAC;oBACD,SAAS;gBACb,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;YAC3D,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAgB,+BAA+B;gBAC7E,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;oBAChJ,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAED,iCAAiC;gBACjC,IAAI,YAAY,GAAG,SAAS,CAAC;gBAC7B,IAAI,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAChH,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC;oBAC7C,IAAI,kBAAkB,EAAE,CAAC;wBACrB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;wBACnG,IAAI,aAAa,EAAE,CAAC;4BAChB,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;4BACnC,gBAAgB,GAAG,kBAAkB,CAAC;wBAC1C,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,IACI,UAAU,KAAK,IAAI;oBACnB,OAAO,UAAU,KAAK,QAAQ;oBAC9B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;oBACzB,UAAU,YAAY,IAAI,EAC5B,CAAC;oBACC,qBAAqB,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACJ,uBAAuB,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;QACL,CAAC;QAAC,SAAS,mBAAmB,CAC1B,CAAoB,EACpB,QAAgB,EAChB,aAAgC,EAChC,SAAgC,EAChC,gBAA2D,EAC3D,SAAoC;YAEpC,gFAAgF;YAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC;gBAEnD,yBAAyB;gBACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,wCAAwC,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;gBAE9B,6CAA6C;gBAC7C,IAAI,GAAG,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,KAAK,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC1D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,MAAM,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;oBACvE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,KAAK,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC1D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,MAAM,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;oBACvE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;gBAAC,IAAI,MAAM,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,OAAO,CAAC;oBAC9C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBACxE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,OAAO,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC9D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,QAAQ,CAAC;oBAC/C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;oBACzE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAyB,CAAC;oBACnD,MAAM,IAAI,GAA0B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,IAAI,oCAAmB,CAAC,GAAG,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAC7D,CAAC;oBACF,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,gCAAe,CAAC,IAAI,0BAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,CAAC;gBACD,IAAI,KAAK,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC1D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,MAAM,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;oBACvE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,6BAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxG,CAAC;gBACD,IAAI,GAAG,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,GAAG,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,MAAM,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,CAAC,KAAK,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzE,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;QACL,CAAC;QAED,SAAS,kBAAkB,CACvB,CAAoB,EACpB,QAAgB,EAChB,YAA+B,EAC/B,SAAgC,EAChC,gBAA2D,EAC3D,SAAoC;YAEpC,MAAM,aAAa,GAAqB,EAAE,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC;gBAElD,yBAAyB;gBACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,uCAAuC,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;gBAE9B,uCAAuC;gBACvC,MAAM,gBAAgB,GAAqB,EAAE,CAAC;gBAE9C,4CAA4C;gBAC5C,IAAI,GAAG,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,KAAK,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,MAAM,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,KAAK,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,MAAM,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBAAC,IAAI,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5D,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,OAAO,CAAC;oBAC7C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACvE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,OAAO,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC5D,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,QAAQ,CAAC;oBAC9C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBACxE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,IAAI,IAAI,WAAW,IAAI,WAAW,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;oBACtD,MAAM,GAAG,GAAG,WAAW,CAAC,EAAyB,CAAC;oBAClD,MAAM,IAAI,GAA0B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,IAAI,oCAAmB,CAAC,GAAG,QAAQ,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAC5D,CAAC;oBACF,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,gCAAe,CAAC,IAAI,0BAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3G,CAAC;gBACD,IAAI,KAAK,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,MAAM,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;oBACtE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,6BAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChH,CAAC;gBACD,IAAI,GAAG,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,GAAG,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,IAAI,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,MAAM,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,IAAI,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,IAAI,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,IAAI,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,GAAG,QAAQ,OAAO,CAAC,KAAK,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxE,gBAAgB,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,IAAI,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,UAAU,GAAG,IAAI,iCAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,CAAC;oBACD,kEAAkE;oBAClE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,aAAa,CAAC,IAAI,CAAC,IAAI,gCAAe,CAAC,UAAU,CAAC,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACJ,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACnC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,WAAW,GAAG,IAAI,iCAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBAED,iDAAiD;gBACjD,CAAC,CAAC,WAAW,CAAC,IAAI,gCAAe,CAAC,WAAW,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,UAAoB,EAAE,IAAY;YAC7E,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,IAAI,GAAG,CAAC,CAAC;gBAC5E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS,qBAAqB,CAAC,CAAoB,EAAE,SAAyB,EAAE,IAAY,EAAE,UAAe;YACzG,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC,CAAC,WAAW,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,SAAS,uBAAuB,CAAC,CAAoB,EAAE,SAAyB,EAAE,IAAY,EAAE,UAAqB;YACnH,MAAM,UAAU,GAAqB,EAAE,CAAC;YAExC,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrE,CAAC;YAAC,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC3E,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9E,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAwB,CAAC;gBACpD,MAAM,IAAI,GAA0B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACjD,IAAI,oCAAmB,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAChD,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,gCAAe,CAAC,IAAI,0BAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,6BAAY,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACzG,CAAC;YACD,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1E,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,oCAAmB,CAAC,IAAI,GAAG,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,iCAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,yFAAyF;YACzF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,2CAA2C;gBAC3C,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,6EAA6E;gBAC7E,IAAI,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,YAAY,GAAG,IAAI,iCAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,CAAC,CAAC,WAAW,CAAC,IAAI,gCAAe,CAAC,YAAY,CAAC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA7cD,4CA6cC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "rawsql-ts",
|
3
|
-
"version": "0.10.
|
3
|
+
"version": "0.10.4-beta",
|
4
4
|
"description": "[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|