dt-sql-parser 4.0.0-beta.4.2 → 4.0.0-beta.4.4

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 (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -43
  3. package/dist/index.d.ts +3 -3
  4. package/dist/index.js +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/flinksql/FlinkSqlParser.d.ts +122 -64
  7. package/dist/lib/flinksql/FlinkSqlParser.js +3429 -2829
  8. package/dist/lib/flinksql/FlinkSqlParser.js.map +1 -1
  9. package/dist/lib/flinksql/FlinkSqlParserListener.d.ts +44 -0
  10. package/dist/lib/flinksql/FlinkSqlParserVisitor.d.ts +28 -0
  11. package/dist/lib/hive/HiveSqlLexer.d.ts +365 -350
  12. package/dist/lib/hive/HiveSqlLexer.js +2395 -2339
  13. package/dist/lib/hive/HiveSqlLexer.js.map +1 -1
  14. package/dist/lib/hive/HiveSqlParser.d.ts +1213 -967
  15. package/dist/lib/hive/HiveSqlParser.js +10262 -8596
  16. package/dist/lib/hive/HiveSqlParser.js.map +1 -1
  17. package/dist/lib/hive/HiveSqlParserListener.d.ts +225 -27
  18. package/dist/lib/hive/HiveSqlParserVisitor.d.ts +143 -17
  19. package/dist/lib/pgsql/PostgreSQLLexerBase.js +0 -4
  20. package/dist/lib/pgsql/PostgreSQLLexerBase.js.map +1 -1
  21. package/dist/lib/pgsql/PostgreSQLParserBase.js +0 -6
  22. package/dist/lib/pgsql/PostgreSQLParserBase.js.map +1 -1
  23. package/dist/lib/spark/SparkSqlLexer.d.ts +398 -322
  24. package/dist/lib/spark/SparkSqlLexer.js +2302 -1738
  25. package/dist/lib/spark/SparkSqlLexer.js.map +1 -1
  26. package/dist/lib/spark/SparkSqlParser.d.ts +3319 -3314
  27. package/dist/lib/spark/SparkSqlParser.js +18718 -16132
  28. package/dist/lib/spark/SparkSqlParser.js.map +1 -1
  29. package/dist/lib/spark/SparkSqlParserListener.d.ts +2130 -0
  30. package/dist/lib/spark/SparkSqlParserListener.js +3 -0
  31. package/dist/lib/spark/SparkSqlParserListener.js.map +1 -0
  32. package/dist/lib/spark/SparkSqlParserVisitor.d.ts +1361 -0
  33. package/dist/lib/spark/SparkSqlParserVisitor.js +3 -0
  34. package/dist/lib/spark/SparkSqlParserVisitor.js.map +1 -0
  35. package/dist/lib/trinosql/TrinoSqlLexer.d.ts +232 -232
  36. package/dist/lib/trinosql/TrinoSqlLexer.js +328 -312
  37. package/dist/lib/trinosql/TrinoSqlLexer.js.map +1 -1
  38. package/dist/lib/trinosql/TrinoSqlListener.d.ts +1066 -923
  39. package/dist/lib/trinosql/TrinoSqlListener.js +1 -1
  40. package/dist/lib/trinosql/TrinoSqlListener.js.map +1 -1
  41. package/dist/lib/trinosql/TrinoSqlParser.d.ts +1218 -1084
  42. package/dist/lib/trinosql/TrinoSqlParser.js +10856 -9918
  43. package/dist/lib/trinosql/TrinoSqlParser.js.map +1 -1
  44. package/dist/lib/trinosql/TrinoSqlVisitor.d.ts +589 -498
  45. package/dist/lib/trinosql/TrinoSqlVisitor.js +1 -1
  46. package/dist/lib/trinosql/TrinoSqlVisitor.js.map +1 -1
  47. package/dist/parser/common/basic-parser-types.d.ts +16 -3
  48. package/dist/parser/common/basic-parser-types.js +12 -2
  49. package/dist/parser/common/basic-parser-types.js.map +1 -1
  50. package/dist/parser/common/basicParser.d.ts +27 -28
  51. package/dist/parser/common/basicParser.js +76 -60
  52. package/dist/parser/common/basicParser.js.map +1 -1
  53. package/dist/parser/common/parseErrorListener.d.ts +33 -0
  54. package/dist/parser/common/parseErrorListener.js +28 -0
  55. package/dist/parser/common/parseErrorListener.js.map +1 -0
  56. package/dist/parser/flinksql.js +32 -13
  57. package/dist/parser/flinksql.js.map +1 -1
  58. package/dist/parser/generic.js +1 -1
  59. package/dist/parser/generic.js.map +1 -1
  60. package/dist/parser/hive.d.ts +10 -3
  61. package/dist/parser/hive.js +89 -5
  62. package/dist/parser/hive.js.map +1 -1
  63. package/dist/parser/index.d.ts +1 -0
  64. package/dist/parser/index.js +1 -0
  65. package/dist/parser/index.js.map +1 -1
  66. package/dist/parser/pgsql.js +1 -1
  67. package/dist/parser/pgsql.js.map +1 -1
  68. package/dist/parser/plsql.js +1 -1
  69. package/dist/parser/plsql.js.map +1 -1
  70. package/dist/parser/spark.d.ts +10 -3
  71. package/dist/parser/spark.js +90 -7
  72. package/dist/parser/spark.js.map +1 -1
  73. package/dist/parser/trinosql.d.ts +9 -3
  74. package/dist/parser/trinosql.js +87 -5
  75. package/dist/parser/trinosql.js.map +1 -1
  76. package/dist/utils/findCaretTokenIndex.d.ts +2 -2
  77. package/dist/utils/findCaretTokenIndex.js +5 -4
  78. package/dist/utils/findCaretTokenIndex.js.map +1 -1
  79. package/dist/utils/index.d.ts +1 -1
  80. package/dist/utils/index.js +1 -5
  81. package/dist/utils/index.js.map +1 -1
  82. package/dist/utils/token.d.ts +2 -2
  83. package/dist/utils/token.js +2 -2
  84. package/dist/utils/token.js.map +1 -1
  85. package/package.json +15 -9
  86. package/dist/lib/spark/SparkSqlListener.d.ts +0 -3516
  87. package/dist/lib/spark/SparkSqlListener.js +0 -3
  88. package/dist/lib/spark/SparkSqlListener.js.map +0 -1
  89. package/dist/lib/spark/SparkSqlVisitor.d.ts +0 -2201
  90. package/dist/lib/spark/SparkSqlVisitor.js +0 -3
  91. package/dist/lib/spark/SparkSqlVisitor.js.map +0 -1
  92. package/dist/parser/common/parserErrorListener.d.ts +0 -30
  93. package/dist/parser/common/parserErrorListener.js +0 -62
  94. package/dist/parser/common/parserErrorListener.js.map +0 -1
@@ -1,16 +1,20 @@
1
1
  import { FlinkSqlLexer } from '../lib/flinksql/FlinkSqlLexer';
2
- import { FlinkSqlParser } from '../lib/flinksql/FlinkSqlParser';
2
+ import { FlinkSqlParser, } from '../lib/flinksql/FlinkSqlParser';
3
3
  import { SyntaxContextType } from './common/basic-parser-types';
4
4
  import BasicParser from './common/basicParser';
5
5
  export default class FlinkSQL extends BasicParser {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.preferredRules = new Set([
9
- FlinkSqlParser.RULE_tablePath,
10
- FlinkSqlParser.RULE_tablePathCreate,
9
+ FlinkSqlParser.RULE_catalogPath,
11
10
  FlinkSqlParser.RULE_databasePath,
12
11
  FlinkSqlParser.RULE_databasePathCreate,
13
- FlinkSqlParser.RULE_catalogPath, // catalog name
12
+ FlinkSqlParser.RULE_tablePath,
13
+ FlinkSqlParser.RULE_tablePathCreate,
14
+ FlinkSqlParser.RULE_viewPath,
15
+ FlinkSqlParser.RULE_viewPathCreate,
16
+ FlinkSqlParser.RULE_functionName,
17
+ FlinkSqlParser.RULE_functionNameCreate, // functionName that will be created
14
18
  ]);
15
19
  }
16
20
  createLexerFormCharStream(charStreams) {
@@ -33,6 +37,18 @@ export default class FlinkSQL extends BasicParser {
33
37
  const tokenRanges = allTokens.slice(startTokenIndex, caretTokenIndex + tokenIndexOffset + 1);
34
38
  let syntaxContextType;
35
39
  switch (ruleType) {
40
+ case FlinkSqlParser.RULE_catalogPath: {
41
+ syntaxContextType = SyntaxContextType.CATALOG;
42
+ break;
43
+ }
44
+ case FlinkSqlParser.RULE_databasePath: {
45
+ syntaxContextType = SyntaxContextType.DATABASE;
46
+ break;
47
+ }
48
+ case FlinkSqlParser.RULE_databasePathCreate: {
49
+ syntaxContextType = SyntaxContextType.DATABASE_CREATE;
50
+ break;
51
+ }
36
52
  case FlinkSqlParser.RULE_tablePath: {
37
53
  syntaxContextType = SyntaxContextType.TABLE;
38
54
  break;
@@ -41,16 +57,20 @@ export default class FlinkSQL extends BasicParser {
41
57
  syntaxContextType = SyntaxContextType.TABLE_CREATE;
42
58
  break;
43
59
  }
44
- case FlinkSqlParser.RULE_databasePath: {
45
- syntaxContextType = SyntaxContextType.DATABASE;
60
+ case FlinkSqlParser.RULE_viewPath: {
61
+ syntaxContextType = SyntaxContextType.VIEW;
46
62
  break;
47
63
  }
48
- case FlinkSqlParser.RULE_databasePathCreate: {
49
- syntaxContextType = SyntaxContextType.DATABASE;
64
+ case FlinkSqlParser.RULE_viewPathCreate: {
65
+ syntaxContextType = SyntaxContextType.VIEW_CREATE;
50
66
  break;
51
67
  }
52
- case FlinkSqlParser.RULE_catalogPath: {
53
- syntaxContextType = SyntaxContextType.CATALOG;
68
+ case FlinkSqlParser.RULE_functionName: {
69
+ syntaxContextType = SyntaxContextType.FUNCTION;
70
+ break;
71
+ }
72
+ case FlinkSqlParser.RULE_functionNameCreate: {
73
+ syntaxContextType = SyntaxContextType.FUNCTION_CREATE;
54
74
  break;
55
75
  }
56
76
  default:
@@ -59,7 +79,7 @@ export default class FlinkSQL extends BasicParser {
59
79
  if (syntaxContextType) {
60
80
  originalSyntaxSuggestions.push({
61
81
  syntaxContextType,
62
- wordRanges: tokenRanges
82
+ wordRanges: tokenRanges,
63
83
  });
64
84
  }
65
85
  }
@@ -85,8 +105,7 @@ export class FlinkSqlSplitListener {
85
105
  this.exitSqlStatement = (ctx) => {
86
106
  this._statementsContext.push(ctx);
87
107
  };
88
- this.enterSqlStatements = (ctx) => {
89
- };
108
+ this.enterSqlStatements = (ctx) => { };
90
109
  }
91
110
  get statementsContext() {
92
111
  return this._statementsContext;
@@ -1 +1 @@
1
- {"version":3,"file":"flinksql.js","sourceRoot":"","sources":["../../src/parser/flinksql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flinksql.js","sourceRoot":"","sources":["../../src/parser/flinksql.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export default class GenericSQL extends BasicParser {
19
19
  processCandidates(candidates, allTokens, caretTokenIndex) {
20
20
  return {
21
21
  syntax: [],
22
- keywords: []
22
+ keywords: [],
23
23
  };
24
24
  }
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/parser/generic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAkB,MAAM,0BAA0B,CAAC;AACrE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAgD;IAAxF;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/parser/generic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAkB,MAAM,0BAA0B,CAAC;AACrE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAgD;IAAxF;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;CACJ"}
@@ -1,13 +1,20 @@
1
1
  import { Token } from 'antlr4ts';
2
2
  import { CandidatesCollection } from 'antlr4-c3';
3
3
  import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer';
4
- import { HiveSqlParser, ProgramContext } from '../lib/hive/HiveSqlParser';
4
+ import { HiveSqlParser, ProgramContext, StatementContext } from '../lib/hive/HiveSqlParser';
5
5
  import BasicParser from './common/basicParser';
6
+ import { HiveSqlParserListener } from '../lib/hive/HiveSqlParserListener';
6
7
  import { Suggestions } from './common/basic-parser-types';
7
8
  export default class HiveSQL extends BasicParser<HiveSqlLexer, ProgramContext, HiveSqlParser> {
8
9
  protected createLexerFormCharStream(charStreams: any): HiveSqlLexer;
9
10
  protected createParserFromTokenStream(tokenStream: any): HiveSqlParser;
10
- protected get splitListener(): any;
11
11
  protected preferredRules: Set<number>;
12
- protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number): Suggestions<Token>;
12
+ protected get splitListener(): HiveSqlSplitListener;
13
+ protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
14
+ }
15
+ export declare class HiveSqlSplitListener implements HiveSqlParserListener {
16
+ private _statementContext;
17
+ exitStatement: (ctx: StatementContext) => void;
18
+ enterStatement: (ctx: StatementContext) => void;
19
+ get statementsContext(): StatementContext[];
13
20
  }
@@ -1,10 +1,21 @@
1
1
  import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer';
2
2
  import { HiveSqlParser } from '../lib/hive/HiveSqlParser';
3
3
  import BasicParser from './common/basicParser';
4
+ import { SyntaxContextType } from './common/basic-parser-types';
4
5
  export default class HiveSQL extends BasicParser {
5
6
  constructor() {
6
7
  super(...arguments);
7
- this.preferredRules = new Set();
8
+ this.preferredRules = new Set([
9
+ HiveSqlParser.RULE_dbSchemaName,
10
+ HiveSqlParser.RULE_dbSchemaNameCreate,
11
+ HiveSqlParser.RULE_tableName,
12
+ HiveSqlParser.RULE_tableNameCreate,
13
+ HiveSqlParser.RULE_viewName,
14
+ HiveSqlParser.RULE_viewNameCreate,
15
+ HiveSqlParser.RULE_functionNameForDDL,
16
+ HiveSqlParser.RULE_functionNameForInvoke,
17
+ HiveSqlParser.RULE_functionNameCreate, // function name that will be created
18
+ ]);
8
19
  }
9
20
  createLexerFormCharStream(charStreams) {
10
21
  const lexer = new HiveSqlLexer(charStreams);
@@ -14,13 +25,86 @@ export default class HiveSQL extends BasicParser {
14
25
  return new HiveSqlParser(tokenStream);
15
26
  }
16
27
  get splitListener() {
17
- return null;
28
+ return new HiveSqlSplitListener();
18
29
  }
19
- processCandidates(candidates, allTokens, caretTokenIndex) {
30
+ processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
31
+ const originalSyntaxSuggestions = [];
32
+ const keywords = [];
33
+ for (let candidate of candidates.rules) {
34
+ const [ruleType, candidateRule] = candidate;
35
+ const startTokenIndex = candidateRule.startTokenIndex + tokenIndexOffset;
36
+ const tokenRanges = allTokens.slice(startTokenIndex, caretTokenIndex + tokenIndexOffset + 1);
37
+ let syntaxContextType;
38
+ switch (ruleType) {
39
+ case HiveSqlParser.RULE_dbSchemaName: {
40
+ syntaxContextType = SyntaxContextType.DATABASE;
41
+ break;
42
+ }
43
+ case HiveSqlParser.RULE_dbSchemaNameCreate: {
44
+ syntaxContextType = SyntaxContextType.DATABASE_CREATE;
45
+ break;
46
+ }
47
+ case HiveSqlParser.RULE_tableName: {
48
+ syntaxContextType = SyntaxContextType.TABLE;
49
+ break;
50
+ }
51
+ case HiveSqlParser.RULE_tableNameCreate: {
52
+ syntaxContextType = SyntaxContextType.TABLE_CREATE;
53
+ break;
54
+ }
55
+ case HiveSqlParser.RULE_viewName: {
56
+ syntaxContextType = SyntaxContextType.VIEW;
57
+ break;
58
+ }
59
+ case HiveSqlParser.RULE_viewNameCreate: {
60
+ syntaxContextType = SyntaxContextType.VIEW_CREATE;
61
+ break;
62
+ }
63
+ case HiveSqlParser.RULE_functionNameForDDL:
64
+ case HiveSqlParser.RULE_functionNameForInvoke: {
65
+ syntaxContextType = SyntaxContextType.FUNCTION;
66
+ break;
67
+ }
68
+ case HiveSqlParser.RULE_functionNameCreate: {
69
+ syntaxContextType = SyntaxContextType.FUNCTION_CREATE;
70
+ break;
71
+ }
72
+ default:
73
+ break;
74
+ }
75
+ if (syntaxContextType) {
76
+ originalSyntaxSuggestions.push({
77
+ syntaxContextType,
78
+ wordRanges: tokenRanges,
79
+ });
80
+ }
81
+ }
82
+ for (let candidate of candidates.tokens) {
83
+ const symbolicName = this._parser.vocabulary.getSymbolicName(candidate[0]);
84
+ const displayName = this._parser.vocabulary.getDisplayName(candidate[0]);
85
+ if (symbolicName && symbolicName.startsWith('KW_')) {
86
+ const keyword = displayName.startsWith("'") && displayName.endsWith("'")
87
+ ? displayName.slice(1, -1)
88
+ : displayName;
89
+ keywords.push(keyword);
90
+ }
91
+ }
20
92
  return {
21
- syntax: [],
22
- keywords: []
93
+ syntax: originalSyntaxSuggestions,
94
+ keywords,
23
95
  };
24
96
  }
25
97
  }
98
+ export class HiveSqlSplitListener {
99
+ constructor() {
100
+ this._statementContext = [];
101
+ this.exitStatement = (ctx) => {
102
+ this._statementContext.push(ctx);
103
+ };
104
+ this.enterStatement = (ctx) => { };
105
+ }
106
+ get statementsContext() {
107
+ return this._statementContext;
108
+ }
109
+ }
26
110
  //# sourceMappingURL=hive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hive.js","sourceRoot":"","sources":["../../src/parser/hive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAkB,MAAM,2BAA2B,CAAC;AAC1E,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAwD;IAA7F;;QAcc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAYtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAIS,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"hive.js","sourceRoot":"","sources":["../../src/parser/hive.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ export { default as HiveSQL } from './hive';
4
4
  export { default as FlinkSQL } from './flinksql';
5
5
  export { default as SparkSQL } from './spark';
6
6
  export { default as PostgresSQL } from './pgsql';
7
+ export { default as TrinoSQL } from './trinosql';
@@ -4,4 +4,5 @@ export { default as HiveSQL } from './hive';
4
4
  export { default as FlinkSQL } from './flinksql';
5
5
  export { default as SparkSQL } from './spark';
6
6
  export { default as PostgresSQL } from './pgsql';
7
+ export { default as TrinoSQL } from './trinosql';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -19,7 +19,7 @@ export default class PostgresSQL extends BasicParser {
19
19
  processCandidates(candidates, allTokens, caretTokenIndex) {
20
20
  return {
21
21
  syntax: [],
22
- keywords: []
22
+ keywords: [],
23
23
  };
24
24
  }
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pgsql.js","sourceRoot":"","sources":["../../src/parser/pgsql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,+BAA+B,CAAC;AACjF,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAA8D;IAAvG;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"pgsql.js","sourceRoot":"","sources":["../../src/parser/pgsql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,+BAA+B,CAAC;AACjF,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAIxC;IAJD;;QAcc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;CACJ"}
@@ -19,7 +19,7 @@ export default class PLSQL extends BasicParser {
19
19
  processCandidates(candidates, allTokens, caretTokenIndex) {
20
20
  return {
21
21
  syntax: [],
22
- keywords: []
22
+ keywords: [],
23
23
  };
24
24
  }
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plsql.js","sourceRoot":"","sources":["../../src/parser/plsql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAkB,MAAM,0BAA0B,CAAC;AACvE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAoD;IAAvF;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"plsql.js","sourceRoot":"","sources":["../../src/parser/plsql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAkB,MAAM,0BAA0B,CAAC;AACvE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAoD;IAAvF;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;CACJ"}
@@ -1,13 +1,20 @@
1
1
  import { Token } from 'antlr4ts';
2
2
  import { CandidatesCollection } from 'antlr4-c3';
3
3
  import { SparkSqlLexer } from '../lib/spark/SparkSqlLexer';
4
- import { SparkSqlParser, ProgramContext } from '../lib/spark/SparkSqlParser';
4
+ import { SparkSqlParser, ProgramContext, SingleStatementContext } from '../lib/spark/SparkSqlParser';
5
5
  import BasicParser from './common/basicParser';
6
6
  import { Suggestions } from './common/basic-parser-types';
7
+ import { SparkSqlParserListener } from 'src/lib/spark/SparkSqlParserListener';
7
8
  export default class SparkSQL extends BasicParser<SparkSqlLexer, ProgramContext, SparkSqlParser> {
8
9
  protected createLexerFormCharStream(charStreams: any): SparkSqlLexer;
9
10
  protected createParserFromTokenStream(tokenStream: any): SparkSqlParser;
10
11
  protected preferredRules: Set<number>;
11
- protected get splitListener(): any;
12
- protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number): Suggestions<Token>;
12
+ protected get splitListener(): SparkSqlSplitListener;
13
+ protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
14
+ }
15
+ export declare class SparkSqlSplitListener implements SparkSqlParserListener {
16
+ private _statementsContext;
17
+ exitSingleStatement: (ctx: SingleStatementContext) => void;
18
+ enterSingleStatement: (ctx: SingleStatementContext) => void;
19
+ get statementsContext(): SingleStatementContext[];
13
20
  }
@@ -1,26 +1,109 @@
1
1
  import { SparkSqlLexer } from '../lib/spark/SparkSqlLexer';
2
- import { SparkSqlParser } from '../lib/spark/SparkSqlParser';
2
+ import { SparkSqlParser, } from '../lib/spark/SparkSqlParser';
3
3
  import BasicParser from './common/basicParser';
4
+ import { SyntaxContextType } from './common/basic-parser-types';
4
5
  export default class SparkSQL extends BasicParser {
5
6
  constructor() {
6
7
  super(...arguments);
7
- this.preferredRules = new Set();
8
+ this.preferredRules = new Set([
9
+ SparkSqlParser.RULE_dbSchemaName,
10
+ SparkSqlParser.RULE_dbSchemaNameCreate,
11
+ SparkSqlParser.RULE_tableName,
12
+ SparkSqlParser.RULE_tableNameCreate,
13
+ SparkSqlParser.RULE_viewName,
14
+ SparkSqlParser.RULE_viewNameCreate,
15
+ SparkSqlParser.RULE_functionName,
16
+ SparkSqlParser.RULE_functionNameCreate,
17
+ ]);
8
18
  }
9
19
  createLexerFormCharStream(charStreams) {
10
20
  const lexer = new SparkSqlLexer(charStreams);
11
21
  return lexer;
12
22
  }
13
23
  createParserFromTokenStream(tokenStream) {
14
- return new SparkSqlParser(tokenStream);
24
+ const parser = new SparkSqlParser(tokenStream);
25
+ return parser;
15
26
  }
16
27
  get splitListener() {
17
- return null;
28
+ return new SparkSqlSplitListener();
18
29
  }
19
- processCandidates(candidates, allTokens, caretTokenIndex) {
30
+ processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
31
+ const originalSyntaxSuggestions = [];
32
+ const keywords = [];
33
+ for (const candidate of candidates.rules) {
34
+ const [ruleType, candidateRule] = candidate;
35
+ const startTokenIndex = candidateRule.startTokenIndex + tokenIndexOffset;
36
+ const tokenRanges = allTokens.slice(startTokenIndex, caretTokenIndex + tokenIndexOffset + 1);
37
+ let syntaxContextType;
38
+ switch (ruleType) {
39
+ case SparkSqlParser.RULE_dbSchemaName: {
40
+ syntaxContextType = SyntaxContextType.DATABASE;
41
+ break;
42
+ }
43
+ case SparkSqlParser.RULE_dbSchemaNameCreate: {
44
+ syntaxContextType = SyntaxContextType.DATABASE_CREATE;
45
+ break;
46
+ }
47
+ case SparkSqlParser.RULE_tableName: {
48
+ syntaxContextType = SyntaxContextType.TABLE;
49
+ break;
50
+ }
51
+ case SparkSqlParser.RULE_tableNameCreate: {
52
+ syntaxContextType = SyntaxContextType.TABLE_CREATE;
53
+ break;
54
+ }
55
+ case SparkSqlParser.RULE_viewName: {
56
+ syntaxContextType = SyntaxContextType.VIEW;
57
+ break;
58
+ }
59
+ case SparkSqlParser.RULE_viewNameCreate: {
60
+ syntaxContextType = SyntaxContextType.VIEW_CREATE;
61
+ break;
62
+ }
63
+ case SparkSqlParser.RULE_functionName: {
64
+ syntaxContextType = SyntaxContextType.FUNCTION;
65
+ break;
66
+ }
67
+ case SparkSqlParser.RULE_functionNameCreate: {
68
+ syntaxContextType = SyntaxContextType.FUNCTION_CREATE;
69
+ break;
70
+ }
71
+ default:
72
+ break;
73
+ }
74
+ if (syntaxContextType) {
75
+ originalSyntaxSuggestions.push({
76
+ syntaxContextType,
77
+ wordRanges: tokenRanges,
78
+ });
79
+ }
80
+ }
81
+ for (const candidate of candidates.tokens) {
82
+ const symbolicName = this._parser.vocabulary.getSymbolicName(candidate[0]);
83
+ const displayName = this._parser.vocabulary.getDisplayName(candidate[0]);
84
+ if (symbolicName && symbolicName.startsWith('KW_')) {
85
+ const keyword = displayName.startsWith("'") && displayName.endsWith("'")
86
+ ? displayName.slice(1, -1)
87
+ : displayName;
88
+ keywords.push(keyword);
89
+ }
90
+ }
20
91
  return {
21
- syntax: [],
22
- keywords: []
92
+ syntax: originalSyntaxSuggestions,
93
+ keywords,
23
94
  };
24
95
  }
25
96
  }
97
+ export class SparkSqlSplitListener {
98
+ constructor() {
99
+ this._statementsContext = [];
100
+ this.exitSingleStatement = (ctx) => {
101
+ this._statementsContext.push(ctx);
102
+ };
103
+ this.enterSingleStatement = (ctx) => { };
104
+ }
105
+ get statementsContext() {
106
+ return this._statementsContext;
107
+ }
108
+ }
26
109
  //# sourceMappingURL=spark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spark.js","sourceRoot":"","sources":["../../src/parser/spark.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAkB,MAAM,6BAA6B,CAAC;AAC7E,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAA0D;IAAhG;;QAUc,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAgBtD,CAAC;IAzBa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,OAAO,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAID,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAES,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"spark.js","sourceRoot":"","sources":["../../src/parser/spark.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
1
  import { Token } from 'antlr4ts';
2
2
  import { CandidatesCollection } from 'antlr4-c3';
3
3
  import { TrinoSqlLexer } from '../lib/trinosql/TrinoSqlLexer';
4
- import { TrinoSqlParser, ProgramContext } from '../lib/trinosql/TrinoSqlParser';
4
+ import { TrinoSqlParser, ProgramContext, StatementContext } from '../lib/trinosql/TrinoSqlParser';
5
+ import { TrinoSqlListener } from '../lib/trinosql/TrinoSqlListener';
5
6
  import BasicParser from './common/basicParser';
6
7
  import { Suggestions } from './common/basic-parser-types';
7
8
  export default class TrinoSQL extends BasicParser<TrinoSqlLexer, ProgramContext, TrinoSqlParser> {
8
9
  protected createLexerFormCharStream(charStreams: any): TrinoSqlLexer;
9
10
  protected createParserFromTokenStream(tokenStream: any): TrinoSqlParser;
10
- protected get splitListener(): any;
11
+ protected get splitListener(): TrinoSqlSplitListener;
11
12
  protected preferredRules: Set<number>;
12
- protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number): Suggestions<Token>;
13
+ protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
14
+ }
15
+ export declare class TrinoSqlSplitListener implements TrinoSqlListener {
16
+ private _statementsContext;
17
+ exitStatement: (ctx: StatementContext) => void;
18
+ get statementsContext(): StatementContext[];
13
19
  }
@@ -1,10 +1,21 @@
1
1
  import { TrinoSqlLexer } from '../lib/trinosql/TrinoSqlLexer';
2
2
  import { TrinoSqlParser } from '../lib/trinosql/TrinoSqlParser';
3
3
  import BasicParser from './common/basicParser';
4
+ import { SyntaxContextType } from './common/basic-parser-types';
4
5
  export default class TrinoSQL extends BasicParser {
5
6
  constructor() {
6
7
  super(...arguments);
7
- this.preferredRules = new Set();
8
+ this.preferredRules = new Set([
9
+ TrinoSqlParser.RULE_catalogName,
10
+ TrinoSqlParser.RULE_catalogNameCreate,
11
+ TrinoSqlParser.RULE_schemaName,
12
+ TrinoSqlParser.RULE_schemaNameCreate,
13
+ TrinoSqlParser.RULE_tableName,
14
+ TrinoSqlParser.RULE_tableNameCreate,
15
+ TrinoSqlParser.RULE_viewName,
16
+ TrinoSqlParser.RULE_viewNameCreate,
17
+ TrinoSqlParser.RULE_functionName,
18
+ ]);
8
19
  }
9
20
  createLexerFormCharStream(charStreams) {
10
21
  const lexer = new TrinoSqlLexer(charStreams);
@@ -15,13 +26,84 @@ export default class TrinoSQL extends BasicParser {
15
26
  return parser;
16
27
  }
17
28
  get splitListener() {
18
- return null;
29
+ return new TrinoSqlSplitListener();
19
30
  }
20
- processCandidates(candidates, allTokens, caretTokenIndex) {
31
+ processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
32
+ const originalSyntaxSuggestions = [];
33
+ const keywords = [];
34
+ for (let candidate of candidates.rules) {
35
+ const [ruleType, candidateRule] = candidate;
36
+ const startTokenIndex = candidateRule.startTokenIndex + tokenIndexOffset;
37
+ const tokenRanges = allTokens.slice(startTokenIndex, caretTokenIndex + tokenIndexOffset + 1);
38
+ let syntaxContextType;
39
+ switch (ruleType) {
40
+ case TrinoSqlParser.RULE_catalogName: {
41
+ syntaxContextType = SyntaxContextType.CATALOG;
42
+ break;
43
+ }
44
+ case TrinoSqlParser.RULE_schemaName: {
45
+ syntaxContextType = SyntaxContextType.DATABASE;
46
+ break;
47
+ }
48
+ case TrinoSqlParser.RULE_schemaNameCreate: {
49
+ syntaxContextType = SyntaxContextType.DATABASE_CREATE;
50
+ break;
51
+ }
52
+ case TrinoSqlParser.RULE_tableName: {
53
+ syntaxContextType = SyntaxContextType.TABLE;
54
+ break;
55
+ }
56
+ case TrinoSqlParser.RULE_tableNameCreate: {
57
+ syntaxContextType = SyntaxContextType.TABLE_CREATE;
58
+ break;
59
+ }
60
+ case TrinoSqlParser.RULE_viewName: {
61
+ syntaxContextType = SyntaxContextType.VIEW;
62
+ break;
63
+ }
64
+ case TrinoSqlParser.RULE_viewNameCreate: {
65
+ syntaxContextType = SyntaxContextType.VIEW_CREATE;
66
+ break;
67
+ }
68
+ case TrinoSqlParser.RULE_functionName: {
69
+ syntaxContextType = SyntaxContextType.FUNCTION;
70
+ break;
71
+ }
72
+ default:
73
+ break;
74
+ }
75
+ if (syntaxContextType) {
76
+ originalSyntaxSuggestions.push({
77
+ syntaxContextType,
78
+ wordRanges: tokenRanges,
79
+ });
80
+ }
81
+ }
82
+ for (let candidate of candidates.tokens) {
83
+ const symbolicName = this._parser.vocabulary.getSymbolicName(candidate[0]);
84
+ const displayName = this._parser.vocabulary.getDisplayName(candidate[0]);
85
+ if (symbolicName && symbolicName.startsWith('KW_')) {
86
+ const keyword = displayName.startsWith("'") && displayName.endsWith("'")
87
+ ? displayName.slice(1, -1)
88
+ : displayName;
89
+ keywords.push(keyword);
90
+ }
91
+ }
21
92
  return {
22
- syntax: [],
23
- keywords: []
93
+ syntax: originalSyntaxSuggestions,
94
+ keywords,
24
95
  };
25
96
  }
26
97
  }
98
+ export class TrinoSqlSplitListener {
99
+ constructor() {
100
+ this._statementsContext = [];
101
+ this.exitStatement = (ctx) => {
102
+ this._statementsContext.push(ctx);
103
+ };
104
+ }
105
+ get statementsContext() {
106
+ return this._statementsContext;
107
+ }
108
+ }
27
109
  //# sourceMappingURL=trinosql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trinosql.js","sourceRoot":"","sources":["../../src/parser/trinosql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAkB,MAAM,gCAAgC,CAAC;AAChF,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAA0D;IAAhG;;QAec,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;IAYtD,CAAC;IA1Ba,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAc,aAAa;QACvB,OAAO,IAAW,CAAC;IACvB,CAAC;IAIS,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB;QAEvB,OAAO;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"trinosql.js","sourceRoot":"","sources":["../../src/parser/trinosql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAoC,MAAM,gCAAgC,CAAC;AAElG,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAe,iBAAiB,EAAoB,MAAM,6BAA6B,CAAC;AAE/F,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAA0D;IAAhG;;QAec,mBAAc,GAAgB,IAAI,GAAG,CAAC;YAC5C,cAAc,CAAC,gBAAgB;YAC/B,cAAc,CAAC,sBAAsB;YACrC,cAAc,CAAC,eAAe;YAC9B,cAAc,CAAC,qBAAqB;YACpC,cAAc,CAAC,cAAc;YAC7B,cAAc,CAAC,oBAAoB;YACnC,cAAc,CAAC,aAAa;YAC5B,cAAc,CAAC,mBAAmB;YAClC,cAAc,CAAC,iBAAiB;SACnC,CAAC,CAAC;IAiFP,CAAC;IAzGa,yBAAyB,CAAC,WAAW;QAC3C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,2BAA2B,CAAC,WAAW;QAC7C,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAc,aAAa;QACvB,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAcS,iBAAiB,CACvB,UAAgC,EAChC,SAAkB,EAClB,eAAuB,EACvB,gBAAwB;QAExB,MAAM,yBAAyB,GAA8B,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE;YACpC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;YAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,GAAG,gBAAgB,CAAC;YACzE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAC/B,eAAe,EACf,eAAe,GAAG,gBAAgB,GAAG,CAAC,CACzC,CAAC;YAEF,IAAI,iBAAoC,CAAC;YACzC,QAAQ,QAAQ,EAAE;gBACd,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBAClC,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBAC9C,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,eAAe,CAAC,CAAC;oBACjC,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;oBAC/C,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,qBAAqB,CAAC,CAAC;oBACvC,iBAAiB,GAAG,iBAAiB,CAAC,eAAe,CAAC;oBACtD,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC;oBAChC,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC;oBAC5C,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,oBAAoB,CAAC,CAAC;oBACtC,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,CAAC;oBACnD,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,aAAa,CAAC,CAAC;oBAC/B,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC;oBAC3C,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,mBAAmB,CAAC,CAAC;oBACrC,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,CAAC;oBAClD,MAAM;iBACT;gBACD,KAAK,cAAc,CAAC,iBAAiB,CAAC,CAAC;oBACnC,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;oBAC/C,MAAM;iBACT;gBACD;oBACI,MAAM;aACb;YAED,IAAI,iBAAiB,EAAE;gBACnB,yBAAyB,CAAC,IAAI,CAAC;oBAC3B,iBAAiB;oBACjB,UAAU,EAAE,WAAW;iBAC1B,CAAC,CAAC;aACN;SACJ;QAED,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAChD,MAAM,OAAO,GACT,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACpD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,CAAC,CAAC,WAAW,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;SACJ;QACD,OAAO;YACH,MAAM,EAAE,yBAAyB;YACjC,QAAQ;SACX,CAAC;IACN,CAAC;CACJ;AAED,MAAM,OAAO,qBAAqB;IAAlC;QACY,uBAAkB,GAAuB,EAAE,CAAC;QAEpD,kBAAa,GAAG,CAAC,GAAqB,EAAE,EAAE;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC;IAKN,CAAC;IAHG,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
- import { Token } from "antlr4ts";
2
- import { CaretPosition } from "../../src/parser/common/basic-parser-types";
1
+ import { Token } from 'antlr4ts';
2
+ import { CaretPosition } from '../parser/common/basic-parser-types';
3
3
  /**
4
4
  * find token index via caret position (cursor position)
5
5
  * @param caretPosition