@dbml/parse 7.0.0-alpha.1 → 7.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +0 -0
  2. package/dist/dbml-parse.js +16 -16
  3. package/dist/dbml-parse.mjs +4542 -4359
  4. package/dist/index.d.ts +0 -0
  5. package/dist/src/compiler/index.d.ts +21 -21
  6. package/dist/src/compiler/queries/container/element.d.ts +1 -1
  7. package/dist/src/compiler/queries/container/index.d.ts +5 -5
  8. package/dist/src/compiler/queries/container/scope.d.ts +1 -1
  9. package/dist/src/compiler/queries/container/scopeKind.d.ts +0 -0
  10. package/dist/src/compiler/queries/container/stack.d.ts +1 -1
  11. package/dist/src/compiler/queries/container/token.d.ts +1 -1
  12. package/dist/src/compiler/queries/{parse.d.ts → legacy/parse.d.ts} +6 -6
  13. package/dist/src/compiler/queries/{symbol.d.ts → legacy/symbol.d.ts} +4 -4
  14. package/dist/src/compiler/queries/{token.d.ts → legacy/token.d.ts} +2 -2
  15. package/dist/src/compiler/queries/transform/applyTextEdits.d.ts +0 -0
  16. package/dist/src/compiler/queries/transform/index.d.ts +4 -4
  17. package/dist/src/compiler/queries/transform/renameTable.d.ts +0 -0
  18. package/dist/src/compiler/queries/transform/syncDiagramView.d.ts +0 -0
  19. package/dist/src/compiler/queries/transform/utils.d.ts +2 -2
  20. package/dist/src/compiler/queries/utils.d.ts +0 -0
  21. package/dist/src/compiler/types.d.ts +0 -0
  22. package/dist/src/constants.d.ts +4 -0
  23. package/dist/src/core/analyzer/analyzer.d.ts +3 -3
  24. package/dist/src/core/analyzer/binder/binder.d.ts +3 -3
  25. package/dist/src/core/analyzer/binder/elementBinder/checks.d.ts +2 -2
  26. package/dist/src/core/analyzer/binder/elementBinder/custom.d.ts +4 -4
  27. package/dist/src/core/analyzer/binder/elementBinder/diagramView.d.ts +4 -4
  28. package/dist/src/core/analyzer/binder/elementBinder/enum.d.ts +4 -4
  29. package/dist/src/core/analyzer/binder/elementBinder/indexes.d.ts +4 -4
  30. package/dist/src/core/analyzer/binder/elementBinder/note.d.ts +4 -4
  31. package/dist/src/core/analyzer/binder/elementBinder/project.d.ts +4 -4
  32. package/dist/src/core/analyzer/binder/elementBinder/records.d.ts +4 -4
  33. package/dist/src/core/analyzer/binder/elementBinder/ref.d.ts +4 -4
  34. package/dist/src/core/analyzer/binder/elementBinder/table.d.ts +4 -4
  35. package/dist/src/core/analyzer/binder/elementBinder/tableGroup.d.ts +4 -4
  36. package/dist/src/core/analyzer/binder/elementBinder/tablePartial.d.ts +4 -4
  37. package/dist/src/core/analyzer/binder/types.d.ts +1 -1
  38. package/dist/src/core/analyzer/binder/utils.d.ts +5 -5
  39. package/dist/src/core/analyzer/types.d.ts +0 -0
  40. package/dist/src/core/analyzer/utils.d.ts +15 -18
  41. package/dist/src/core/analyzer/validator/elementValidators/checks.d.ts +5 -5
  42. package/dist/src/core/analyzer/validator/elementValidators/custom.d.ts +5 -5
  43. package/dist/src/core/analyzer/validator/elementValidators/diagramView.d.ts +5 -5
  44. package/dist/src/core/analyzer/validator/elementValidators/enum.d.ts +5 -5
  45. package/dist/src/core/analyzer/validator/elementValidators/indexes.d.ts +5 -5
  46. package/dist/src/core/analyzer/validator/elementValidators/note.d.ts +5 -5
  47. package/dist/src/core/analyzer/validator/elementValidators/project.d.ts +5 -5
  48. package/dist/src/core/analyzer/validator/elementValidators/records.d.ts +5 -5
  49. package/dist/src/core/analyzer/validator/elementValidators/ref.d.ts +5 -5
  50. package/dist/src/core/analyzer/validator/elementValidators/table.d.ts +5 -5
  51. package/dist/src/core/analyzer/validator/elementValidators/tableGroup.d.ts +5 -5
  52. package/dist/src/core/analyzer/validator/elementValidators/tablePartial.d.ts +5 -5
  53. package/dist/src/core/analyzer/validator/types.d.ts +1 -1
  54. package/dist/src/core/analyzer/validator/utils.d.ts +9 -10
  55. package/dist/src/core/analyzer/validator/validator.d.ts +3 -3
  56. package/dist/src/core/interpreter/elementInterpreter/diagramView.d.ts +2 -2
  57. package/dist/src/core/interpreter/elementInterpreter/enum.d.ts +2 -2
  58. package/dist/src/core/interpreter/elementInterpreter/project.d.ts +2 -2
  59. package/dist/src/core/interpreter/elementInterpreter/ref.d.ts +2 -2
  60. package/dist/src/core/interpreter/elementInterpreter/sticky_note.d.ts +2 -2
  61. package/dist/src/core/interpreter/elementInterpreter/table.d.ts +2 -2
  62. package/dist/src/core/interpreter/elementInterpreter/tableGroup.d.ts +2 -2
  63. package/dist/src/core/interpreter/elementInterpreter/tablePartial.d.ts +2 -2
  64. package/dist/src/core/interpreter/interpreter.d.ts +4 -3
  65. package/dist/src/core/interpreter/records/index.d.ts +2 -2
  66. package/dist/src/core/interpreter/records/utils/constraints/fk.d.ts +1 -1
  67. package/dist/src/core/interpreter/records/utils/constraints/helper.d.ts +3 -2
  68. package/dist/src/core/interpreter/records/utils/constraints/index.d.ts +0 -0
  69. package/dist/src/core/interpreter/records/utils/constraints/pk.d.ts +1 -1
  70. package/dist/src/core/interpreter/records/utils/constraints/unique.d.ts +1 -1
  71. package/dist/src/core/interpreter/records/utils/data/index.d.ts +0 -0
  72. package/dist/src/core/interpreter/records/utils/data/sqlTypes.d.ts +1 -1
  73. package/dist/src/core/interpreter/records/utils/data/values.d.ts +2 -2
  74. package/dist/src/core/interpreter/records/utils/index.d.ts +0 -0
  75. package/dist/src/core/interpreter/types.d.ts +10 -228
  76. package/dist/src/core/interpreter/utils.d.ts +6 -5
  77. package/dist/src/core/lexer/lexer.d.ts +5 -3
  78. package/dist/src/core/lexer/utils.d.ts +1 -1
  79. package/dist/src/core/parser/contextStack.d.ts +1 -1
  80. package/dist/src/core/parser/factory.d.ts +5 -3
  81. package/dist/src/core/parser/parser.d.ts +5 -4
  82. package/dist/src/core/parser/utils.d.ts +6 -7
  83. package/dist/src/core/{errors.d.ts → types/errors.d.ts} +5 -2
  84. package/dist/src/core/types/filepath.d.ts +26 -0
  85. package/dist/src/core/types/index.d.ts +7 -0
  86. package/dist/src/core/types/internable.d.ts +20 -0
  87. package/dist/src/core/types/module.d.ts +9 -0
  88. package/dist/src/core/{parser → types}/nodes.d.ts +49 -38
  89. package/dist/src/core/{types.d.ts → types/position.d.ts} +0 -0
  90. package/dist/src/core/types/report.d.ts +18 -0
  91. package/dist/src/core/types/schemaJson.d.ts +243 -0
  92. package/dist/src/core/{analyzer → types}/symbol/factory.d.ts +1 -1
  93. package/dist/src/core/types/symbol/index.d.ts +5 -0
  94. package/dist/src/core/{analyzer → types}/symbol/symbolIndex.d.ts +3 -4
  95. package/dist/src/core/{analyzer → types}/symbol/symbolTable.d.ts +0 -0
  96. package/dist/src/core/types/symbol/symbols.d.ts +122 -0
  97. package/dist/src/core/{analyzer → types}/symbol/utils.d.ts +1 -1
  98. package/dist/src/core/{lexer → types}/tokens.d.ts +5 -3
  99. package/dist/src/core/utils/array.d.ts +1 -0
  100. package/dist/src/core/utils/chars.d.ts +4 -0
  101. package/dist/src/core/utils/enum.d.ts +1 -0
  102. package/dist/src/core/utils/numbers.d.ts +3 -0
  103. package/dist/src/core/utils/span.d.ts +6 -0
  104. package/dist/src/index.d.ts +9 -9
  105. package/dist/src/services/definition/provider.d.ts +1 -1
  106. package/dist/src/services/diagnostics/provider.d.ts +0 -0
  107. package/dist/src/services/index.d.ts +3 -3
  108. package/dist/src/services/monarch.d.ts +1 -1
  109. package/dist/src/services/references/provider.d.ts +1 -1
  110. package/dist/src/services/suggestions/provider.d.ts +1 -1
  111. package/dist/src/services/suggestions/recordRowSnippet.d.ts +1 -1
  112. package/dist/src/services/suggestions/utils.d.ts +5 -5
  113. package/dist/src/services/types.d.ts +1 -1
  114. package/dist/src/services/utils.d.ts +1 -1
  115. package/package.json +2 -2
  116. package/dist/__tests__/examples/binder/binder.test.d.ts +0 -1
  117. package/dist/__tests__/examples/binder/records.test.d.ts +0 -1
  118. package/dist/__tests__/examples/compiler/applyTextEdits.test.d.ts +0 -1
  119. package/dist/__tests__/examples/compiler/identifierUtils.test.d.ts +0 -1
  120. package/dist/__tests__/examples/compiler/renameTable.test.d.ts +0 -1
  121. package/dist/__tests__/examples/compiler/splitQualifiedIdentifier.test.d.ts +0 -1
  122. package/dist/__tests__/examples/compiler/stringUtils.test.d.ts +0 -1
  123. package/dist/__tests__/examples/compiler/syncDiagramView.test.d.ts +0 -1
  124. package/dist/__tests__/examples/interpreter/interpreter.test.d.ts +0 -1
  125. package/dist/__tests__/examples/interpreter/record/data.test.d.ts +0 -1
  126. package/dist/__tests__/examples/interpreter/record/fk.test.d.ts +0 -1
  127. package/dist/__tests__/examples/interpreter/record/increment.test.d.ts +0 -1
  128. package/dist/__tests__/examples/interpreter/record/multi_records.test.d.ts +0 -1
  129. package/dist/__tests__/examples/interpreter/record/pk.test.d.ts +0 -1
  130. package/dist/__tests__/examples/interpreter/record/table_partial.test.d.ts +0 -1
  131. package/dist/__tests__/examples/interpreter/record/type_compatibility.test.d.ts +0 -1
  132. package/dist/__tests__/examples/interpreter/record/unique.test.d.ts +0 -1
  133. package/dist/__tests__/examples/lexer/lexer.test.d.ts +0 -1
  134. package/dist/__tests__/examples/lexer/scientific-notation.test.d.ts +0 -1
  135. package/dist/__tests__/examples/parser/parser.test.d.ts +0 -1
  136. package/dist/__tests__/examples/services/definition/general.test.d.ts +0 -1
  137. package/dist/__tests__/examples/services/definition/records.test.d.ts +0 -1
  138. package/dist/__tests__/examples/services/references/general.test.d.ts +0 -1
  139. package/dist/__tests__/examples/services/references/records.test.d.ts +0 -1
  140. package/dist/__tests__/examples/services/service_utils.test.d.ts +0 -1
  141. package/dist/__tests__/examples/services/suggestions/general.test.d.ts +0 -1
  142. package/dist/__tests__/examples/services/suggestions/suggestions_diagramview.test.d.ts +0 -1
  143. package/dist/__tests__/examples/services/suggestions/suggestions_records.test.d.ts +0 -1
  144. package/dist/__tests__/examples/validator/records.test.d.ts +0 -1
  145. package/dist/__tests__/examples/validator/validator.test.d.ts +0 -1
  146. package/dist/__tests__/examples/wildcard/wildcard.test.d.ts +0 -1
  147. package/dist/__tests__/fuzz/interpreter.test.d.ts +0 -1
  148. package/dist/__tests__/fuzz/parser.test.d.ts +0 -1
  149. package/dist/__tests__/fuzz/services.test.d.ts +0 -1
  150. package/dist/__tests__/properties/lexer.test.d.ts +0 -1
  151. package/dist/__tests__/properties/parser.test.d.ts +0 -1
  152. package/dist/__tests__/snapshots/binder/binder.test.d.ts +0 -1
  153. package/dist/__tests__/snapshots/interpreter/interpreter.test.d.ts +0 -1
  154. package/dist/__tests__/snapshots/lexer/lexer.test.d.ts +0 -1
  155. package/dist/__tests__/snapshots/nan/nan.test.d.ts +0 -1
  156. package/dist/__tests__/snapshots/parser/parser.test.d.ts +0 -1
  157. package/dist/__tests__/snapshots/validator/validator.test.d.ts +0 -1
  158. package/dist/__tests__/utils/arbitraries/grammars.d.ts +0 -100
  159. package/dist/__tests__/utils/arbitraries/index.d.ts +0 -3
  160. package/dist/__tests__/utils/arbitraries/tokens.d.ts +0 -20
  161. package/dist/__tests__/utils/arbitraries/utils.d.ts +0 -59
  162. package/dist/__tests__/utils/compiler.d.ts +0 -13
  163. package/dist/__tests__/utils/index.d.ts +0 -3
  164. package/dist/__tests__/utils/mocks.d.ts +0 -17
  165. package/dist/__tests__/utils/testHelpers.d.ts +0 -16
  166. package/dist/src/core/analyzer/symbol/symbols.d.ts +0 -132
  167. package/dist/src/core/option.d.ts +0 -18
  168. package/dist/src/core/report.d.ts +0 -12
  169. package/dist/src/core/utils.d.ts +0 -13
