dt-sql-parser 4.0.0-beta.4.1 → 4.0.0-beta.4.3

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 (93) hide show
  1. package/README.md +124 -43
  2. package/dist/index.d.ts +5 -5
  3. package/dist/index.js +4 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/flinksql/FlinkSqlLexer.d.ts +202 -201
  6. package/dist/lib/flinksql/FlinkSqlLexer.js +2003 -1996
  7. package/dist/lib/flinksql/FlinkSqlLexer.js.map +1 -1
  8. package/dist/lib/flinksql/FlinkSqlParser.d.ts +328 -265
  9. package/dist/lib/flinksql/FlinkSqlParser.js +3712 -3076
  10. package/dist/lib/flinksql/FlinkSqlParser.js.map +1 -1
  11. package/dist/lib/flinksql/FlinkSqlParserListener.d.ts +44 -0
  12. package/dist/lib/flinksql/FlinkSqlParserVisitor.d.ts +28 -0
  13. package/dist/lib/hive/HiveSqlLexer.d.ts +365 -351
  14. package/dist/lib/hive/HiveSqlLexer.js +2494 -2457
  15. package/dist/lib/hive/HiveSqlLexer.js.map +1 -1
  16. package/dist/lib/hive/{HiveSql.d.ts → HiveSqlParser.d.ts} +2791 -2463
  17. package/dist/lib/hive/{HiveSql.js → HiveSqlParser.js} +18554 -16800
  18. package/dist/lib/hive/HiveSqlParser.js.map +1 -0
  19. package/dist/lib/hive/{HiveSqlListener.d.ts → HiveSqlParserListener.d.ts} +1759 -1517
  20. package/dist/lib/hive/HiveSqlParserListener.js +3 -0
  21. package/dist/lib/hive/HiveSqlParserListener.js.map +1 -0
  22. package/dist/lib/hive/{HiveSqlVisitor.d.ts → HiveSqlParserVisitor.d.ts} +1165 -1011
  23. package/dist/lib/hive/HiveSqlParserVisitor.js +3 -0
  24. package/dist/lib/hive/HiveSqlParserVisitor.js.map +1 -0
  25. package/dist/lib/pgsql/PostgreSQLLexerBase.js +0 -4
  26. package/dist/lib/pgsql/PostgreSQLLexerBase.js.map +1 -1
  27. package/dist/lib/pgsql/PostgreSQLParserBase.js +0 -6
  28. package/dist/lib/pgsql/PostgreSQLParserBase.js.map +1 -1
  29. package/dist/lib/spark/SparkSqlLexer.d.ts +398 -322
  30. package/dist/lib/spark/SparkSqlLexer.js +2302 -1738
  31. package/dist/lib/spark/SparkSqlLexer.js.map +1 -1
  32. package/dist/lib/spark/SparkSqlParser.d.ts +3319 -3314
  33. package/dist/lib/spark/SparkSqlParser.js +18718 -16132
  34. package/dist/lib/spark/SparkSqlParser.js.map +1 -1
  35. package/dist/lib/spark/SparkSqlParserListener.d.ts +2130 -0
  36. package/dist/lib/spark/SparkSqlParserListener.js +3 -0
  37. package/dist/lib/spark/SparkSqlParserListener.js.map +1 -0
  38. package/dist/lib/spark/SparkSqlParserVisitor.d.ts +1361 -0
  39. package/dist/lib/spark/SparkSqlParserVisitor.js +3 -0
  40. package/dist/lib/spark/SparkSqlParserVisitor.js.map +1 -0
  41. package/dist/parser/common/basic-parser-types.d.ts +16 -3
  42. package/dist/parser/common/basic-parser-types.js +12 -2
  43. package/dist/parser/common/basic-parser-types.js.map +1 -1
  44. package/dist/parser/common/basicParser.d.ts +27 -28
  45. package/dist/parser/common/basicParser.js +76 -60
  46. package/dist/parser/common/basicParser.js.map +1 -1
  47. package/dist/parser/common/parseErrorListener.d.ts +33 -0
  48. package/dist/parser/common/parseErrorListener.js +28 -0
  49. package/dist/parser/common/parseErrorListener.js.map +1 -0
  50. package/dist/parser/flinksql.d.ts +1 -1
  51. package/dist/parser/flinksql.js +32 -13
  52. package/dist/parser/flinksql.js.map +1 -1
  53. package/dist/parser/generic.js +1 -1
  54. package/dist/parser/generic.js.map +1 -1
  55. package/dist/parser/hive.d.ts +12 -5
  56. package/dist/parser/hive.js +91 -7
  57. package/dist/parser/hive.js.map +1 -1
  58. package/dist/parser/index.d.ts +1 -0
  59. package/dist/parser/index.js +1 -0
  60. package/dist/parser/index.js.map +1 -1
  61. package/dist/parser/pgsql.js +1 -1
  62. package/dist/parser/pgsql.js.map +1 -1
  63. package/dist/parser/plsql.js +1 -1
  64. package/dist/parser/plsql.js.map +1 -1
  65. package/dist/parser/spark.d.ts +10 -3
  66. package/dist/parser/spark.js +90 -7
  67. package/dist/parser/spark.js.map +1 -1
  68. package/dist/parser/trinosql.js +1 -1
  69. package/dist/parser/trinosql.js.map +1 -1
  70. package/dist/utils/findCaretTokenIndex.d.ts +2 -2
  71. package/dist/utils/findCaretTokenIndex.js +5 -4
  72. package/dist/utils/findCaretTokenIndex.js.map +1 -1
  73. package/dist/utils/index.d.ts +1 -1
  74. package/dist/utils/index.js +1 -5
  75. package/dist/utils/index.js.map +1 -1
  76. package/dist/utils/token.d.ts +2 -2
  77. package/dist/utils/token.js +2 -2
  78. package/dist/utils/token.js.map +1 -1
  79. package/package.json +16 -9
  80. package/dist/lib/hive/HiveSql.js.map +0 -1
  81. package/dist/lib/hive/HiveSqlListener.js +0 -3
  82. package/dist/lib/hive/HiveSqlListener.js.map +0 -1
  83. package/dist/lib/hive/HiveSqlVisitor.js +0 -3
  84. package/dist/lib/hive/HiveSqlVisitor.js.map +0 -1
  85. package/dist/lib/spark/SparkSqlListener.d.ts +0 -3516
  86. package/dist/lib/spark/SparkSqlListener.js +0 -3
  87. package/dist/lib/spark/SparkSqlListener.js.map +0 -1
  88. package/dist/lib/spark/SparkSqlVisitor.d.ts +0 -2201
  89. package/dist/lib/spark/SparkSqlVisitor.js +0 -3
  90. package/dist/lib/spark/SparkSqlVisitor.js.map +0 -1
  91. package/dist/parser/common/parserErrorListener.d.ts +0 -30
  92. package/dist/parser/common/parserErrorListener.js +0 -62
  93. 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 { HiveSql, ProgramContext } from '../lib/hive/HiveSql';
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
- export default class HiveSQL extends BasicParser<HiveSqlLexer, ProgramContext, HiveSql> {
8
+ export default class HiveSQL extends BasicParser<HiveSqlLexer, ProgramContext, HiveSqlParser> {
8
9
  protected createLexerFormCharStream(charStreams: any): HiveSqlLexer;
9
- protected createParserFromTokenStream(tokenStream: any): HiveSql;
10
- protected get splitListener(): any;
10
+ protected createParserFromTokenStream(tokenStream: any): HiveSqlParser;
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,26 +1,110 @@
1
1
  import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer';
2
- import { HiveSql } from '../lib/hive/HiveSql';
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);
11
22
  return lexer;
12
23
  }
