@sqlrooms/sql-editor 0.6.0 → 0.8.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.
Files changed (58) hide show
  1. package/README.md +409 -0
  2. package/dist/CreateTableModal.d.ts.map +1 -1
  3. package/dist/CreateTableModal.js +10 -4
  4. package/dist/CreateTableModal.js.map +1 -1
  5. package/dist/SqlEditor.d.ts +1 -14
  6. package/dist/SqlEditor.d.ts.map +1 -1
  7. package/dist/SqlEditor.js +111 -183
  8. package/dist/SqlEditor.js.map +1 -1
  9. package/dist/SqlEditorModal.d.ts.map +1 -1
  10. package/dist/SqlEditorModal.js +8 -4
  11. package/dist/SqlEditorModal.js.map +1 -1
  12. package/dist/SqlEditorSlice.d.ts +102 -5
  13. package/dist/SqlEditorSlice.d.ts.map +1 -1
  14. package/dist/SqlEditorSlice.js +107 -30
  15. package/dist/SqlEditorSlice.js.map +1 -1
  16. package/dist/SqlMonacoEditor.d.ts +30 -0
  17. package/dist/SqlMonacoEditor.d.ts.map +1 -0
  18. package/dist/SqlMonacoEditor.js +205 -0
  19. package/dist/SqlMonacoEditor.js.map +1 -0
  20. package/dist/SqlQueryDataSourcesPanel.js +2 -3
  21. package/dist/SqlQueryDataSourcesPanel.js.map +1 -1
  22. package/dist/components/internal/SqlMonacoEditor.d.ts +36 -0
  23. package/dist/components/internal/SqlMonacoEditor.d.ts.map +1 -0
  24. package/dist/components/internal/SqlMonacoEditor.js +219 -0
  25. package/dist/components/internal/SqlMonacoEditor.js.map +1 -0
  26. package/dist/constants/duckdb-dialect.d.ts +73 -0
  27. package/dist/constants/duckdb-dialect.d.ts.map +1 -0
  28. package/dist/constants/duckdb-dialect.js +392 -0
  29. package/dist/constants/duckdb-dialect.js.map +1 -0
  30. package/dist/constants/duckdb.d.ts +73 -0
  31. package/dist/constants/duckdb.d.ts.map +1 -0
  32. package/dist/constants/duckdb.js +392 -0
  33. package/dist/constants/duckdb.js.map +1 -0
  34. package/dist/hooks/index.d.ts +5 -0
  35. package/dist/hooks/index.d.ts.map +1 -0
  36. package/dist/hooks/index.js +5 -0
  37. package/dist/hooks/index.js.map +1 -0
  38. package/dist/hooks/useMonacoEditor.d.ts +13 -0
  39. package/dist/hooks/useMonacoEditor.d.ts.map +1 -0
  40. package/dist/hooks/useMonacoEditor.js +78 -0
  41. package/dist/hooks/useMonacoEditor.js.map +1 -0
  42. package/dist/hooks/useQueryExecution.d.ts +17 -0
  43. package/dist/hooks/useQueryExecution.d.ts.map +1 -0
  44. package/dist/hooks/useQueryExecution.js +61 -0
  45. package/dist/hooks/useQueryExecution.js.map +1 -0
  46. package/dist/hooks/useQueryTabManagement.d.ts +41 -0
  47. package/dist/hooks/useQueryTabManagement.d.ts.map +1 -0
  48. package/dist/hooks/useQueryTabManagement.js +95 -0
  49. package/dist/hooks/useQueryTabManagement.js.map +1 -0
  50. package/dist/hooks/useTableManagement.d.ts +14 -0
  51. package/dist/hooks/useTableManagement.d.ts.map +1 -0
  52. package/dist/hooks/useTableManagement.js +46 -0
  53. package/dist/hooks/useTableManagement.js.map +1 -0
  54. package/dist/index.d.ts +6 -2
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -2
  57. package/dist/index.js.map +1 -1
  58. package/package.json +12 -9
