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.
- package/README.md +124 -43
- package/dist/index.d.ts +5 -5
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/flinksql/FlinkSqlLexer.d.ts +202 -201
- package/dist/lib/flinksql/FlinkSqlLexer.js +2003 -1996
- package/dist/lib/flinksql/FlinkSqlLexer.js.map +1 -1
- package/dist/lib/flinksql/FlinkSqlParser.d.ts +328 -265
- package/dist/lib/flinksql/FlinkSqlParser.js +3712 -3076
- package/dist/lib/flinksql/FlinkSqlParser.js.map +1 -1
- package/dist/lib/flinksql/FlinkSqlParserListener.d.ts +44 -0
- package/dist/lib/flinksql/FlinkSqlParserVisitor.d.ts +28 -0
- package/dist/lib/hive/HiveSqlLexer.d.ts +365 -351
- package/dist/lib/hive/HiveSqlLexer.js +2494 -2457
- package/dist/lib/hive/HiveSqlLexer.js.map +1 -1
- package/dist/lib/hive/{HiveSql.d.ts → HiveSqlParser.d.ts} +2791 -2463
- package/dist/lib/hive/{HiveSql.js → HiveSqlParser.js} +18554 -16800
- package/dist/lib/hive/HiveSqlParser.js.map +1 -0
- package/dist/lib/hive/{HiveSqlListener.d.ts → HiveSqlParserListener.d.ts} +1759 -1517
- package/dist/lib/hive/HiveSqlParserListener.js +3 -0
- package/dist/lib/hive/HiveSqlParserListener.js.map +1 -0
- package/dist/lib/hive/{HiveSqlVisitor.d.ts → HiveSqlParserVisitor.d.ts} +1165 -1011
- package/dist/lib/hive/HiveSqlParserVisitor.js +3 -0
- package/dist/lib/hive/HiveSqlParserVisitor.js.map +1 -0
- package/dist/lib/pgsql/PostgreSQLLexerBase.js +0 -4
- package/dist/lib/pgsql/PostgreSQLLexerBase.js.map +1 -1
- package/dist/lib/pgsql/PostgreSQLParserBase.js +0 -6
- package/dist/lib/pgsql/PostgreSQLParserBase.js.map +1 -1
- package/dist/lib/spark/SparkSqlLexer.d.ts +398 -322
- package/dist/lib/spark/SparkSqlLexer.js +2302 -1738
- package/dist/lib/spark/SparkSqlLexer.js.map +1 -1
- package/dist/lib/spark/SparkSqlParser.d.ts +3319 -3314
- package/dist/lib/spark/SparkSqlParser.js +18718 -16132
- package/dist/lib/spark/SparkSqlParser.js.map +1 -1
- package/dist/lib/spark/SparkSqlParserListener.d.ts +2130 -0
- package/dist/lib/spark/SparkSqlParserListener.js +3 -0
- package/dist/lib/spark/SparkSqlParserListener.js.map +1 -0
- package/dist/lib/spark/SparkSqlParserVisitor.d.ts +1361 -0
- package/dist/lib/spark/SparkSqlParserVisitor.js +3 -0
- package/dist/lib/spark/SparkSqlParserVisitor.js.map +1 -0
- package/dist/parser/common/basic-parser-types.d.ts +16 -3
- package/dist/parser/common/basic-parser-types.js +12 -2
- package/dist/parser/common/basic-parser-types.js.map +1 -1
- package/dist/parser/common/basicParser.d.ts +27 -28
- package/dist/parser/common/basicParser.js +76 -60
- package/dist/parser/common/basicParser.js.map +1 -1
- package/dist/parser/common/parseErrorListener.d.ts +33 -0
- package/dist/parser/common/parseErrorListener.js +28 -0
- package/dist/parser/common/parseErrorListener.js.map +1 -0
- package/dist/parser/flinksql.d.ts +1 -1
- package/dist/parser/flinksql.js +32 -13
- package/dist/parser/flinksql.js.map +1 -1
- package/dist/parser/generic.js +1 -1
- package/dist/parser/generic.js.map +1 -1
- package/dist/parser/hive.d.ts +12 -5
- package/dist/parser/hive.js +91 -7
- package/dist/parser/hive.js.map +1 -1
- package/dist/parser/index.d.ts +1 -0
- package/dist/parser/index.js +1 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/pgsql.js +1 -1
- package/dist/parser/pgsql.js.map +1 -1
- package/dist/parser/plsql.js +1 -1
- package/dist/parser/plsql.js.map +1 -1
- package/dist/parser/spark.d.ts +10 -3
- package/dist/parser/spark.js +90 -7
- package/dist/parser/spark.js.map +1 -1
- package/dist/parser/trinosql.js +1 -1
- package/dist/parser/trinosql.js.map +1 -1
- package/dist/utils/findCaretTokenIndex.d.ts +2 -2
- package/dist/utils/findCaretTokenIndex.js +5 -4
- package/dist/utils/findCaretTokenIndex.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/token.d.ts +2 -2
- package/dist/utils/token.js +2 -2
- package/dist/utils/token.js.map +1 -1
- package/package.json +16 -9
- package/dist/lib/hive/HiveSql.js.map +0 -1
- package/dist/lib/hive/HiveSqlListener.js +0 -3
- package/dist/lib/hive/HiveSqlListener.js.map +0 -1
- package/dist/lib/hive/HiveSqlVisitor.js +0 -3
- package/dist/lib/hive/HiveSqlVisitor.js.map +0 -1
- package/dist/lib/spark/SparkSqlListener.d.ts +0 -3516
- package/dist/lib/spark/SparkSqlListener.js +0 -3
- package/dist/lib/spark/SparkSqlListener.js.map +0 -1
- package/dist/lib/spark/SparkSqlVisitor.d.ts +0 -2201
- package/dist/lib/spark/SparkSqlVisitor.js +0 -3
- package/dist/lib/spark/SparkSqlVisitor.js.map +0 -1
- package/dist/parser/common/parserErrorListener.d.ts +0 -30
- package/dist/parser/common/parserErrorListener.js +0 -62
- package/dist/parser/common/parserErrorListener.js.map +0 -1
package/dist/parser/flinksql.js
CHANGED
|
@@ -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.
|
|
10
|
-
FlinkSqlParser.RULE_tablePathCreate,
|
|
9
|
+
FlinkSqlParser.RULE_catalogPath,
|
|
11
10
|
FlinkSqlParser.RULE_databasePath,
|
|
12
11
|
FlinkSqlParser.RULE_databasePathCreate,
|
|
13
|
-
FlinkSqlParser.
|
|
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.
|
|
45
|
-
syntaxContextType = SyntaxContextType.
|
|
60
|
+
case FlinkSqlParser.RULE_viewPath: {
|
|
61
|
+
syntaxContextType = SyntaxContextType.VIEW;
|
|
46
62
|
break;
|
|
47
63
|
}
|
|
48
|
-
case FlinkSqlParser.
|
|
49
|
-
syntaxContextType = SyntaxContextType.
|
|
64
|
+
case FlinkSqlParser.RULE_viewPathCreate: {
|
|
65
|
+
syntaxContextType = SyntaxContextType.VIEW_CREATE;
|
|
50
66
|
break;
|
|
51
67
|
}
|
|
52
|
-
case FlinkSqlParser.
|
|
53
|
-
syntaxContextType = SyntaxContextType.
|
|
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":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACH,cAAc,
|
|
1
|
+
{"version":3,"file":"flinksql.js","sourceRoot":"","sources":["../../src/parser/flinksql.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/generic.js
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/parser/hive.d.ts
CHANGED
|
@@ -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 {
|
|
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,
|
|
8
|
+
export default class HiveSQL extends BasicParser<HiveSqlLexer, ProgramContext, HiveSqlParser> {
|
|
8
9
|
protected createLexerFormCharStream(charStreams: any): HiveSqlLexer;
|
|
9
|
-
protected createParserFromTokenStream(tokenStream: any):
|
|
10
|
-
protected get splitListener(): any;
|
|
10
|
+
protected createParserFromTokenStream(tokenStream: any): HiveSqlParser;
|
|
11
11
|
protected preferredRules: Set<number>;
|
|
12
|
-
protected
|
|
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
|
}
|
package/dist/parser/hive.js
CHANGED
|
@@ -1,26 +1,110 @@
|
|
|
1
1
|
import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer';
|
|
2
|
-
import {
|
|
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
|
|
25
|
+
return new HiveSqlParser(tokenStream);
|
|
15
26
|
}
|
|
16
27
|
get splitListener() {
|
|
17
|
-
return
|
|
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
|
package/dist/parser/hive.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"hive.js","sourceRoot":"","sources":["../../src/parser/hive.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/index.d.ts
CHANGED
package/dist/parser/index.js
CHANGED
|
@@ -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
|
package/dist/parser/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/parser/pgsql.js
CHANGED
package/dist/parser/pgsql.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/parser/plsql.js
CHANGED
package/dist/parser/plsql.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/parser/spark.d.ts
CHANGED
|
@@ -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():
|
|
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
|
}
|
package/dist/parser/spark.js
CHANGED
|
@@ -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
|
-
|
|
24
|
+
const parser = new SparkSqlParser(tokenStream);
|
|
25
|
+
return parser;
|
|
15
26
|
}
|
|
16
27
|
get splitListener() {
|
|
17
|
-
return
|
|
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
|
package/dist/parser/spark.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"spark.js","sourceRoot":"","sources":["../../src/parser/spark.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/trinosql.js
CHANGED
|
@@ -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,
|
|
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
|
|
2
|
-
import { CaretPosition } from
|
|
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 ||
|
|
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 ||
|
|
19
|
-
|
|
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,
|
|
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"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -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
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/token.d.ts
CHANGED
package/dist/utils/token.js
CHANGED
|
@@ -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]: /['|\']/,
|