@@ -0,0 +1,122 @@
1
+ import { Filepath } from '../filepath';
2
+ import { SyntaxNode } from '../nodes';
3
+ import { SymbolKind } from './symbolIndex';
4
+ import { default as SymbolTable } from './symbolTable';
5
+ export type NodeSymbolId = number;
6
+ export declare class NodeSymbolIdGenerator {
7
+ private id;
8
+ reset(): void;
9
+ nextId(): NodeSymbolId;
10
+ }
11
+ export declare class NodeSymbol {
12
+ id: NodeSymbolId;
13
+ kind: SymbolKind;
14
+ filepath: Filepath;
15
+ symbolTable?: SymbolTable;
16
+ declaration?: SyntaxNode;
17
+ references: SyntaxNode[];
18
+ constructor({ kind, declaration, symbolTable, filepath, }: {
19
+ kind: SymbolKind;
20
+ declaration?: SyntaxNode;
21
+ symbolTable?: SymbolTable;
22
+ filepath?: Filepath;
23
+ }, id: NodeSymbolId);
24
+ isKind(kind: SymbolKind): boolean;
25
+ }
26
+ export declare class SchemaSymbol extends NodeSymbol {
27
+ symbolTable: SymbolTable;
28
+ name?: string;
29
+ constructor({ symbolTable, name, }: {
30
+ symbolTable: SymbolTable;
31
+ name?: string;
32
+ }, id: NodeSymbolId);
33
+ }
34
+ export declare class EnumSymbol extends NodeSymbol {
35
+ symbolTable: SymbolTable;
36
+ declaration: SyntaxNode;
37
+ constructor({ symbolTable, declaration, }: {
38
+ symbolTable: SymbolTable;
39
+ declaration: SyntaxNode;
40
+ }, id: NodeSymbolId);
41
+ }
42
+ export declare class EnumFieldSymbol extends NodeSymbol {
43
+ declaration: SyntaxNode;
44
+ constructor({ declaration, }: {
45
+ declaration: SyntaxNode;
46
+ }, id: NodeSymbolId);
47
+ }
48
+ export declare class TableSymbol extends NodeSymbol {
49
+ symbolTable: SymbolTable;
50
+ declaration: SyntaxNode;
51
+ constructor({ symbolTable, declaration, }: {
52
+ symbolTable: SymbolTable;
53
+ declaration: SyntaxNode;
54
+ }, id: NodeSymbolId);
55
+ }
56
+ export declare class ColumnSymbol extends NodeSymbol {
57
+ declaration: SyntaxNode;
58
+ constructor({ declaration, }: {
59
+ declaration: SyntaxNode;
60
+ }, id: NodeSymbolId);
61
+ }
62
+ export declare class TableGroupSymbol extends NodeSymbol {
63
+ symbolTable: SymbolTable;
64
+ declaration: SyntaxNode;
65
+ constructor({ symbolTable, declaration, }: {
66
+ symbolTable: SymbolTable;
67
+ declaration: SyntaxNode;
68
+ }, id: NodeSymbolId);
69
+ }
70
+ export declare class TableGroupFieldSymbol extends NodeSymbol {
71
+ declaration: SyntaxNode;
72
+ constructor({ declaration, }: {
73
+ declaration: SyntaxNode;
74
+ }, id: NodeSymbolId);
75
+ }
76
+ export declare class TablePartialSymbol extends NodeSymbol {
77
+ symbolTable: SymbolTable;
78
+ declaration: SyntaxNode;
79
+ constructor({ symbolTable, declaration, }: {
80
+ symbolTable: SymbolTable;
81
+ declaration: SyntaxNode;
82
+ }, id: NodeSymbolId);
83
+ }
84
+ export declare class PartialInjectionSymbol extends NodeSymbol {
85
+ symbolTable: SymbolTable;
86
+ declaration: SyntaxNode;
87
+ constructor({ symbolTable, declaration, }: {
88
+ symbolTable: SymbolTable;
89
+ declaration: SyntaxNode;
90
+ }, id: NodeSymbolId);
91
+ }
92
+ export declare class TablePartialInjectedColumnSymbol extends NodeSymbol {
93
+ declaration: SyntaxNode;
94
+ tablePartialSymbol: TablePartialSymbol;
95
+ constructor({ declaration, tablePartialSymbol, }: {
96
+ declaration: SyntaxNode;
97
+ tablePartialSymbol: TablePartialSymbol;
98
+ }, id: NodeSymbolId);
99
+ }
100
+ export declare class DiagramViewSymbol extends NodeSymbol {
101
+ symbolTable: SymbolTable;
102
+ declaration: SyntaxNode;
103
+ filepath: Filepath;
104
+ constructor({ symbolTable, declaration, }: {
105
+ symbolTable: SymbolTable;
106
+ declaration: SyntaxNode;
107
+ }, id: NodeSymbolId);
108
+ }
109
+ export declare class DiagramViewFieldSymbol extends NodeSymbol {
110
+ declaration: SyntaxNode;
111
+ filepath: Filepath;
112
+ constructor({ declaration, }: {
113
+ declaration: SyntaxNode;
114
+ }, id: NodeSymbolId);
115
+ }
116
+ export declare class StickyNoteSymbol extends NodeSymbol {
117
+ declaration: SyntaxNode;
118
+ filepath: Filepath;
119
+ constructor({ declaration, }: {
120
+ declaration: SyntaxNode;
121
+ }, id: NodeSymbolId);
122
+ }
@@ -1,4 +1,4 @@
1
+ import { NodeSymbol } from '.';
1
2
  import { NodeSymbolIndex, SymbolKind } from './symbolIndex';