13
24
  createParserFromTokenStream(tokenStream) {
14
- return new HiveSql(tokenStream);
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,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAkD;IAAvF;;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,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,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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"}
@@ -20,7 +20,7 @@ export default class TrinoSQL extends BasicParser {
20
20
  processCandidates(candidates, allTokens, caretTokenIndex) {
21
21
  return {
22
22
  syntax: [],
23
- keywords: []
23
+ keywords: [],
24
24
  };
25
25
  }
26
26
  }
@@ -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,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,CAAC;IACN,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 '../../src/parser/common/basic-parser-types';
3
3
  /**
4
4
  * find token index via caret position (cursor position)
5
5
  * @param caretPosition
@@ -11,12 +11,13 @@ export function findCaretTokenIndex(caretPosition, allTokens) {
11
11
  while (left <= right) {
12
12
  const mid = left + ((right - left) >> 1);
13
13
  const token = allTokens[mid];
14
- if (token.line > caretLine || (token.line === caretLine
15
- && token.charPositionInLine + 1 >= caretCol)) {
14
+ if (token.line > caretLine ||
15
+ (token.line === caretLine && token.charPositionInLine + 1 >= caretCol)) {
16
16
  right = mid - 1;
17
17
  }
18
- else if (token.line < caretLine || (token.line === caretLine
19
- && token.charPositionInLine + token.text.length + 1 < caretCol)) {
18
+ else if (token.line < caretLine ||
19
+ (token.line === caretLine &&
20
+ token.charPositionInLine + token.text.length + 1 < caretCol)) {
20
21
  left = mid + 1;
21
22
  }
22
23
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"findCaretTokenIndex.js","sourceRoot":"","sources":["../../src/utils/findCaretTokenIndex.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAE,SAAkB;IAChF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAClE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,OAAM,IAAI,IAAI,KAAK,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS,IAAI,CAC1B,KAAK,CAAC,IAAI,KAAK,SAAS;eACrB,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,QAAQ,CAC9C,EAAE;YACC,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;SACnB;aAAM,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS,IAAI,CACjC,KAAK,CAAC,IAAI,KAAK,SAAS;eACrB,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CACjE,EAAE;YACC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;SAClB;aAAM;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAA;SACnC;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"findCaretTokenIndex.js","sourceRoot":"","sources":["../../src/utils/findCaretTokenIndex.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAE,SAAkB;IAChF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAClE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,OAAO,IAAI,IAAI,KAAK,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IACI,KAAK,CAAC,IAAI,GAAG,SAAS;YACtB,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,QAAQ,CAAC,EACxE;YACE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;SACnB;aAAM,IACH,KAAK,CAAC,IAAI,GAAG,SAAS;YACtB,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBACrB,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,EAClE;YACE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;SAClB;aAAM;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;SACpC;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -14,4 +14,4 @@ declare function splitSql(sql: string): any[];
14
14
  * @param {String} sql
15
15
  */
16
16
  declare function cleanSql(sql: string): string;
17
- export { cleanSql, splitSql, lexer, };
17
+ export { cleanSql, splitSql, lexer };
@@ -12,7 +12,6 @@ function lexer(input) {
12
12
  /**
13
13
  * 提取 TokenType
14
14
  */
15
- // eslint-disable-next-line
16
15
  const extract = (currentChar, validator, TokenType) => {
17
16
  let value = '';
18
17
  const start = current;
@@ -84,17 +83,14 @@ function lexer(input) {
84
83
  continue;
85
84
  }
86
85
  if (TokenReg.BackQuotation.test(char)) {
87
- // eslint-disable-next-line
88
86
  matchQuotation(char, TokenReg.BackQuotation, TokenType.BackQuotation);
89
87
  continue;
90
88
  }
91
89
  if (TokenReg.SingleQuotation.test(char)) {
92
- // eslint-disable-next-line
93
90
  matchQuotation(char, TokenReg.SingleQuotation, TokenType.SingleQuotation);
94
91
  continue;
95
92
  }
96
93
  if (TokenReg.DoubleQuotation.test(char)) {
97
- // eslint-disable-next-line
98
94
  matchQuotation(char, TokenReg.DoubleQuotation, TokenType.DoubleQuotation);
99
95
  continue;
100
96
  }
@@ -185,5 +181,5 @@ function cleanSql(sql) {
185
181
  resultSql += sql.slice(startIndex);
186
182
  return resultSql;
187
183
  }
188
- export { cleanSql, splitSql, lexer, };
184
+ export { cleanSql, splitSql, lexer };
189
185
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAS,QAAQ,EAAE,MAAM,SAAS,CAAC;AAErD;;;GAGG;AACH,SAAS,KAAK,CAAC,KAAa;IACxB,YAAY;IACZ,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,oBAAoB;IACpB,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B;;OAEG;IACH,2BAA2B;IAC3B,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAoB,EAAS,EAAE;QACpF,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,OAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAChC,KAAK,IAAI,WAAW,CAAC;YACrB,WAAW,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;SAClC;QACD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,OAAO;YACZ,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,WAAW,KAAK,IAAI,EAAE;gBACtB,IAAI,EAAE,CAAC;aACV;YACD,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC7C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACtB;YACD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,OAAO,GAAG,GAAG,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,SAAS,CAAC,iBAAiB;wBACjC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;wBAC9B,KAAK;wBACL,UAAU,EAAE,IAAI;wBAChB,GAAG;qBACN,CAAC,CAAC;oBACH,OAAO;iBACV;aACJ;SACJ;IACL,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAoB,EAAE,EAAE;QACpF,GAAG;YACC,IAAI,WAAW,KAAK,IAAI,EAAE;gBACtB,IAAI,EAAE,CAAC;aACV;YACD,WAAW,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;SAClC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAEvC,EAAE,OAAO,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE;QAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1B,mCAAmC;QACnC,2CAA2C;QAE3C,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,SAAS;SACZ;QAED,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtC,aAAa,EAAE,CAAC;YAChB,SAAS;SACZ;QAED,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnC,2BAA2B;YAC3B,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;YACtE,SAAS;SACZ;QAED,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrC,2BAA2B;YAC3B,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;YAC1E,SAAS;SACZ;QAED,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrC,2BAA2B;YAC3B,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;YAC1E,SAAS;SACZ;QAED,qBAAqB;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;YAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,CAAC;YAEtB,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE;gBAC5C,KAAK,IAAI,IAAI,CAAC;gBACd,IAAI,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;aAC3B;YACD,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS,CAAC,OAAO;gBACvB,KAAK;gBACL,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,OAAO;aACf,CAAC,CAAC;YACH,SAAS;SACZ;QAED,uBAAuB;QACvB,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;YAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC;YAEvB,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;gBAClD,IAAI,IAAI,KAAK,IAAI,EAAE;oBACf,IAAI,EAAE,CAAC;iBACV;gBACD,KAAK,IAAI,IAAI,CAAC;gBACd,IAAI,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;aAC3B;YACD,KAAK,IAAI,IAAI,CAAC;YACd,EAAE,OAAO,CAAC;YAEV,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS,CAAC,OAAO;gBACvB,KAAK;gBACL,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,SAAS;gBACrB,GAAG,EAAE,OAAO;aACf,CAAC,CAAC;YACH,SAAS;SACZ;QAED,UAAU;QACV,IAAI,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,MAAM,QAAQ,GAAG,OAAO,CACpB,IAAI,EACJ,QAAQ,CAAC,mBAAmB,EAC5B,SAAS,CAAC,mBAAmB,CAChC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,SAAS;SACZ;QAED,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAU,EAAE,EAAE;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,mBAAmB,EAAE;YAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;SACxB;IACL,CAAC,CAAC,CAAC;IACH,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,GAAW;IACzB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAU,EAAE,EAAE;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE;YAChC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAC5B;IACL,CAAC,CAAC,CAAC;IACH,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,KAAK,GACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,8 @@ export interface Token {
41
41
  message?: string;
42
42
  }
43
43
  /**
44
- * Token recognition rules
45
- */
44
+ * Token recognition rules
45
+ */
46
46
  export declare const TokenReg: {
47
47
  StatementTerminator: RegExp;
48
48
  SingleQuotation: RegExp;
@@ -31,8 +31,8 @@ export var TokenType;
31
31
  TokenType["FunctionArguments"] = "FunctionArguments";
32
32
  })(TokenType || (TokenType = {}));
33
33
  /**
34
- * Token recognition rules
35
- */
34
+ * Token recognition rules
35
+ */
36
36
  export const TokenReg = {
37
37
  [TokenType.StatementTerminator]: /[;]/,
38
38
  [TokenType.SingleQuotation]: /['|\']/,