dt-sql-parser 4.5.1-beta.2 → 4.5.1-beta.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 CHANGED
@@ -263,6 +263,18 @@ Call the `getAllEntities` method on the SQL instance, pass the SQL content and t
263
263
  [ 'CATALOG', 'FUNCTION', 'TEMPORARY', 'VIEW', 'DATABASE', 'TABLE' ]
264
264
  */
265
265
  ```
266
+
267
+ Use the optional `keywordFilter` to remove unwanted keyword candidates. Return `true` to keep a keyword and `false` to remove it.
268
+
269
+ ```typescript
270
+ const sql = 'SELECT * FROM tb ';
271
+ const pos = { lineNumber: 1, column: sql.length + 1 };
272
+ const excludedKeywords = new Set(['WHERE', 'ORDER BY']);
273
+ const keywords = flink.getSuggestionAtCaretPosition(sql, pos, {
274
+ keywordFilter: (keyword) => !excludedKeywords.has(keyword),
275
+ })?.keywords;
276
+ ```
277
+
266
278
  + **Obtaining information related to grammar completion**
267
279
  ```javascript
268
280
  import { FlinkSQL } from 'dt-sql-parser';
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { MySQL, FlinkSQL, SparkSQL, HiveSQL, PostgreSQL, TrinoSQL, ImpalaSQL, Ge
2
2
  export { MySqlParserListener, MySqlParserVisitor, FlinkSqlParserListener, FlinkSqlParserVisitor, SparkSqlParserListener, SparkSqlParserVisitor, HiveSqlParserListener, HiveSqlParserVisitor, PostgreSqlParserListener, PostgreSqlParserVisitor, TrinoSqlListener, TrinoSqlVisitor, ImpalaSqlParserListener, ImpalaSqlParserVisitor, GenericSqlListener, GenericSqlVisitor, } from './lib';
3
3
  export { EntityContextType } from './parser/common/types';
4
4
  export { StmtContextType } from './parser/common/entityCollector';
5
- export type { CaretPosition, Suggestions, SyntaxSuggestion } from './parser/common/types';
5
+ export type { CaretPosition, SuggestionOptions, Suggestions, SyntaxSuggestion, } from './parser/common/types';
6
6
  export type { WordRange, TextSlice } from './parser/common/textAndWord';
7
7
  export type { SyntaxError, ParseError, ErrorListener } from './parser/common/parseErrorListener';
8
8
  export type { GenericSQLOptions } from './parser/generic';
@@ -1773,7 +1773,6 @@ export declare class MySqlParser extends SQLParserBase {
1773
1773
  private queryItem_sempred;
1774
1774
  private selectElement_sempred;
1775
1775
  private columnName_sempred;
1776
- private columnNamePath_sempred;
1777
1776
  private columnNamePathAllowEmpty_sempred;
1778
1777
  private expression_sempred;
1779
1778
  private predicate_sempred;
@@ -5381,8 +5380,7 @@ export declare class OrderByClauseContext extends antlr.ParserRuleContext {
5381
5380
  export declare class OrderByExpressionContext extends antlr.ParserRuleContext {
5382
5381
  _order?: Token | null;
5383
5382
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
5384
- expression(): ExpressionContext | null;
5385
- columnNamePathAllowEmpty(): ColumnNamePathAllowEmptyContext | null;
5383
+ expression(): ExpressionContext;
5386
5384
  KW_ASC(): antlr.TerminalNode | null;
5387
5385
  KW_DESC(): antlr.TerminalNode | null;
5388
5386
  get ruleIndex(): number;
@@ -5960,8 +5958,7 @@ export declare class HavingClauseContext extends antlr.ParserRuleContext {
5960
5958
  _havingExpr?: ExpressionContext;
5961
5959
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
5962
5960
  KW_HAVING(): antlr.TerminalNode;
5963
- columnNamePathAllowEmpty(): ColumnNamePathAllowEmptyContext | null;
5964
- expression(): ExpressionContext | null;
5961
+ expression(): ExpressionContext;
5965
5962
  get ruleIndex(): number;
5966
5963
  enterRule(listener: MySqlParserListener): void;
5967
5964
  exitRule(listener: MySqlParserListener): void;
@@ -5990,8 +5987,7 @@ export declare class WindowClauseContext extends antlr.ParserRuleContext {
5990
5987
  export declare class GroupByItemContext extends antlr.ParserRuleContext {
5991
5988
  _order?: Token | null;
5992
5989
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
5993
- expression(): ExpressionContext | null;
5994
- columnNamePathAllowEmpty(): ColumnNamePathAllowEmptyContext | null;
5990
+ expression(): ExpressionContext;
5995
5991
  KW_ASC(): antlr.TerminalNode | null;
5996
5992
  KW_DESC(): antlr.TerminalNode | null;
5997
5993
  get ruleIndex(): number;
@@ -9420,39 +9416,20 @@ export declare class ColumnNameContext extends antlr.ParserRuleContext {
9420
9416
  }
9421
9417
  export declare class ColumnNamePathContext extends antlr.ParserRuleContext {
9422
9418
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
9423
- get ruleIndex(): number;
9424
- copyFrom(ctx: ColumnNamePathContext): void;
9425
- }
9426
- export declare class ColumnNamePath_dottedContext extends ColumnNamePathContext {
9427
- constructor(ctx: ColumnNamePathContext);
9428
- dottedId(): DottedIdContext[];
9429
- dottedId(i: number): DottedIdContext | null;
9430
- enterRule(listener: MySqlParserListener): void;
9431
- exitRule(listener: MySqlParserListener): void;
9432
- accept<Result>(visitor: MySqlParserVisitor<Result>): Result | null;
9433
- }
9434
- export declare class ColumnNamePath_defaultContext extends ColumnNamePathContext {
9435
- constructor(ctx: ColumnNamePathContext);
9436
- uid(): UidContext;
9419
+ uid(): UidContext | null;
9437
9420
  dottedId(): DottedIdContext[];
9438
9421
  dottedId(i: number): DottedIdContext | null;
9439
- enterRule(listener: MySqlParserListener): void;
9440
- exitRule(listener: MySqlParserListener): void;
9441
- accept<Result>(visitor: MySqlParserVisitor<Result>): Result | null;
9442
- }
9443
- export declare class ColumnNamePath_dot_emptyContext extends ColumnNamePathContext {
9444
- constructor(ctx: ColumnNamePathContext);
9445
- uid(): UidContext;
9446
- DOT(): antlr.TerminalNode;
9447
- emptyColumn(): EmptyColumnContext;
9422
+ get ruleIndex(): number;
9448
9423
  enterRule(listener: MySqlParserListener): void;
9449
9424
  exitRule(listener: MySqlParserListener): void;
9450
9425
  accept<Result>(visitor: MySqlParserVisitor<Result>): Result | null;
9451
9426
  }
9452
9427
  export declare class ColumnNamePathAllowEmptyContext extends antlr.ParserRuleContext {
9453
9428
  constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
9454
- columnNamePath(): ColumnNamePathContext | null;
9455
9429
  emptyColumn(): EmptyColumnContext | null;
9430
+ uid(): UidContext | null;
9431
+ dottedId(): DottedIdContext[];
9432
+ dottedId(i: number): DottedIdContext | null;
9456
9433
  get ruleIndex(): number;
9457
9434
  enterRule(listener: MySqlParserListener): void;
9458
9435
  exitRule(listener: MySqlParserListener): void;