@@ -0,0 +1,392 @@
1
+ /**
2
+ * DuckDB SQL language constants for Monaco Editor
3
+ */
4
+ // DuckDB specific keywords
5
+ export const DUCKDB_KEYWORDS = [
6
+ 'PRAGMA',
7
+ 'RETURNING',
8
+ 'QUALIFY',
9
+ 'PIVOT',
10
+ 'UNPIVOT',
11
+ 'EXCLUDE',
12
+ 'INCLUDE',
13
+ 'WINDOW',
14
+ 'FILTER',
15
+ 'WITHIN',
16
+ 'OVER',
17
+ 'PARTITION',
18
+ 'RANGE',
19
+ 'ROWS',
20
+ 'GROUPS',
21
+ 'PRECEDING',
22
+ 'FOLLOWING',
23
+ 'CURRENT',
24
+ 'ROW',
25
+ 'TIES',
26
+ 'OTHERS',
27
+ 'EXCLUDE',
28
+ 'RESPECT',
29
+ 'NULLS',
30
+ 'FIRST',
31
+ 'LAST',
32
+ 'MATERIALIZED',
33
+ 'RECURSIVE',
34
+ 'TEMPORARY',
35
+ 'TEMP',
36
+ 'UNLOGGED',
37
+ 'GLOBAL',
38
+ 'LOCAL',
39
+ 'STORED',
40
+ 'VIRTUAL',
41
+ 'DELIMITED',
42
+ 'CSV',
43
+ 'JSON',
44
+ 'COPY',
45
+ 'DESCRIBE',
46
+ 'EXPLAIN',
47
+ 'SUMMARIZE',
48
+ 'PROFILE',
49
+ 'LOAD',
50
+ 'INSTALL',
51
+ 'FORCE',
52
+ 'PARALLEL',
53
+ 'SEQUENTIAL',
54
+ 'PRAGMA',
55
+ // Standard SQL keywords
56
+ 'SELECT',
57
+ 'FROM',
58
+ 'WHERE',
59
+ 'GROUP',
60
+ 'BY',
61
+ 'HAVING',
62
+ 'ORDER',
63
+ 'LIMIT',
64
+ 'OFFSET',
65
+ 'INSERT',
66
+ 'INTO',
67
+ 'VALUES',
68
+ 'UPDATE',
69
+ 'SET',
70
+ 'DELETE',
71
+ 'CREATE',
72
+ 'ALTER',
73
+ 'DROP',
74
+ 'TABLE',
75
+ 'VIEW',
76
+ 'INDEX',
77
+ 'TRIGGER',
78
+ 'PROCEDURE',
79
+ 'FUNCTION',
80
+ 'DATABASE',
81
+ 'SCHEMA',
82
+ 'JOIN',
83
+ 'INNER',
84
+ 'LEFT',
85
+ 'RIGHT',
86
+ 'FULL',
87
+ 'OUTER',
88
+ 'CROSS',
89
+ 'NATURAL',
90
+ 'ON',
91
+ 'USING',
92
+ 'AND',
93
+ 'OR',
94
+ 'NOT',
95
+ 'NULL',
96
+ 'IS',
97
+ 'IN',
98
+ 'BETWEEN',
99
+ 'LIKE',
100
+ 'AS',
101
+ 'CASE',
102
+ 'WHEN',
103
+ 'THEN',
104
+ 'ELSE',
105
+ 'END',
106
+ 'DISTINCT',
107
+ 'ALL',
108
+ 'UNION',
109
+ 'INTERSECT',
110
+ 'EXCEPT',
111
+ 'WITH',
112
+ 'CAST',
113
+ 'PRIMARY',
114
+ 'KEY',
115
+ 'FOREIGN',
116
+ 'REFERENCES',
117
+ 'CONSTRAINT',
118
+ 'DEFAULT',
119
+ 'CHECK',
120
+ 'UNIQUE',
121
+ 'INDEX',
122
+ 'CASCADE',
123
+ 'RESTRICT',
124
+ 'ASC',
125
+ 'DESC',
126
+ 'IF',
127
+ 'EXISTS',
128
+ 'TRUE',
129
+ 'FALSE',
130
+ ];
131
+ // DuckDB functions
132
+ export const DUCKDB_FUNCTIONS = [
133
+ // Aggregate functions
134
+ 'ARRAY_AGG',
135
+ 'AVG',
136
+ 'BIT_AND',
137
+ 'BIT_OR',
138
+ 'BIT_XOR',
139
+ 'COUNT',
140
+ 'FIRST',
141
+ 'LAST',
142
+ 'LIST',
143
+ 'MAX',
144
+ 'MIN',
145
+ 'STRING_AGG',
146
+ 'SUM',
147
+ 'MEDIAN',
148
+ 'QUANTILE',
149
+ 'APPROX_COUNT_DISTINCT',
150
+ 'APPROX_QUANTILE',
151
+ // Window functions
152
+ 'ROW_NUMBER',
153
+ 'RANK',
154
+ 'DENSE_RANK',
155
+ 'PERCENT_RANK',
156
+ 'CUME_DIST',
157
+ 'NTILE',
158
+ 'LAG',
159
+ 'LEAD',
160
+ 'FIRST_VALUE',
161
+ 'LAST_VALUE',
162
+ 'NTH_VALUE',
163
+ // Date functions
164
+ 'AGE',
165
+ 'DATE_PART',
166
+ 'DATE_TRUNC',
167
+ 'EXTRACT',
168
+ 'GREATEST',
169
+ 'LEAST',
170
+ 'NOW',
171
+ 'CURRENT_DATE',
172
+ 'CURRENT_TIME',
173
+ 'CURRENT_TIMESTAMP',
174
+ 'EPOCH',
175
+ 'STRFTIME',
176
+ 'STRPTIME',
177
+ 'TO_TIMESTAMP',
178
+ // String functions
179
+ 'CONCAT',
180
+ 'LENGTH',
181
+ 'LOWER',
182
+ 'LPAD',
183
+ 'LTRIM',
184
+ 'REGEXP_MATCHES',
185
+ 'REGEXP_REPLACE',
186
+ 'REPEAT',
187
+ 'REPLACE',
188
+ 'REVERSE',
189
+ 'RIGHT',
190
+ 'RPAD',
191
+ 'RTRIM',
192
+ 'SPLIT',
193
+ 'SUBSTRING',
194
+ 'TRIM',
195
+ 'UPPER',
196
+ // Nested functions
197
+ 'LIST_EXTRACT',
198
+ 'LIST_ELEMENT',
199
+ 'LIST_VALUE',
200
+ 'STRUCT_EXTRACT',
201
+ 'STRUCT_PACK',
202
+ 'MAP',
203
+ 'MAP_EXTRACT',
204
+ // Math functions
205
+ 'ABS',
206
+ 'CEIL',
207
+ 'CEILING',
208
+ 'FLOOR',
209
+ 'ROUND',
210
+ 'SIGN',
211
+ 'SQRT',
212
+ 'CBRT',
213
+ 'EXP',
214
+ 'LN',
215
+ 'LOG',
216
+ 'POWER',
217
+ 'MOD',
218
+ 'RANDOM',
219
+ 'SETSEED',
220
+ 'ACOS',
221
+ 'ASIN',
222
+ 'ATAN',
223
+ 'ATAN2',
224
+ 'COS',
225
+ 'COT',
226
+ 'SIN',
227
+ 'TAN',
228
+ 'RADIANS',
229
+ 'DEGREES',
230
+ 'PI',
231
+ // Other functions
232
+ 'COALESCE',
233
+ 'NULLIF',
234
+ 'TYPEOF',
235
+ 'CURRENT_SCHEMA',
236
+ 'CURRENT_USER',
237
+ 'HASH',
238
+ 'UUID',
239
+ 'CHAR_LENGTH',
240
+ 'CHARACTER_LENGTH',
241
+ 'POSITION',
242
+ 'OVERLAY',
243
+ 'CONCAT_WS',
244
+ 'FORMAT',
245
+ 'TO_CHAR',
246
+ 'TO_DATE',
247
+ 'TO_NUMBER',
248
+ 'LOCALTIME',
249
+ 'LOCALTIMESTAMP',
250
+ 'JUSTIFY_DAYS',
251
+ 'JUSTIFY_HOURS',
252
+ 'JUSTIFY_INTERVAL',
253
+ 'MAKE_DATE',
254
+ 'MAKE_INTERVAL',
255
+ 'MAKE_TIME',
256
+ 'MAKE_TIMESTAMP',
257
+ 'CLOCK_TIMESTAMP',
258
+ 'STATEMENT_TIMESTAMP',
259
+ 'TRANSACTION_TIMESTAMP',
260
+ ];
261
+ // SQL operators
262
+ export const SQL_OPERATORS = [
263
+ '+',
264
+ '-',
265
+ '*',
266
+ '/',
267
+ '%',
268
+ '&',
269
+ '|',
270
+ '^',
271
+ '=',
272
+ '<>',
273
+ '!=',
274
+ '>',
275
+ '>=',
276
+ '<',
277
+ '<=',
278
+ '<<',
279
+ '>>',
280
+ '||',
281
+ '::',
282
+ '->>',
283
+ '->',
284
+ '~',
285
+ '!',
286
+ '@',
287
+ ];
288
+ // SQL variables
289
+ export const SQL_VARIABLES = [
290
+ '$1',
291
+ '$2',
292
+ '$3',
293
+ '$4',
294
+ '$5',
295
+ '$6',
296
+ '$7',
297
+ '$8',
298
+ '$9',
299
+ ];
300
+ // SQL pseudo columns
301
+ export const SQL_PSEUDO_COLUMNS = [
302
+ '$ACTION',
303
+ '$IDENTITY',
304
+ '$ROWGUID',
305
+ '$PARTITION',
306
+ ];
307
+ // SQL language configuration for Monaco Editor
308
+ export const SQL_LANGUAGE_CONFIGURATION = {
309
+ defaultToken: '',
310
+ tokenPostfix: '.sql',
311
+ ignoreCase: true,
312
+ brackets: [
313
+ { open: '[', close: ']', token: 'delimiter.square' },
314
+ { open: '(', close: ')', token: 'delimiter.parenthesis' },
315
+ ],
316
+ keywords: DUCKDB_KEYWORDS,
317
+ operators: SQL_OPERATORS,
318
+ builtinFunctions: DUCKDB_FUNCTIONS,
319
+ builtinVariables: SQL_VARIABLES,
320
+ pseudoColumns: SQL_PSEUDO_COLUMNS,
321
+ tokenizer: {
322
+ root: [
323
+ { include: '@comments' },
324
+ { include: '@whitespace' },
325
+ { include: '@numbers' },
326
+ { include: '@strings' },
327
+ { include: '@complexIdentifiers' },
328
+ { include: '@scopes' },
329
+ [/[;,.]/, 'delimiter'],
330
+ [/[()]/, '@brackets'],
331
+ [
332
+ /[\w@#$]+/,
333
+ {
334
+ cases: {
335
+ '@keywords': 'keyword',
336
+ '@operators': 'operator',
337
+ '@builtinFunctions': 'predefined',
338
+ '@builtinVariables': 'predefined',
339
+ '@pseudoColumns': 'predefined',
340
+ '@default': 'identifier',
341
+ },
342
+ },
343
+ ],
344
+ [/[<>=!%&+\-*/|~^]/, 'operator'],
345
+ ],
346
+ whitespace: [[/\s+/, 'white']],
347
+ comments: [
348
+ [/--+.*/, 'comment'],
349
+ [/\/\*/, { token: 'comment.quote', next: '@comment' }],
350
+ ],
351
+ comment: [
352
+ [/[^*/]+/, 'comment'],
353
+ [/\*\//, { token: 'comment.quote', next: '@pop' }],
354
+ [/./, 'comment'],
355
+ ],
356
+ numbers: [
357
+ [/0[xX][0-9a-fA-F]*/, 'number'],
358
+ [/[$][+-]*\d*(\.\d*)?/, 'number'],
359
+ [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'],
360
+ ],
361
+ strings: [
362
+ [/'/, { token: 'string', next: '@string' }],
363
+ [/"/, { token: 'string.double', next: '@stringDouble' }],
364
+ ],
365
+ string: [
366
+ [/[^']+/, 'string'],
367
+ [/''/, 'string'],
368
+ [/'/, { token: 'string', next: '@pop' }],
369
+ ],
370
+ stringDouble: [
371
+ [/[^"]+/, 'string.double'],
372
+ [/""/, 'string.double'],
373
+ [/"/, { token: 'string.double', next: '@pop' }],
374
+ ],
375
+ complexIdentifiers: [
376
+ [/\[/, { token: 'identifier.quote', next: '@bracketedIdentifier' }],
377
+ [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }],
378
+ ],
379
+ bracketedIdentifier: [
380
+ [/[^\]]+/, 'identifier'],
381
+ [/]]/, 'identifier'],
382
+ [/]/, { token: 'identifier.quote', next: '@pop' }],
383
+ ],
384
+ quotedIdentifier: [
385
+ [/[^"]+/, 'identifier'],
386
+ [/""/, 'identifier'],
387
+ [/"/, { token: 'identifier.quote', next: '@pop' }],
388
+ ],
389
+ scopes: [],
390
+ },
391
+ };
392
+ //# sourceMappingURL=duckdb-dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdb-dialect.js","sourceRoot":"","sources":["../../src/constants/duckdb-dialect.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * DuckDB SQL language constants for Monaco Editor\n */\n\n// DuckDB specific keywords\nexport const DUCKDB_KEYWORDS = [\n 'PRAGMA',\n 'RETURNING',\n 'QUALIFY',\n 'PIVOT',\n 'UNPIVOT',\n 'EXCLUDE',\n 'INCLUDE',\n 'WINDOW',\n 'FILTER',\n 'WITHIN',\n 'OVER',\n 'PARTITION',\n 'RANGE',\n 'ROWS',\n 'GROUPS',\n 'PRECEDING',\n 'FOLLOWING',\n 'CURRENT',\n 'ROW',\n 'TIES',\n 'OTHERS',\n 'EXCLUDE',\n 'RESPECT',\n 'NULLS',\n 'FIRST',\n 'LAST',\n 'MATERIALIZED',\n 'RECURSIVE',\n 'TEMPORARY',\n 'TEMP',\n 'UNLOGGED',\n 'GLOBAL',\n 'LOCAL',\n 'STORED',\n 'VIRTUAL',\n 'DELIMITED',\n 'CSV',\n 'JSON',\n 'COPY',\n 'DESCRIBE',\n 'EXPLAIN',\n 'SUMMARIZE',\n 'PROFILE',\n 'LOAD',\n 'INSTALL',\n 'FORCE',\n 'PARALLEL',\n 'SEQUENTIAL',\n 'PRAGMA',\n // Standard SQL keywords\n 'SELECT',\n 'FROM',\n 'WHERE',\n 'GROUP',\n 'BY',\n 'HAVING',\n 'ORDER',\n 'LIMIT',\n 'OFFSET',\n 'INSERT',\n 'INTO',\n 'VALUES',\n 'UPDATE',\n 'SET',\n 'DELETE',\n 'CREATE',\n 'ALTER',\n 'DROP',\n 'TABLE',\n 'VIEW',\n 'INDEX',\n 'TRIGGER',\n 'PROCEDURE',\n 'FUNCTION',\n 'DATABASE',\n 'SCHEMA',\n 'JOIN',\n 'INNER',\n 'LEFT',\n 'RIGHT',\n 'FULL',\n 'OUTER',\n 'CROSS',\n 'NATURAL',\n 'ON',\n 'USING',\n 'AND',\n 'OR',\n 'NOT',\n 'NULL',\n 'IS',\n 'IN',\n 'BETWEEN',\n 'LIKE',\n 'AS',\n 'CASE',\n 'WHEN',\n 'THEN',\n 'ELSE',\n 'END',\n 'DISTINCT',\n 'ALL',\n 'UNION',\n 'INTERSECT',\n 'EXCEPT',\n 'WITH',\n 'CAST',\n 'PRIMARY',\n 'KEY',\n 'FOREIGN',\n 'REFERENCES',\n 'CONSTRAINT',\n 'DEFAULT',\n 'CHECK',\n 'UNIQUE',\n 'INDEX',\n 'CASCADE',\n 'RESTRICT',\n 'ASC',\n 'DESC',\n 'IF',\n 'EXISTS',\n 'TRUE',\n 'FALSE',\n];\n\n// DuckDB functions\nexport const DUCKDB_FUNCTIONS = [\n // Aggregate functions\n 'ARRAY_AGG',\n 'AVG',\n 'BIT_AND',\n 'BIT_OR',\n 'BIT_XOR',\n 'COUNT',\n 'FIRST',\n 'LAST',\n 'LIST',\n 'MAX',\n 'MIN',\n 'STRING_AGG',\n 'SUM',\n 'MEDIAN',\n 'QUANTILE',\n 'APPROX_COUNT_DISTINCT',\n 'APPROX_QUANTILE',\n // Window functions\n 'ROW_NUMBER',\n 'RANK',\n 'DENSE_RANK',\n 'PERCENT_RANK',\n 'CUME_DIST',\n 'NTILE',\n 'LAG',\n 'LEAD',\n 'FIRST_VALUE',\n 'LAST_VALUE',\n 'NTH_VALUE',\n // Date functions\n 'AGE',\n 'DATE_PART',\n 'DATE_TRUNC',\n 'EXTRACT',\n 'GREATEST',\n 'LEAST',\n 'NOW',\n 'CURRENT_DATE',\n 'CURRENT_TIME',\n 'CURRENT_TIMESTAMP',\n 'EPOCH',\n 'STRFTIME',\n 'STRPTIME',\n 'TO_TIMESTAMP',\n // String functions\n 'CONCAT',\n 'LENGTH',\n 'LOWER',\n 'LPAD',\n 'LTRIM',\n 'REGEXP_MATCHES',\n 'REGEXP_REPLACE',\n 'REPEAT',\n 'REPLACE',\n 'REVERSE',\n 'RIGHT',\n 'RPAD',\n 'RTRIM',\n 'SPLIT',\n 'SUBSTRING',\n 'TRIM',\n 'UPPER',\n // Nested functions\n 'LIST_EXTRACT',\n 'LIST_ELEMENT',\n 'LIST_VALUE',\n 'STRUCT_EXTRACT',\n 'STRUCT_PACK',\n 'MAP',\n 'MAP_EXTRACT',\n // Math functions\n 'ABS',\n 'CEIL',\n 'CEILING',\n 'FLOOR',\n 'ROUND',\n 'SIGN',\n 'SQRT',\n 'CBRT',\n 'EXP',\n 'LN',\n 'LOG',\n 'POWER',\n 'MOD',\n 'RANDOM',\n 'SETSEED',\n 'ACOS',\n 'ASIN',\n 'ATAN',\n 'ATAN2',\n 'COS',\n 'COT',\n 'SIN',\n 'TAN',\n 'RADIANS',\n 'DEGREES',\n 'PI',\n // Other functions\n 'COALESCE',\n 'NULLIF',\n 'TYPEOF',\n 'CURRENT_SCHEMA',\n 'CURRENT_USER',\n 'HASH',\n 'UUID',\n 'CHAR_LENGTH',\n 'CHARACTER_LENGTH',\n 'POSITION',\n 'OVERLAY',\n 'CONCAT_WS',\n 'FORMAT',\n 'TO_CHAR',\n 'TO_DATE',\n 'TO_NUMBER',\n 'LOCALTIME',\n 'LOCALTIMESTAMP',\n 'JUSTIFY_DAYS',\n 'JUSTIFY_HOURS',\n 'JUSTIFY_INTERVAL',\n 'MAKE_DATE',\n 'MAKE_INTERVAL',\n 'MAKE_TIME',\n 'MAKE_TIMESTAMP',\n 'CLOCK_TIMESTAMP',\n 'STATEMENT_TIMESTAMP',\n 'TRANSACTION_TIMESTAMP',\n];\n\n// SQL operators\nexport const SQL_OPERATORS = [\n '+',\n '-',\n '*',\n '/',\n '%',\n '&',\n '|',\n '^',\n '=',\n '<>',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n '<<',\n '>>',\n '||',\n '::',\n '->>',\n '->',\n '~',\n '!',\n '@',\n];\n\n// SQL variables\nexport const SQL_VARIABLES = [\n '$1',\n '$2',\n '$3',\n '$4',\n '$5',\n '$6',\n '$7',\n '$8',\n '$9',\n];\n\n// SQL pseudo columns\nexport const SQL_PSEUDO_COLUMNS = [\n '$ACTION',\n '$IDENTITY',\n '$ROWGUID',\n '$PARTITION',\n];\n\n// SQL language configuration for Monaco Editor\nexport const SQL_LANGUAGE_CONFIGURATION = {\n defaultToken: '',\n tokenPostfix: '.sql',\n ignoreCase: true,\n\n brackets: [\n {open: '[', close: ']', token: 'delimiter.square'},\n {open: '(', close: ')', token: 'delimiter.parenthesis'},\n ],\n\n keywords: DUCKDB_KEYWORDS,\n operators: SQL_OPERATORS,\n builtinFunctions: DUCKDB_FUNCTIONS,\n builtinVariables: SQL_VARIABLES,\n pseudoColumns: SQL_PSEUDO_COLUMNS,\n\n tokenizer: {\n root: [\n {include: '@comments'},\n {include: '@whitespace'},\n {include: '@numbers'},\n {include: '@strings'},\n {include: '@complexIdentifiers'},\n {include: '@scopes'},\n [/[;,.]/, 'delimiter'],\n [/[()]/, '@brackets'],\n [\n /[\\w@#$]+/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@builtinFunctions': 'predefined',\n '@builtinVariables': 'predefined',\n '@pseudoColumns': 'predefined',\n '@default': 'identifier',\n },\n },\n ],\n [/[<>=!%&+\\-*/|~^]/, 'operator'],\n ],\n whitespace: [[/\\s+/, 'white']],\n comments: [\n [/--+.*/, 'comment'],\n [/\\/\\*/, {token: 'comment.quote', next: '@comment'}],\n ],\n comment: [\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n numbers: [\n [/0[xX][0-9a-fA-F]*/, 'number'],\n [/[$][+-]*\\d*(\\.\\d*)?/, 'number'],\n [/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/, 'number'],\n ],\n strings: [\n [/'/, {token: 'string', next: '@string'}],\n [/\"/, {token: 'string.double', next: '@stringDouble'}],\n ],\n string: [\n [/[^']+/, 'string'],\n [/''/, 'string'],\n [/'/, {token: 'string', next: '@pop'}],\n ],\n stringDouble: [\n [/[^\"]+/, 'string.double'],\n [/\"\"/, 'string.double'],\n [/\"/, {token: 'string.double', next: '@pop'}],\n ],\n complexIdentifiers: [\n [/\\[/, {token: 'identifier.quote', next: '@bracketedIdentifier'}],\n [/\"/, {token: 'identifier.quote', next: '@quotedIdentifier'}],\n ],\n bracketedIdentifier: [\n [/[^\\]]+/, 'identifier'],\n [/]]/, 'identifier'],\n [/]/, {token: 'identifier.quote', next: '@pop'}],\n ],\n quotedIdentifier: [\n [/[^\"]+/, 'identifier'],\n [/\"\"/, 'identifier'],\n [/\"/, {token: 'identifier.quote', next: '@pop'}],\n ],\n scopes: [],\n },\n};\n"]}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * DuckDB SQL language constants for Monaco Editor
3
+ */
4
+ export declare const DUCKDB_KEYWORDS: string[];
5
+ export declare const DUCKDB_FUNCTIONS: string[];
6
+ export declare const SQL_OPERATORS: string[];
7
+ export declare const SQL_VARIABLES: string[];
8
+ export declare const SQL_PSEUDO_COLUMNS: string[];
9
+ export declare const SQL_LANGUAGE_CONFIGURATION: {
10
+ defaultToken: string;
11
+ tokenPostfix: string;
12
+ ignoreCase: boolean;
13
+ brackets: {
14
+ open: string;
15
+ close: string;
16
+ token: string;
17
+ }[];
18
+ keywords: string[];
19
+ operators: string[];
20
+ builtinFunctions: string[];
21
+ builtinVariables: string[];
22
+ pseudoColumns: string[];
23
+ tokenizer: {
24
+ root: ((string | RegExp)[] | {
25
+ include: string;
26
+ } | (RegExp | {
27
+ cases: {
28
+ '@keywords': string;
29
+ '@operators': string;
30
+ '@builtinFunctions': string;
31
+ '@builtinVariables': string;
32
+ '@pseudoColumns': string;
33
+ '@default': string;
34
+ };
35
+ })[])[];
36
+ whitespace: (string | RegExp)[][];
37
+ comments: ((string | RegExp)[] | (RegExp | {
38
+ token: string;
39
+ next: string;
40
+ })[])[];
41
+ comment: ((string | RegExp)[] | (RegExp | {
42
+ token: string;
43
+ next: string;
44
+ })[])[];
45
+ numbers: (string | RegExp)[][];
46
+ strings: (RegExp | {
47
+ token: string;
48
+ next: string;
49
+ })[][];
50
+ string: ((string | RegExp)[] | (RegExp | {
51
+ token: string;
52
+ next: string;
53
+ })[])[];
54
+ stringDouble: ((string | RegExp)[] | (RegExp | {
55
+ token: string;
56
+ next: string;
57
+ })[])[];
58
+ complexIdentifiers: (RegExp | {
59
+ token: string;
60
+ next: string;
61
+ })[][];
62
+ bracketedIdentifier: ((string | RegExp)[] | (RegExp | {
63
+ token: string;
64
+ next: string;
65
+ })[])[];
66
+ quotedIdentifier: ((string | RegExp)[] | (RegExp | {
67
+ token: string;
68
+ next: string;
69
+ })[])[];
70
+ scopes: never[];
71
+ };
72
+ };
73
+ //# sourceMappingURL=duckdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdb.d.ts","sourceRoot":"","sources":["../../src/constants/duckdb.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe,UA6H3B,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAgI5B,CAAC;AAGF,eAAO,MAAM,aAAa,UAyBzB,CAAC;AAGF,eAAO,MAAM,aAAa,UAUzB,CAAC;AAGF,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFtC,CAAC"}