@quillsql/react 2.10.39 → 2.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2036 -909
- 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 +2038 -909
- 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,186 @@
|
|
|
1
|
+
// Type definitions for node-sql-parser 1.0
|
|
2
|
+
// Project: https://github.com/taozhi8833998/node-sql-parser#readme
|
|
3
|
+
// Definitions by: taozhi8833998 <https://github.com/taozhi8833998>
|
|
4
|
+
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
5
|
+
// TypeScript Version: 2.4
|
|
6
|
+
/**
|
|
7
|
+
* Returns whether the AST is for a 'use' query.
|
|
8
|
+
*/
|
|
9
|
+
export const isUse = (ast) => ast?.type === 'use';
|
|
10
|
+
/**
|
|
11
|
+
* Returns whether the AST is for a 'create' query.
|
|
12
|
+
*/
|
|
13
|
+
export const isCreate = (ast) => ast?.type === 'create';
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the AST is a wrapper for a 'bigquery' query.
|
|
16
|
+
*/
|
|
17
|
+
export const isBigQuery = (ast) => ast?.type === 'bigquery';
|
|
18
|
+
/**
|
|
19
|
+
* Returns whether the AST is for a 'select' query.
|
|
20
|
+
*/
|
|
21
|
+
export const isSelect = (ast) => ast?.type === 'select';
|
|
22
|
+
/**
|
|
23
|
+
* Returns whether the AST is for a 'update' query.
|
|
24
|
+
*/
|
|
25
|
+
export const isUpdate = (ast) => ast?.type === 'update';
|
|
26
|
+
/**
|
|
27
|
+
* Returns whether the AST is for a 'replace' or 'insert' query.
|
|
28
|
+
*/
|
|
29
|
+
export const isInsertOrReplace = (ast) => ast?.type === 'replace' || ast?.type === 'insert';
|
|
30
|
+
/**
|
|
31
|
+
* Returns whether the AST is for a 'alter' query.
|
|
32
|
+
*/
|
|
33
|
+
export const isAlter = (ast) => ast?.type === 'alter';
|
|
34
|
+
/**
|
|
35
|
+
* Returns whether the AST is for a 'delete' query.
|
|
36
|
+
*/
|
|
37
|
+
export const isDelete = (ast) => ast?.type === 'delete';
|
|
38
|
+
/**
|
|
39
|
+
* Returns whether the AST is for a 'drop' query.
|
|
40
|
+
*/
|
|
41
|
+
export const isDrop = (ast) => ast?.type === 'drop';
|
|
42
|
+
/**
|
|
43
|
+
* Returns whether the node is a binary expression.
|
|
44
|
+
*/
|
|
45
|
+
export const isBinaryExpr = (node) => node?.type === 'binary_expr';
|
|
46
|
+
/**
|
|
47
|
+
* Returns whether the node is a logical binary expression (ie. AND/OR).
|
|
48
|
+
*/
|
|
49
|
+
export const isLogicalBinaryExpr = (node) => {
|
|
50
|
+
if (!isBinaryExpr(node))
|
|
51
|
+
return false;
|
|
52
|
+
return ['AND', 'OR'].includes(node.operator.toUpperCase());
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Returns whether the node is a base binary expression (ie. not AND/OR).
|
|
56
|
+
*/
|
|
57
|
+
export const isBaseBinaryExpr = (node) => {
|
|
58
|
+
if (!isBinaryExpr(node))
|
|
59
|
+
return false;
|
|
60
|
+
return !['AND', 'OR'].includes(node.operator.toUpperCase());
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Returns whether the node is an expression list.
|
|
64
|
+
*/
|
|
65
|
+
export const isExprList = (node) => {
|
|
66
|
+
return node?.type === 'expr_list';
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Returns whether the node is a function.
|
|
70
|
+
*/
|
|
71
|
+
export const isFunction = (node) => {
|
|
72
|
+
return node?.type === 'function';
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Returns whether the function is 'UPPER' or 'LOWER'.
|
|
76
|
+
*/
|
|
77
|
+
export const isCasingFunction = (node) => {
|
|
78
|
+
if (!isFunction(node))
|
|
79
|
+
return false;
|
|
80
|
+
if (typeof node.name !== 'string')
|
|
81
|
+
return false;
|
|
82
|
+
return ['LOWER', 'UPPER'].includes(node.name.toUpperCase());
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Returns whether the given node is an empty collection.
|
|
86
|
+
*
|
|
87
|
+
* A empty collection is any binary operator node with either "IN" or "NOT IN"
|
|
88
|
+
* operator where none of the variants are selected.
|
|
89
|
+
*/
|
|
90
|
+
export const isNodeEmptyCollection = (node) => {
|
|
91
|
+
// Check if the node is a binary expression with IN/NOT-IN
|
|
92
|
+
if (!isBaseBinaryExpr(node))
|
|
93
|
+
return false;
|
|
94
|
+
if (!['IN', 'NOT IN'].includes(node.operator))
|
|
95
|
+
return false;
|
|
96
|
+
// Check the length of the right-hand expression list
|
|
97
|
+
if (!isExprList(node.right))
|
|
98
|
+
return false;
|
|
99
|
+
if (node.right.value.length === 0)
|
|
100
|
+
return true;
|
|
101
|
+
if (node.right.value.length > 1)
|
|
102
|
+
return false;
|
|
103
|
+
// Edge-case: There could be one element in the list but if that element
|
|
104
|
+
// is an empty string, we treat the list as also being empty.
|
|
105
|
+
const firstExprValue = node.right.value[0];
|
|
106
|
+
if (!isCasingFunction(firstExprValue))
|
|
107
|
+
return false;
|
|
108
|
+
if (firstExprValue.args.value.length !== 1)
|
|
109
|
+
return false;
|
|
110
|
+
const casingFuncChild = firstExprValue.args.value[0];
|
|
111
|
+
if (casingFuncChild.value !== '')
|
|
112
|
+
return false;
|
|
113
|
+
return true;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Extracts the column-like part from a ColumnRef node or a Value node
|
|
117
|
+
* that is typed as double_quote_string.
|
|
118
|
+
* @param expr_value either a ColumnRef or a double_quote_string Value
|
|
119
|
+
* @returns column as a string or undefined
|
|
120
|
+
*/
|
|
121
|
+
export const extractColumnish = (expr_value) => {
|
|
122
|
+
if (expr_value?.type === 'column_ref') {
|
|
123
|
+
return expr_value.column;
|
|
124
|
+
}
|
|
125
|
+
else if (expr_value?.type === 'double_quote_string') {
|
|
126
|
+
return expr_value.value;
|
|
127
|
+
}
|
|
128
|
+
return undefined;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Returns whether the given columnType is a numeric type (ie. number-ish).
|
|
132
|
+
* @param columnType the type of the column
|
|
133
|
+
* @returns true or false
|
|
134
|
+
*/
|
|
135
|
+
export const isNumericColumnType = (columnType) => {
|
|
136
|
+
if (!columnType)
|
|
137
|
+
return false;
|
|
138
|
+
return [
|
|
139
|
+
'number',
|
|
140
|
+
'numeric',
|
|
141
|
+
'smallint',
|
|
142
|
+
'int2',
|
|
143
|
+
'int4',
|
|
144
|
+
'int8',
|
|
145
|
+
'float2',
|
|
146
|
+
'float4',
|
|
147
|
+
'float8',
|
|
148
|
+
'float16',
|
|
149
|
+
].includes(columnType);
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Returns whether the given columnType is a text type (ie. text-ish).
|
|
153
|
+
* @param columnType the type of the column
|
|
154
|
+
* @returns true or false
|
|
155
|
+
*/
|
|
156
|
+
export const isTextColumnType = (columnType) => {
|
|
157
|
+
if (!columnType)
|
|
158
|
+
return false;
|
|
159
|
+
return [
|
|
160
|
+
'varchar',
|
|
161
|
+
'text',
|
|
162
|
+
// 'json', // TODO: handle json type
|
|
163
|
+
'bool',
|
|
164
|
+
'char',
|
|
165
|
+
'string',
|
|
166
|
+
'citext',
|
|
167
|
+
].includes(columnType);
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Returns whether the given columnType is a date type (ie. date-ish).
|
|
171
|
+
* @param columnType the type of the column
|
|
172
|
+
* @returns true or false
|
|
173
|
+
*/
|
|
174
|
+
export const isDateishColumnType = (columnType) => {
|
|
175
|
+
if (!columnType)
|
|
176
|
+
return false;
|
|
177
|
+
return ['date', 'datetime', 'timestamp', 'timestamptz'].includes(columnType);
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* Returns a list of table objects from the AST.
|
|
181
|
+
*/
|
|
182
|
+
export const getTableNames = (ast) => {
|
|
183
|
+
if (!isSelect(ast))
|
|
184
|
+
return [];
|
|
185
|
+
return ast.from?.map((tbl) => tbl.table) ?? [];
|
|
186
|
+
};
|
|
@@ -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"}
|