@quillsql/react 2.10.39 → 2.11.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/cjs/Chart.d.ts +4 -0
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +5 -5
- package/dist/cjs/ChartBuilder.js +2 -2
- package/dist/cjs/Context.d.ts +1 -1
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +3 -1
- package/dist/cjs/Dashboard.d.ts +3 -1
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +4 -4
- package/dist/cjs/QuillProvider.d.ts +3 -1
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +40 -40
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +2026 -917
- package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +18 -6
- package/dist/cjs/components/QuillTable.d.ts +1 -1
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +157 -157
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts +2 -0
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +128 -0
- package/dist/cjs/components/ReportBuilder/ast.d.ts +512 -0
- package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/ast.js +210 -0
- package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts +7 -0
- package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/bigDateMap.js +689 -0
- package/dist/cjs/components/ReportBuilder/constants.d.ts +89 -0
- package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/constants.js +130 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts +41 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/convert.js +730 -0
- package/dist/cjs/components/ReportBuilder/operators.d.ts +445 -0
- package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/operators.js +552 -0
- package/dist/cjs/components/ReportBuilder/pivot.d.ts +10 -0
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/pivot.js +2 -0
- package/dist/cjs/components/ReportBuilder/postgres.d.ts +150 -0
- package/dist/cjs/components/ReportBuilder/postgres.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/postgres.js +365 -0
- package/dist/cjs/components/ReportBuilder/schema.d.ts +23 -0
- package/dist/cjs/components/ReportBuilder/schema.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/schema.js +2 -0
- package/dist/cjs/components/ReportBuilder/ui.d.ts +34 -0
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/ui.js +389 -0
- package/dist/cjs/components/ReportBuilder/util.d.ts +76 -0
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/util.js +648 -0
- package/dist/cjs/components/UiComponents.d.ts +15 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +50 -3
- package/dist/cjs/utils/crypto.d.ts +1 -1
- package/dist/cjs/utils/crypto.d.ts.map +1 -1
- package/dist/cjs/utils/crypto.js +9 -5
- package/dist/esm/Chart.d.ts +4 -0
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +5 -5
- package/dist/esm/ChartBuilder.js +1 -1
- package/dist/esm/Context.d.ts +1 -1
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +3 -1
- package/dist/esm/Dashboard.d.ts +3 -1
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +4 -4
- package/dist/esm/QuillProvider.d.ts +3 -1
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +40 -40
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +2028 -917
- package/dist/esm/components/Chart/LineChart.d.ts +5 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +18 -6
- package/dist/esm/components/QuillTable.d.ts +1 -1
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +157 -157
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts +2 -0
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddColumnPopover.js +125 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts +512 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ast.js +186 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +7 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.js +686 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts +89 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/constants.js +127 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts +41 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/convert.js +719 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts +445 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/operators.js +548 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts +10 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/pivot.js +1 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts +150 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/postgres.js +355 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts +23 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/schema.js +1 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts +34 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ui.js +366 -0
- package/dist/esm/components/ReportBuilder/util.d.ts +76 -0
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/util.js +616 -0
- package/dist/esm/components/UiComponents.d.ts +15 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +47 -2
- package/dist/esm/utils/crypto.d.ts +1 -1
- package/dist/esm/utils/crypto.d.ts.map +1 -1
- package/dist/esm/utils/crypto.js +9 -5
- package/package.json +1 -1
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Type definitions for node-sql-parser 1.0
|
|
3
|
+
// Project: https://github.com/taozhi8833998/node-sql-parser#readme
|
|
4
|
+
// Definitions by: taozhi8833998 <https://github.com/taozhi8833998>
|
|
5
|
+
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
6
|
+
// TypeScript Version: 2.4
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getTableNames = exports.isDateishColumnType = exports.isTextColumnType = exports.isNumericColumnType = exports.extractColumnish = exports.isNodeEmptyCollection = exports.isCasingFunction = exports.isFunction = exports.isExprList = exports.isBaseBinaryExpr = exports.isLogicalBinaryExpr = exports.isBinaryExpr = exports.isDrop = exports.isDelete = exports.isAlter = exports.isInsertOrReplace = exports.isUpdate = exports.isSelect = exports.isBigQuery = exports.isCreate = exports.isUse = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether the AST is for a 'use' query.
|
|
11
|
+
*/
|
|
12
|
+
const isUse = (ast) => ast?.type === 'use';
|
|
13
|
+
exports.isUse = isUse;
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the AST is for a 'create' query.
|
|
16
|
+
*/
|
|
17
|
+
const isCreate = (ast) => ast?.type === 'create';
|
|
18
|
+
exports.isCreate = isCreate;
|
|
19
|
+
/**
|
|
20
|
+
* Returns whether the AST is a wrapper for a 'bigquery' query.
|
|
21
|
+
*/
|
|
22
|
+
const isBigQuery = (ast) => ast?.type === 'bigquery';
|
|
23
|
+
exports.isBigQuery = isBigQuery;
|
|
24
|
+
/**
|
|
25
|
+
* Returns whether the AST is for a 'select' query.
|
|
26
|
+
*/
|
|
27
|
+
const isSelect = (ast) => ast?.type === 'select';
|
|
28
|
+
exports.isSelect = isSelect;
|
|
29
|
+
/**
|
|
30
|
+
* Returns whether the AST is for a 'update' query.
|
|
31
|
+
*/
|
|
32
|
+
const isUpdate = (ast) => ast?.type === 'update';
|
|
33
|
+
exports.isUpdate = isUpdate;
|
|
34
|
+
/**
|
|
35
|
+
* Returns whether the AST is for a 'replace' or 'insert' query.
|
|
36
|
+
*/
|
|
37
|
+
const isInsertOrReplace = (ast) => ast?.type === 'replace' || ast?.type === 'insert';
|
|
38
|
+
exports.isInsertOrReplace = isInsertOrReplace;
|
|
39
|
+
/**
|
|
40
|
+
* Returns whether the AST is for a 'alter' query.
|
|
41
|
+
*/
|
|
42
|
+
const isAlter = (ast) => ast?.type === 'alter';
|
|
43
|
+
exports.isAlter = isAlter;
|
|
44
|
+
/**
|
|
45
|
+
* Returns whether the AST is for a 'delete' query.
|
|
46
|
+
*/
|
|
47
|
+
const isDelete = (ast) => ast?.type === 'delete';
|
|
48
|
+
exports.isDelete = isDelete;
|
|
49
|
+
/**
|
|
50
|
+
* Returns whether the AST is for a 'drop' query.
|
|
51
|
+
*/
|
|
52
|
+
const isDrop = (ast) => ast?.type === 'drop';
|
|
53
|
+
exports.isDrop = isDrop;
|
|
54
|
+
/**
|
|
55
|
+
* Returns whether the node is a binary expression.
|
|
56
|
+
*/
|
|
57
|
+
const isBinaryExpr = (node) => node?.type === 'binary_expr';
|
|
58
|
+
exports.isBinaryExpr = isBinaryExpr;
|
|
59
|
+
/**
|
|
60
|
+
* Returns whether the node is a logical binary expression (ie. AND/OR).
|
|
61
|
+
*/
|
|
62
|
+
const isLogicalBinaryExpr = (node) => {
|
|
63
|
+
if (!(0, exports.isBinaryExpr)(node))
|
|
64
|
+
return false;
|
|
65
|
+
return ['AND', 'OR'].includes(node.operator.toUpperCase());
|
|
66
|
+
};
|
|
67
|
+
exports.isLogicalBinaryExpr = isLogicalBinaryExpr;
|
|
68
|
+
/**
|
|
69
|
+
* Returns whether the node is a base binary expression (ie. not AND/OR).
|
|
70
|
+
*/
|
|
71
|
+
const isBaseBinaryExpr = (node) => {
|
|
72
|
+
if (!(0, exports.isBinaryExpr)(node))
|
|
73
|
+
return false;
|
|
74
|
+
return !['AND', 'OR'].includes(node.operator.toUpperCase());
|
|
75
|
+
};
|
|
76
|
+
exports.isBaseBinaryExpr = isBaseBinaryExpr;
|
|
77
|
+
/**
|
|
78
|
+
* Returns whether the node is an expression list.
|
|
79
|
+
*/
|
|
80
|
+
const isExprList = (node) => {
|
|
81
|
+
return node?.type === 'expr_list';
|
|
82
|
+
};
|
|
83
|
+
exports.isExprList = isExprList;
|
|
84
|
+
/**
|
|
85
|
+
* Returns whether the node is a function.
|
|
86
|
+
*/
|
|
87
|
+
const isFunction = (node) => {
|
|
88
|
+
return node?.type === 'function';
|
|
89
|
+
};
|
|
90
|
+
exports.isFunction = isFunction;
|
|
91
|
+
/**
|
|
92
|
+
* Returns whether the function is 'UPPER' or 'LOWER'.
|
|
93
|
+
*/
|
|
94
|
+
const isCasingFunction = (node) => {
|
|
95
|
+
if (!(0, exports.isFunction)(node))
|
|
96
|
+
return false;
|
|
97
|
+
if (typeof node.name !== 'string')
|
|
98
|
+
return false;
|
|
99
|
+
return ['LOWER', 'UPPER'].includes(node.name.toUpperCase());
|
|
100
|
+
};
|
|
101
|
+
exports.isCasingFunction = isCasingFunction;
|
|
102
|
+
/**
|
|
103
|
+
* Returns whether the given node is an empty collection.
|
|
104
|
+
*
|
|
105
|
+
* A empty collection is any binary operator node with either "IN" or "NOT IN"
|
|
106
|
+
* operator where none of the variants are selected.
|
|
107
|
+
*/
|
|
108
|
+
const isNodeEmptyCollection = (node) => {
|
|
109
|
+
// Check if the node is a binary expression with IN/NOT-IN
|
|
110
|
+
if (!(0, exports.isBaseBinaryExpr)(node))
|
|
111
|
+
return false;
|
|
112
|
+
if (!['IN', 'NOT IN'].includes(node.operator))
|
|
113
|
+
return false;
|
|
114
|
+
// Check the length of the right-hand expression list
|
|
115
|
+
if (!(0, exports.isExprList)(node.right))
|
|
116
|
+
return false;
|
|
117
|
+
if (node.right.value.length === 0)
|
|
118
|
+
return true;
|
|
119
|
+
if (node.right.value.length > 1)
|
|
120
|
+
return false;
|
|
121
|
+
// Edge-case: There could be one element in the list but if that element
|
|
122
|
+
// is an empty string, we treat the list as also being empty.
|
|
123
|
+
const firstExprValue = node.right.value[0];
|
|
124
|
+
if (!(0, exports.isCasingFunction)(firstExprValue))
|
|
125
|
+
return false;
|
|
126
|
+
if (firstExprValue.args.value.length !== 1)
|
|
127
|
+
return false;
|
|
128
|
+
const casingFuncChild = firstExprValue.args.value[0];
|
|
129
|
+
if (casingFuncChild.value !== '')
|
|
130
|
+
return false;
|
|
131
|
+
return true;
|
|
132
|
+
};
|
|
133
|
+
exports.isNodeEmptyCollection = isNodeEmptyCollection;
|
|
134
|
+
/**
|
|
135
|
+
* Extracts the column-like part from a ColumnRef node or a Value node
|
|
136
|
+
* that is typed as double_quote_string.
|
|
137
|
+
* @param expr_value either a ColumnRef or a double_quote_string Value
|
|
138
|
+
* @returns column as a string or undefined
|
|
139
|
+
*/
|
|
140
|
+
const extractColumnish = (expr_value) => {
|
|
141
|
+
if (expr_value?.type === 'column_ref') {
|
|
142
|
+
return expr_value.column;
|
|
143
|
+
}
|
|
144
|
+
else if (expr_value?.type === 'double_quote_string') {
|
|
145
|
+
return expr_value.value;
|
|
146
|
+
}
|
|
147
|
+
return undefined;
|
|
148
|
+
};
|
|
149
|
+
exports.extractColumnish = extractColumnish;
|
|
150
|
+
/**
|
|
151
|
+
* Returns whether the given columnType is a numeric type (ie. number-ish).
|
|
152
|
+
* @param columnType the type of the column
|
|
153
|
+
* @returns true or false
|
|
154
|
+
*/
|
|
155
|
+
const isNumericColumnType = (columnType) => {
|
|
156
|
+
if (!columnType)
|
|
157
|
+
return false;
|
|
158
|
+
return [
|
|
159
|
+
'number',
|
|
160
|
+
'numeric',
|
|
161
|
+
'smallint',
|
|
162
|
+
'int2',
|
|
163
|
+
'int4',
|
|
164
|
+
'int8',
|
|
165
|
+
'float2',
|
|
166
|
+
'float4',
|
|
167
|
+
'float8',
|
|
168
|
+
'float16',
|
|
169
|
+
].includes(columnType);
|
|
170
|
+
};
|
|
171
|
+
exports.isNumericColumnType = isNumericColumnType;
|
|
172
|
+
/**
|
|
173
|
+
* Returns whether the given columnType is a text type (ie. text-ish).
|
|
174
|
+
* @param columnType the type of the column
|
|
175
|
+
* @returns true or false
|
|
176
|
+
*/
|
|
177
|
+
const isTextColumnType = (columnType) => {
|
|
178
|
+
if (!columnType)
|
|
179
|
+
return false;
|
|
180
|
+
return [
|
|
181
|
+
'varchar',
|
|
182
|
+
'text',
|
|
183
|
+
// 'json', // TODO: handle json type
|
|
184
|
+
'bool',
|
|
185
|
+
'char',
|
|
186
|
+
'string',
|
|
187
|
+
'citext',
|
|
188
|
+
].includes(columnType);
|
|
189
|
+
};
|
|
190
|
+
exports.isTextColumnType = isTextColumnType;
|
|
191
|
+
/**
|
|
192
|
+
* Returns whether the given columnType is a date type (ie. date-ish).
|
|
193
|
+
* @param columnType the type of the column
|
|
194
|
+
* @returns true or false
|
|
195
|
+
*/
|
|
196
|
+
const isDateishColumnType = (columnType) => {
|
|
197
|
+
if (!columnType)
|
|
198
|
+
return false;
|
|
199
|
+
return ['date', 'datetime', 'timestamp', 'timestamptz'].includes(columnType);
|
|
200
|
+
};
|
|
201
|
+
exports.isDateishColumnType = isDateishColumnType;
|
|
202
|
+
/**
|
|
203
|
+
* Returns a list of table objects from the AST.
|
|
204
|
+
*/
|
|
205
|
+
const getTableNames = (ast) => {
|
|
206
|
+
if (!(0, exports.isSelect)(ast))
|
|
207
|
+
return [];
|
|
208
|
+
return ast.from?.map((tbl) => tbl.table) ?? [];
|
|
209
|
+
};
|
|
210
|
+
exports.getTableNames = getTableNames;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bigDateMap.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/bigDateMap.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,eAAO,MAAM,oBAAoB;wBAoCnB,GAAG;CAmpBhB,CAAC"}
|