2
- import { NodeSymbol } from './symbols';
3
3
  export declare function generatePossibleIndexes(name: string): NodeSymbolIndex[];
4
4
  export declare function getSymbolKind(symbol: NodeSymbol): SymbolKind;
@@ -1,4 +1,5 @@
1
- import { Position } from '../types';
1
+ import { Position } from '.';
2
+ import { Filepath } from './filepath';
2
3
  export declare enum SyntaxTokenKind {
3
4
  SPACE = "<space>",
4
5
  TAB = "<tab>",
@@ -41,6 +42,7 @@ export declare class SyntaxToken {
41
42
  endPos: Readonly<Position>;
42
43
  end: Readonly<number>;
43
44
  isInvalid: boolean;
44
- protected constructor(kind: SyntaxTokenKind, startPos: Position, endPos: Position, value: string, isInvalid: boolean);
45
- static create(kind: SyntaxTokenKind, startPos: Position, endPos: Position, value: string, isInvalid: boolean): SyntaxToken;
45
+ filepath: Filepath;
46
+ protected constructor(kind: SyntaxTokenKind, filepath: Filepath, startPos: Position, endPos: Position, value: string, isInvalid: boolean);
47
+ static create(kind: SyntaxTokenKind, filepath: Filepath, startPos: Position, endPos: Position, value: string, isInvalid: boolean): SyntaxToken;
46
48
  }
@@ -0,0 +1 @@
1
+ export declare function alternateLists<T, S>(firstList: T[], secondList: S[]): (T | S)[];
@@ -0,0 +1,4 @@
1
+ export declare function isAlphaOrUnderscore(char: string): boolean;
2
+ export declare function isDigit(char: string): boolean;
3
+ export declare function isHexChar(char: string): boolean;
4
+ export declare function isAlphaNumeric(char: string): boolean;
@@ -0,0 +1 @@
1
+ export declare function convertStringToEnum<T extends Record<string, string>>(enumObj: T, value: string): T[keyof T] | undefined;
@@ -0,0 +1,3 @@
1
+ import { PrefixExpressionNode, PrimaryExpressionNode } from '../types/nodes';
2
+ export declare function getNumberTextFromExpression(node: PrimaryExpressionNode | PrefixExpressionNode): string;
3
+ export declare function parseNumber(node: PrefixExpressionNode | PrimaryExpressionNode): number;
@@ -0,0 +1,6 @@
1
+ import { SyntaxNode } from '../types/nodes';
2
+ import { SyntaxToken } from '../types/tokens';
3
+ export declare function isOffsetWithinFullSpan(offset: number, nodeOrToken: SyntaxNode | SyntaxToken): boolean;
4
+ export declare function isOffsetWithinSpan(offset: number, nodeOrToken: SyntaxNode | SyntaxToken): boolean;
5
+ export declare function returnIfIsOffsetWithinFullSpan(offset: number, node?: SyntaxNode): SyntaxNode | undefined;
6
+ export declare function returnIfIsOffsetWithinFullSpan(offset: number, token?: SyntaxToken): SyntaxToken | undefined;
@@ -2,13 +2,13 @@ import { default as Compiler } from './compiler/index';
2
2
  import * as services from '@/services/index';
3
3
  export { ElementKind, } from './core/analyzer/types';
4
4
  export * from './core/interpreter/records/utils';
5
- export { SyntaxNode, ElementDeclarationNode, ProgramNode, SyntaxNodeKind, type SyntaxNodeId, } from './core/parser/nodes';
6
- export { SyntaxToken, SyntaxTokenKind, } from './core/lexer/tokens';
7
- export { CompileError, CompileErrorCode, } from './core/errors';
8
- export { type Position, } from './core/types';
5
+ export { SyntaxNode, ElementDeclarationNode, ProgramNode, SyntaxNodeKind, type SyntaxNodeId, } from './core/types/nodes';
6
+ export { SyntaxToken, SyntaxTokenKind, } from './core/types/tokens';
7
+ export { CompileError, CompileErrorCode, } from './core/types/errors';
8
+ export type { Position, } from './core/types';
9
9
  export { ScopeKind, splitQualifiedIdentifier, unescapeString, escapeString, formatRecordValue, isValidIdentifier, addDoubleQuoteIfNeeded, } from './compiler/index';
10
- export { type Database, type Table, type Column, type Enum, type Ref, type Project, type TableGroup, type TablePartial, type DiagramView, type FilterConfig, } from './core/interpreter/types';
11
- export type { DiagramViewSyncOperation, DiagramViewBlock } from './compiler/queries/transform/syncDiagramView';
12
- export type { TextEdit } from './compiler/queries/transform/applyTextEdits';
13
- export { dbmlMonarchTokensProvider } from './services/monarch';
14
- export { Compiler, services };
10
+ export { type Database, type MasterDatabase, type Table, type Note, type Column, type ColumnType, type Index, type Check, type InlineRef, type Ref, type RefEndpointPair, type RefEndpoint, type RelationCardinality, type Enum, type EnumField, type TableGroup, type TableGroupField, type Alias, type AliasKind, type TablePartial, type TablePartialInjection, type RecordValue, type RecordValueType, type TableRecord, type Project, type SchemaElement, type TokenPosition, type ElementRef, type FilterConfig, type DiagramView, } from './core/types/schemaJson';
11
+ export type { DiagramViewSyncOperation, DiagramViewBlock, } from './compiler/queries/transform/syncDiagramView';
12
+ export type { TextEdit, } from './compiler/queries/transform/applyTextEdits';
13
+ export { dbmlMonarchTokensProvider, } from './services/monarch';
14
+ export { Compiler, services, };
@@ -1,5 +1,5 @@
1
- import { Definition, DefinitionProvider, TextModel, Position } from '../types';
2
1
  import { default as Compiler } from '../../compiler';
2
+ import { Definition, DefinitionProvider, Position, TextModel } from '../types';
3
3
  export default class DBMLDefinitionProvider implements DefinitionProvider {
4
4
  private compiler;
5
5
  constructor(compiler: Compiler);
File without changes
@@ -1,7 +1,7 @@
1
- import { default as DBMLCompletionItemProvider } from './suggestions/provider';
2
1
  import { default as DBMLDefinitionProvider } from './definition/provider';
3
- import { default as DBMLReferencesProvider } from './references/provider';
4
2
  import { default as DBMLDiagnosticsProvider } from './diagnostics/provider';
3
+ import { default as DBMLReferencesProvider } from './references/provider';
4
+ import { default as DBMLCompletionItemProvider } from './suggestions/provider';
5
5
  export * from './types';
6
6
  export { DBMLCompletionItemProvider, DBMLDefinitionProvider, DBMLReferencesProvider, DBMLDiagnosticsProvider, };
7
- export { dbmlMonarchTokensProvider } from './monarch';
7
+ export { dbmlMonarchTokensProvider, } from './monarch';
@@ -1,3 +1,3 @@
1
1
  import { languages } from 'monaco-editor-core';
2
2
  declare const dbmlMonarchTokensProvider: languages.IMonarchLanguage;
3
- export { dbmlMonarchTokensProvider };
3
+ export { dbmlMonarchTokensProvider, };
@@ -1,5 +1,5 @@
1
1
  import { default as Compiler } from '../../compiler';
2
- import { Location, ReferenceProvider, TextModel, Position } from '../types';
2
+ import { Location, Position, ReferenceProvider, TextModel } from '../types';
3
3
  export default class DBMLReferencesProvider implements ReferenceProvider {
4
4
  private compiler;
5
5
  constructor(compiler: Compiler);
@@ -1,5 +1,5 @@
1
1
  import { default as Compiler } from '../../compiler';
2
- import { CompletionList, TextModel, CompletionItemProvider, Position } from '../types';
2
+ import { CompletionItemProvider, CompletionList, Position, TextModel } from '../types';
3
3
  export default class DBMLCompletionItemProvider implements CompletionItemProvider {
4
4
  private compiler;
5
5
  triggerCharacters: string[];
@@ -1,3 +1,3 @@
1
- import { CompletionList, TextModel, Position } from '../types';
2
1
  import { default as Compiler } from '../../compiler';
2
+ import { CompletionList, Position, TextModel } from '../types';
3
3
  export declare function suggestRecordRowSnippet(compiler: Compiler, model: TextModel, position: Position, offset: number): CompletionList | null;
@@ -1,9 +1,9 @@
1
- import { SymbolKind } from '../../core/analyzer/symbol/symbolIndex';
2
- import { CompletionItemKind, CompletionList } from '../types';
3
- import { SyntaxToken } from '../../core/lexer/tokens';
4
- import { SyntaxNode, TupleExpressionNode } from '../../core/parser/nodes';
5
1
  import { default as Compiler } from '../../compiler';
6
- import { ColumnSymbol, TablePartialInjectedColumnSymbol, TablePartialSymbol, TableSymbol } from '../../core/analyzer/symbol/symbols';
2
+ import { SyntaxNode, TupleExpressionNode } from '../../core/types/nodes';
3
+ import { SymbolKind } from '../../core/types/symbol';
4
+ import { ColumnSymbol, TablePartialInjectedColumnSymbol, TablePartialSymbol, TableSymbol } from '../../core/types/symbol/symbols';
5
+ import { SyntaxToken } from '../../core/types/tokens';
6
+ import { CompletionItemKind, CompletionList } from '../types';
7
7
  export declare function pickCompletionItemKind(symbolKind: SymbolKind): CompletionItemKind;
8
8
  export declare function shouldPrependSpace(token: SyntaxToken | undefined, offset: number): boolean;
9
9
  export declare function noSuggestions(): CompletionList;
@@ -1,4 +1,4 @@
1
- import { IPosition, editor, languages, IRange, IDisposable, CancellationToken as ICancellationToken } from 'monaco-editor-core';
1
+ import { CancellationToken as ICancellationToken, IDisposable, IPosition, IRange, editor, languages } from 'monaco-editor-core';
2
2
  export type Position = IPosition;
3
3
  export type TextModel = editor.ITextModel;
4
4
  export type ProviderResult<T> = languages.ProviderResult<T>;
@@ -1,2 +1,2 @@
1
- import { TextModel, Position } from './types';
1
+ import { Position, TextModel } from './types';
2
2
  export declare function getOffsetFromMonacoPosition(model: TextModel, position: Position): number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@dbml/parse",
4
- "version": "7.0.0-alpha.1",
4
+ "version": "7.1.0-alpha.0",
5
5
  "description": "DBML parser v2",
6
6
  "author": "Holistics <dev@holistics.io>",
7
7
  "license": "Apache-2.0",
@@ -45,5 +45,5 @@
45
45
  "engines": {
46
46
  "node": ">=18"
47
47
  },
48
- "gitHead": "283f3bcf7373ecab1e808e8a8035ce906ee6a52e"
48
+ "gitHead": "109c30cccebfcb36b793945798d40963fb24d08c"
49
49
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,100 +0,0 @@
1
- import { default as fc } from 'fast-check';
2
- export declare const whitespaceArbitrary: fc.Arbitrary<" " | "\n" | "\t" | "\n\n" | " " | " \t " | "\r\n">;
3
- export declare const schemaQualifiedNameArbitrary: fc.Arbitrary<string>;
4
- export declare const anyElementNameArbitrary: fc.Arbitrary<string>;
5
- export declare const simpleRefEndpointArbitrary: fc.Arbitrary<string>;
6
- export declare const schemaQualifiedRefEndpointArbitrary: fc.Arbitrary<string>;
7
- export declare const anyRefEndpointArbitrary: fc.Arbitrary<string>;
8
- export declare const basicTypeArbitrary: fc.Arbitrary<string>;
9
- export declare const typeWithArgsArbitrary: fc.Arbitrary<string>;
10
- export declare const typeWithEmptyArgsArbitrary: fc.Arbitrary<string>;
11
- export declare const arrayTypeArbitrary: fc.Arbitrary<string>;
12
- export declare const sizedArrayTypeArbitrary: fc.Arbitrary<string>;
13
- export declare const schemaQualifiedTypeArbitrary: fc.Arbitrary<string>;
14
- export declare const columnTypeArbitrary: fc.Arbitrary<string>;
15
- export declare const noteSettingArbitrary: fc.Arbitrary<string>;
16
- export declare const enumMemberArbitrary: fc.Arbitrary<string>;
17
- export declare const defaultValueArbitrary: fc.Arbitrary<string>;
18
- export declare const checkExpressionArbitrary: fc.Arbitrary<string>;
19
- export declare const inlineCheckArbitrary: fc.Arbitrary<string>;
20
- export declare const relationshipTypeArbitrary: fc.Arbitrary<"-" | "<" | ">" | "<>">;
21
- export declare const inlineRefSettingArbitrary: fc.Arbitrary<string>;
22
- export declare const columnSettingArbitrary: fc.Arbitrary<string>;
23
- export declare const columnSettingsListArbitrary: fc.Arbitrary<string>;
24
- export declare const emptySettingsListArbitrary: fc.Arbitrary<"[]">;
25
- export declare const tableSettingArbitrary: fc.Arbitrary<string>;
26
- export declare const tableSettingsListArbitrary: fc.Arbitrary<string>;
27
- export declare const indexSettingArbitrary: fc.Arbitrary<string>;
28
- export declare const indexSettingsListArbitrary: fc.Arbitrary<string>;
29
- export declare const refSettingArbitrary: fc.Arbitrary<string>;
30
- export declare const refSettingsListArbitrary: fc.Arbitrary<string>;
31
- export declare const simpleColumnArbitrary: fc.Arbitrary<string>;
32
- export declare const columnWithSettingsArbitrary: fc.Arbitrary<string>;
33
- export declare const columnArbitrary: fc.Arbitrary<string>;
34
- export declare const columnListArbitrary: fc.Arbitrary<string>;
35
- export declare const singleColumnIndexArbitrary: fc.Arbitrary<string>;
36
- export declare const expressionIndexArbitrary: fc.Arbitrary<string>;
37
- export declare const compositeIndexArbitrary: fc.Arbitrary<string>;
38
- export declare const mixedCompositeIndexArbitrary: fc.Arbitrary<string>;
39
- export declare const indexArbitrary: fc.Arbitrary<string>;
40
- export declare const indexesBlockArbitrary: fc.Arbitrary<string>;
41
- export declare const checkSettingArbitrary: fc.Arbitrary<string>;
42
- export declare const checkConstraintArbitrary: fc.Arbitrary<string>;
43
- export declare const checksBlockArbitrary: fc.Arbitrary<string>;
44
- export declare const inlineNoteArbitrary: fc.Arbitrary<string>;
45
- export declare const blockNoteArbitrary: fc.Arbitrary<string>;
46
- export declare const simpleEnumValueArbitrary: fc.Arbitrary<string>;
47
- export declare const enumValueWithNoteArbitrary: fc.Arbitrary<string>;
48
- export declare const enumValueArbitrary: fc.Arbitrary<string>;
49
- export declare const enumArbitrary: fc.Arbitrary<string>;
50
- export declare const inlineRefArbitrary: fc.Arbitrary<string>;
51
- export declare const standaloneRefArbitrary: fc.Arbitrary<string>;
52
- export declare const namedRefArbitrary: fc.Arbitrary<string>;
53
- export declare const multiColumnRefArbitrary: fc.Arbitrary<string>;
54
- export declare const anyRefArbitrary: fc.Arbitrary<string>;
55
- export declare const tableAliasArbitrary: fc.Arbitrary<string>;
56
- export declare const simpleTableArbitrary: fc.Arbitrary<string>;
57
- export declare const tableWithAliasArbitrary: fc.Arbitrary<string>;
58
- export declare const tableWithSettingsArbitrary: fc.Arbitrary<string>;
59
- export declare const tableWithIndexesArbitrary: fc.Arbitrary<string>;
60
- export declare const tableWithNoteArbitrary: fc.Arbitrary<string>;
61
- export declare const complexTableArbitrary: fc.Arbitrary<string>;
62
- export declare const tableArbitrary: fc.Arbitrary<string>;
63
- export declare const tableGroupSettingArbitrary: fc.Arbitrary<string>;
64
- export declare const tableGroupSettingsListArbitrary: fc.Arbitrary<string>;
65
- export declare const tableGroupArbitrary: fc.Arbitrary<string>;
66
- export declare const tablePartialArbitrary: fc.Arbitrary<string>;
67
- export declare const partialInjectionArbitrary: fc.Arbitrary<string>;
68
- export declare const standaloneNoteArbitrary: fc.Arbitrary<string>;
69
- export declare const projectSettingArbitrary: fc.Arbitrary<string>;
70
- export declare const projectArbitrary: fc.Arbitrary<string>;
71
- export declare const schemaElementArbitrary: fc.Arbitrary<string>;
72
- export declare const smallSchemaArbitrary: fc.Arbitrary<string>;
73
- export declare const mediumSchemaArbitrary: fc.Arbitrary<string>;
74
- export declare const largeSchemaArbitrary: fc.Arbitrary<string>;
75
- export declare const dbmlSchemaArbitrary: fc.Arbitrary<string>;
76
- export declare const unclosedBracketArbitrary: fc.Arbitrary<string>;
77
- export declare const mismatchedBracketsArbitrary: fc.Arbitrary<string>;
78
- export declare const unclosedStringArbitrary: fc.Arbitrary<string>;
79
- export declare const truncatedInputArbitrary: fc.Arbitrary<string>;
80
- export declare const invalidEscapeArbitrary: fc.Arbitrary<string>;
81
- export declare const binaryGarbageArbitrary: fc.Arbitrary<string>;
82
- export declare const extremeNestingArbitrary: fc.Arbitrary<string>;
83
- export declare const malformedTableArbitrary: fc.Arbitrary<string>;
84
- export declare const malformedEnumArbitrary: fc.Arbitrary<string>;
85
- export declare const malformedRefArbitrary: fc.Arbitrary<string>;
86
- export declare const conflictingSettingsArbitrary: fc.Arbitrary<string>;
87
- export declare const emptyTableArbitrary: fc.Arbitrary<string>;
88
- export declare const columnNoSettingsArbitrary: fc.Arbitrary<string>;
89
- export declare const tableWithZeroSettingsArbitrary: fc.Arbitrary<string>;
90
- export declare const allSettingsColumnArbitrary: fc.Arbitrary<string>;
91
- export declare const selfReferentialTableArbitrary: fc.Arbitrary<string>;
92
- export declare const circularRefArbitrary: fc.Arbitrary<string>;
93
- export declare const danglingRefArbitrary: fc.Arbitrary<string>;
94
- export declare const mismatchedCompositeRefArbitrary: fc.Arbitrary<string>;
95
- export declare const malformedInputArbitrary: fc.Arbitrary<string>;
96
- export declare const charSubstitutionArbitrary: (source: string) => fc.Arbitrary<string>;
97
- export declare const multiCharInsertionArbitrary: (source: string) => fc.Arbitrary<string>;
98
- export declare const blockDuplicationArbitrary: (source: string) => fc.Arbitrary<string>;
99
- export declare const toCRLF: (source: string) => string;
100
- export declare const crlfSchemaArbitrary: fc.Arbitrary<string>;
@@ -1,3 +0,0 @@
1
- export * from './utils';
2
- export * from './tokens';
3
- export * from './grammars';
@@ -1,20 +0,0 @@
1
- import { default as fc } from 'fast-check';
2
- export declare const identifierArbitrary: fc.Arbitrary<string>;
3
- export declare const quotedIdentifierArbitrary: fc.Arbitrary<string>;
4
- export declare const anyIdentifierArbitrary: fc.Arbitrary<string>;
5
- export declare const singleLineStringArbitrary: fc.Arbitrary<string>;
6
- export declare const multiLineStringArbitrary: fc.Arbitrary<string>;
7
- export declare const anyStringArbitrary: fc.Arbitrary<string>;
8
- export declare const numberArbitrary: fc.Arbitrary<string>;
9
- export declare const prefixedNumberArbitrary: fc.Arbitrary<string>;
10
- export declare const functionExpressionArbitrary: fc.Arbitrary<string>;
11
- export declare const colorArbitrary: fc.Arbitrary<string>;
12
- export declare const opArbitrary: fc.Arbitrary<string>;
13
- export declare const seppuncArbitrary: fc.Arbitrary<string>;
14
- export declare const wsArbitrary: fc.Arbitrary<string>;
15
- export declare const singleLineCommentArbitrary: fc.Arbitrary<string>;
16
- export declare const multiLineCommentArbitrary: fc.Arbitrary<string>;
17
- export declare const commentArbitrary: fc.Arbitrary<string>;
18
- export declare const identifierStreamArbitrary: fc.Arbitrary<string>;
19
- export declare const tokenStreamArbitrary: fc.Arbitrary<string>;
20
- export declare const spacedTokenStreamArbitrary: fc.Arbitrary<string>;