@dbml/parse 7.1.2 → 8.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/dbml-parse.js +29 -19
  2. package/dist/dbml-parse.mjs +11098 -7342
  3. package/dist/src/compiler/index.d.ts +88 -52
  4. package/dist/src/compiler/projectLayout/index.d.ts +1 -0
  5. package/dist/src/compiler/projectLayout/layout.d.ts +27 -0
  6. package/dist/src/compiler/queries/canonicalName.d.ts +9 -0
  7. package/dist/src/compiler/queries/container/element.d.ts +2 -1
  8. package/dist/src/compiler/queries/container/scope.d.ts +3 -2
  9. package/dist/src/compiler/queries/container/scopeKind.d.ts +2 -1
  10. package/dist/src/compiler/queries/container/stack.d.ts +2 -1
  11. package/dist/src/compiler/queries/container/token.d.ts +2 -1
  12. package/dist/src/compiler/queries/files/fileDependencies.d.ts +3 -0
  13. package/dist/src/compiler/queries/files/reachableFiles.d.ts +3 -0
  14. package/dist/src/compiler/queries/files/usableMembers.d.ts +34 -0
  15. package/dist/src/compiler/queries/legacy/parse.d.ts +10 -9
  16. package/dist/src/compiler/queries/legacy/symbol.d.ts +1 -10
  17. package/dist/src/compiler/queries/legacy/token.d.ts +3 -2
  18. package/dist/src/compiler/queries/nodeAtPosition.d.ts +5 -0
  19. package/dist/src/compiler/queries/pipeline/bind.d.ts +5 -0
  20. package/dist/src/compiler/queries/pipeline/index.d.ts +2 -0
  21. package/dist/src/compiler/queries/pipeline/interpret.d.ts +6 -0
  22. package/dist/src/compiler/queries/pipeline/parse.d.ts +12 -0
  23. package/dist/src/compiler/queries/pipeline/validate.d.ts +4 -0
  24. package/dist/src/compiler/queries/resolutionIndex.d.ts +11 -0
  25. package/dist/src/compiler/queries/symbol/lookupMembers.d.ts +4 -0
  26. package/dist/src/compiler/queries/symbol/symbolAliases.d.ts +4 -0
  27. package/dist/src/compiler/queries/symbol/symbolUses.d.ts +4 -0
  28. package/dist/src/compiler/queries/transform/index.d.ts +1 -1
  29. package/dist/src/compiler/queries/transform/renameTable.d.ts +21 -16
  30. package/dist/src/compiler/queries/transform/syncDiagramView.d.ts +19 -6
  31. package/dist/src/compiler/queries/transform/utils.d.ts +5 -4
  32. package/dist/src/compiler/queries/utils.d.ts +6 -0
  33. package/dist/src/constants.d.ts +1 -2
  34. package/dist/src/core/global_modules/checks/bind.d.ts +9 -0
  35. package/dist/src/core/global_modules/checks/index.d.ts +2 -0
  36. package/dist/src/core/global_modules/checks/interpret.d.ts +10 -0
  37. package/dist/src/core/global_modules/diagramView/bind.d.ts +18 -0
  38. package/dist/src/core/global_modules/diagramView/index.d.ts +8 -0
  39. package/dist/src/core/global_modules/diagramView/interpret.d.ts +37 -0
  40. package/dist/src/core/global_modules/enum/bind.d.ts +11 -0
  41. package/dist/src/core/global_modules/enum/index.d.ts +8 -0
  42. package/dist/src/core/global_modules/enum/interpret.d.ts +15 -0
  43. package/dist/src/core/global_modules/index.d.ts +17 -0
  44. package/dist/src/core/global_modules/indexes/bind.d.ts +12 -0
  45. package/dist/src/core/global_modules/indexes/index.d.ts +2 -0
  46. package/dist/src/core/global_modules/indexes/interpret.d.ts +10 -0
  47. package/dist/src/core/global_modules/note/bind.d.ts +11 -0
  48. package/dist/src/core/global_modules/note/index.d.ts +2 -0
  49. package/dist/src/core/global_modules/note/interpret.d.ts +17 -0
  50. package/dist/src/core/global_modules/program/bind.d.ts +17 -0
  51. package/dist/src/core/global_modules/program/index.d.ts +2 -0
  52. package/dist/src/core/global_modules/program/interpret.d.ts +23 -0
  53. package/dist/src/core/global_modules/program/utils.d.ts +3 -0
  54. package/dist/src/core/global_modules/project/bind.d.ts +11 -0
  55. package/dist/src/core/global_modules/project/index.d.ts +2 -0
  56. package/dist/src/core/global_modules/project/interpret.d.ts +16 -0
  57. package/dist/src/core/global_modules/records/bind.d.ts +17 -0
  58. package/dist/src/core/global_modules/records/index.d.ts +2 -0
  59. package/dist/src/core/global_modules/records/interpret.d.ts +13 -0
  60. package/dist/src/core/global_modules/records/utils/constraints/fk.d.ts +13 -0
  61. package/dist/src/core/global_modules/records/utils/constraints/helper.d.ts +26 -0
  62. package/dist/src/core/global_modules/records/utils/constraints/pk.d.ts +6 -0
  63. package/dist/src/core/global_modules/records/utils/constraints/unique.d.ts +5 -0
  64. package/dist/src/core/{interpreter → global_modules}/records/utils/data/sqlTypes.d.ts +0 -8
  65. package/dist/src/core/{interpreter → global_modules}/records/utils/data/values.d.ts +1 -1
  66. package/dist/src/core/global_modules/ref/bind.d.ts +15 -0
  67. package/dist/src/core/global_modules/ref/index.d.ts +7 -0
  68. package/dist/src/core/global_modules/ref/interpret.d.ts +15 -0
  69. package/dist/src/core/global_modules/schema/index.d.ts +2 -0
  70. package/dist/src/core/global_modules/table/bind.d.ts +18 -0
  71. package/dist/src/core/global_modules/table/index.d.ts +9 -0
  72. package/dist/src/core/global_modules/table/interpret.d.ts +26 -0
  73. package/dist/src/core/global_modules/table/utils.d.ts +4 -0
  74. package/dist/src/core/global_modules/tableGroup/bind.d.ts +15 -0
  75. package/dist/src/core/global_modules/tableGroup/index.d.ts +8 -0
  76. package/dist/src/core/global_modules/tableGroup/interpret.d.ts +18 -0
  77. package/dist/src/core/global_modules/tablePartial/bind.d.ts +17 -0
  78. package/dist/src/core/global_modules/tablePartial/index.d.ts +7 -0
  79. package/dist/src/core/global_modules/tablePartial/interpret.d.ts +23 -0
  80. package/dist/src/core/global_modules/types.d.ts +17 -0
  81. package/dist/src/core/global_modules/use/index.d.ts +8 -0
  82. package/dist/src/core/global_modules/utils.d.ts +17 -0
  83. package/dist/src/core/local_modules/checks/index.d.ts +2 -0
  84. package/dist/src/core/local_modules/checks/validate.d.ts +17 -0
  85. package/dist/src/core/local_modules/custom/index.d.ts +2 -0
  86. package/dist/src/core/local_modules/custom/validate.d.ts +14 -0
  87. package/dist/src/core/local_modules/diagramView/index.d.ts +2 -0
  88. package/dist/src/core/local_modules/diagramView/validate.d.ts +24 -0
  89. package/dist/src/core/local_modules/enum/index.d.ts +2 -0
  90. package/dist/src/core/local_modules/enum/validate.d.ts +17 -0
  91. package/dist/src/core/local_modules/index.d.ts +10 -0
  92. package/dist/src/core/local_modules/indexes/index.d.ts +2 -0
  93. package/dist/src/core/local_modules/indexes/validate.d.ts +18 -0
  94. package/dist/src/core/local_modules/note/index.d.ts +2 -0
  95. package/dist/src/core/local_modules/note/validate.d.ts +16 -0
  96. package/dist/src/core/local_modules/program/index.d.ts +2 -0
  97. package/dist/src/core/local_modules/program/validate.d.ts +9 -0
  98. package/dist/src/core/local_modules/project/index.d.ts +2 -0
  99. package/dist/src/core/local_modules/project/validate.d.ts +15 -0
  100. package/dist/src/core/local_modules/records/index.d.ts +2 -0
  101. package/dist/src/core/local_modules/records/validate.d.ts +20 -0
  102. package/dist/src/core/local_modules/ref/index.d.ts +2 -0
  103. package/dist/src/core/local_modules/ref/validate.d.ts +20 -0
  104. package/dist/src/core/local_modules/table/index.d.ts +2 -0
  105. package/dist/src/core/local_modules/table/validate.d.ts +21 -0
  106. package/dist/src/core/local_modules/tableGroup/index.d.ts +2 -0
  107. package/dist/src/core/local_modules/tableGroup/validate.d.ts +19 -0
  108. package/dist/src/core/local_modules/tablePartial/index.d.ts +2 -0
  109. package/dist/src/core/local_modules/tablePartial/validate.d.ts +21 -0
  110. package/dist/src/core/local_modules/types.d.ts +12 -0
  111. package/dist/src/core/local_modules/use/index.d.ts +2 -0
  112. package/dist/src/core/local_modules/use/validate.d.ts +12 -0
  113. package/dist/src/core/parser/parser.d.ts +6 -0
  114. package/dist/src/core/parser/utils.d.ts +2 -49
  115. package/dist/src/core/types/errors.d.ts +9 -5
  116. package/dist/src/core/types/filepath.d.ts +8 -2
  117. package/dist/src/core/types/index.d.ts +2 -0
  118. package/dist/src/core/{analyzer/types.d.ts → types/keywords.d.ts} +6 -2
  119. package/dist/src/core/types/module.d.ts +1 -2
  120. package/dist/src/core/types/nodes.d.ts +61 -16
  121. package/dist/src/core/types/report.d.ts +3 -3
  122. package/dist/src/core/types/schemaJson.d.ts +14 -5
  123. package/dist/src/core/types/symbol/factory.d.ts +3 -2
  124. package/dist/src/core/types/symbol/index.d.ts +2 -3
  125. package/dist/src/core/types/symbol/metadata.d.ts +80 -0
  126. package/dist/src/core/types/symbol/symbols.d.ts +277 -86
  127. package/dist/src/core/{analyzer/utils.d.ts → utils/expression.d.ts} +10 -21
  128. package/dist/src/core/utils/interpret.d.ts +16 -0
  129. package/dist/src/core/utils/numbers.d.ts +1 -1
  130. package/dist/src/core/utils/span.d.ts +2 -4
  131. package/dist/src/core/utils/tokens.d.ts +15 -0
  132. package/dist/src/core/utils/validate.d.ts +103 -0
  133. package/dist/src/index.d.ts +13 -9
  134. package/dist/src/services/diagnostics/provider.d.ts +7 -6
  135. package/dist/src/services/index.d.ts +1 -0
  136. package/dist/src/services/monarch.d.ts +3 -2
  137. package/dist/src/services/suggestions/crossFile.d.ts +6 -0
  138. package/dist/src/services/suggestions/provider.d.ts +4 -1
  139. package/dist/src/services/suggestions/recordRowSnippet.d.ts +2 -1
  140. package/dist/src/services/suggestions/use.d.ts +5 -0
  141. package/dist/src/services/suggestions/utils/index.d.ts +10 -0
  142. package/dist/src/services/suggestions/utils/useMerger.d.ts +28 -0
  143. package/dist/src/services/types.d.ts +4 -0
  144. package/dist/src/services/utils.d.ts +4 -1
  145. package/package.json +2 -2
  146. package/dist/src/core/analyzer/analyzer.d.ts +0 -10
  147. package/dist/src/core/analyzer/binder/binder.d.ts +0 -10
  148. package/dist/src/core/analyzer/binder/elementBinder/checks.d.ts +0 -13
  149. package/dist/src/core/analyzer/binder/elementBinder/custom.d.ts +0 -16
  150. package/dist/src/core/analyzer/binder/elementBinder/diagramView.d.ts +0 -20
  151. package/dist/src/core/analyzer/binder/elementBinder/enum.d.ts +0 -16
  152. package/dist/src/core/analyzer/binder/elementBinder/indexes.d.ts +0 -17
  153. package/dist/src/core/analyzer/binder/elementBinder/note.d.ts +0 -16
  154. package/dist/src/core/analyzer/binder/elementBinder/project.d.ts +0 -16
  155. package/dist/src/core/analyzer/binder/elementBinder/records.d.ts +0 -22
  156. package/dist/src/core/analyzer/binder/elementBinder/ref.d.ts +0 -17
  157. package/dist/src/core/analyzer/binder/elementBinder/table.d.ts +0 -21
  158. package/dist/src/core/analyzer/binder/elementBinder/tableGroup.d.ts +0 -17
  159. package/dist/src/core/analyzer/binder/elementBinder/tablePartial.d.ts +0 -19
  160. package/dist/src/core/analyzer/binder/types.d.ts +0 -4
  161. package/dist/src/core/analyzer/binder/utils.d.ts +0 -33
  162. package/dist/src/core/analyzer/validator/elementValidators/checks.d.ts +0 -26
  163. package/dist/src/core/analyzer/validator/elementValidators/custom.d.ts +0 -23
  164. package/dist/src/core/analyzer/validator/elementValidators/diagramView.d.ts +0 -31
  165. package/dist/src/core/analyzer/validator/elementValidators/enum.d.ts +0 -28
  166. package/dist/src/core/analyzer/validator/elementValidators/indexes.d.ts +0 -27
  167. package/dist/src/core/analyzer/validator/elementValidators/note.d.ts +0 -25
  168. package/dist/src/core/analyzer/validator/elementValidators/project.d.ts +0 -24
  169. package/dist/src/core/analyzer/validator/elementValidators/records.d.ts +0 -29
  170. package/dist/src/core/analyzer/validator/elementValidators/ref.d.ts +0 -26
  171. package/dist/src/core/analyzer/validator/elementValidators/table.d.ts +0 -28
  172. package/dist/src/core/analyzer/validator/elementValidators/tableGroup.d.ts +0 -27
  173. package/dist/src/core/analyzer/validator/elementValidators/tablePartial.d.ts +0 -28
  174. package/dist/src/core/analyzer/validator/types.d.ts +0 -7
  175. package/dist/src/core/analyzer/validator/utils.d.ts +0 -65
  176. package/dist/src/core/analyzer/validator/validator.d.ts +0 -10
  177. package/dist/src/core/interpreter/elementInterpreter/diagramView.d.ts +0 -13
  178. package/dist/src/core/interpreter/elementInterpreter/enum.d.ts +0 -12
  179. package/dist/src/core/interpreter/elementInterpreter/project.d.ts +0 -12
  180. package/dist/src/core/interpreter/elementInterpreter/ref.d.ts +0 -14
  181. package/dist/src/core/interpreter/elementInterpreter/sticky_note.d.ts +0 -14
  182. package/dist/src/core/interpreter/elementInterpreter/table.d.ts +0 -22
  183. package/dist/src/core/interpreter/elementInterpreter/tableGroup.d.ts +0 -15
  184. package/dist/src/core/interpreter/elementInterpreter/tablePartial.d.ts +0 -19
  185. package/dist/src/core/interpreter/interpreter.d.ts +0 -10
  186. package/dist/src/core/interpreter/records/index.d.ts +0 -10
  187. package/dist/src/core/interpreter/records/utils/constraints/fk.d.ts +0 -3
  188. package/dist/src/core/interpreter/records/utils/constraints/helper.d.ts +0 -11
  189. package/dist/src/core/interpreter/records/utils/constraints/pk.d.ts +0 -3
  190. package/dist/src/core/interpreter/records/utils/constraints/unique.d.ts +0 -3
  191. package/dist/src/core/interpreter/types.d.ts +0 -47
  192. package/dist/src/core/interpreter/utils.d.ts +0 -37
  193. package/dist/src/core/types/symbol/symbolIndex.d.ts +0 -33
  194. package/dist/src/core/types/symbol/symbolTable.d.ts +0 -12
  195. package/dist/src/core/types/symbol/utils.d.ts +0 -4
  196. package/dist/src/core/utils/array.d.ts +0 -1
  197. package/dist/src/core/utils/enum.d.ts +0 -1
  198. package/dist/src/services/suggestions/utils.d.ts +0 -34
  199. /package/dist/src/core/{interpreter → global_modules}/records/utils/constraints/index.d.ts +0 -0
  200. /package/dist/src/core/{interpreter → global_modules}/records/utils/data/index.d.ts +0 -0
  201. /package/dist/src/core/{interpreter → global_modules}/records/utils/index.d.ts +0 -0
@@ -1,122 +1,313 @@
1
+ import { DEFAULT_SCHEMA_NAME } from '../../../constants';
1
2
  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;
3
+ import { Internable } from '../internable';
4
+ import { default as Compiler } from '../../../compiler';
5
+ import { TableChecksMetadata, NodeMetadata, IndexesMetadata } from './metadata';
6
+ import { TokenPosition } from '../schemaJson';
7
+ import { Settings } from '../../utils/validate';
8
+ import { ProgramNode, SyntaxNode, UseSpecifierNode, WildcardNode, ElementDeclarationNode } from '../nodes';
9
+ export declare enum SymbolKind {
10
+ Schema = "Schema",
11
+ Table = "Table",
12
+ Column = "Column",
13
+ TableGroup = "TableGroup",
14
+ TableGroupField = "TableGroup field",
15
+ Enum = "Enum",
16
+ EnumField = "Enum field",
17
+ StickyNote = "Note",
18
+ TablePartial = "TablePartial",
19
+ PartialInjection = "PartialInjection",
20
+ DiagramView = "DiagramView",
21
+ DiagramViewTopLevelWildcard = "DiagramView top-level wildcard",
22
+ DiagramViewTable = "DiagramView table",
23
+ DiagramViewTableGroup = "DiagramView tablegroup",
24
+ DiagramViewNote = "DiagramView note",
25
+ DiagramViewSchema = "DiagramView schema",
26
+ Program = "Program"
27
+ }
28
+ export declare const ImportKind: {
29
+ Table: SymbolKind;
30
+ Enum: SymbolKind;
31
+ TableGroup: SymbolKind;
32
+ TablePartial: SymbolKind;
33
+ Note: SymbolKind;
34
+ Schema: SymbolKind;
35
+ };
36
+ export type ImportKind = (typeof ImportKind)[keyof typeof ImportKind];
37
+ declare const __nodeSymbolBrand: unique symbol;
38
+ export type NodeSymbolId = number & {
39
+ readonly [__nodeSymbolBrand]: true;
40
+ };
41
+ declare const __internedNodeSymbolBrand: unique symbol;
42
+ export type InternedNodeSymbol = string & {
43
+ readonly [__internedNodeSymbolBrand]: true;
44
+ };
6
45
  export declare class NodeSymbolIdGenerator {
7
46
  private id;
8
47
  reset(): void;
9
48
  nextId(): NodeSymbolId;
10
49
  }
11
- export declare class NodeSymbol {
50
+ export declare abstract class NodeSymbol implements Internable<InternedNodeSymbol> {
12
51
  id: NodeSymbolId;
13
52
  kind: SymbolKind;
14
- filepath: Filepath;
15
- symbolTable?: SymbolTable;
16
53
  declaration?: SyntaxNode;
17
- references: SyntaxNode[];
18
- constructor({ kind, declaration, symbolTable, filepath, }: {
54
+ filepath: Filepath;
55
+ name?: string;
56
+ constructor({ kind, declaration, name, }: {
19
57
  kind: SymbolKind;
20
58
  declaration?: SyntaxNode;
21
- symbolTable?: SymbolTable;
22
- filepath?: Filepath;
23
- }, id: NodeSymbolId);
24
- isKind(kind: SymbolKind): boolean;
59
+ name?: string;
60
+ }, id: NodeSymbolId, filepath: Filepath);
61
+ abstract get canBeImported(): boolean;
62
+ abstract get originalSymbol(): NodeSymbol;
63
+ get originalFilepath(): Filepath;
64
+ intern(): InternedNodeSymbol;
65
+ isKind(...kinds: SymbolKind[]): boolean;
66
+ canonicalName(compiler: Compiler, filepath: Filepath): {
67
+ schema: string;
68
+ name: string;
69
+ } | undefined;
70
+ interpretedName(compiler: Compiler, filepath: Filepath): {
71
+ schema: string | null;
72
+ name: string;
73
+ };
74
+ settings(compiler: Compiler): Settings | undefined;
75
+ get token(): TokenPosition | undefined;
76
+ references(compiler: Compiler): SyntaxNode[];
77
+ metadata(compiler: Compiler): NodeMetadata[];
78
+ members(compiler: Compiler): NodeSymbol[];
25
79
  }
26
80
  export declare class SchemaSymbol extends NodeSymbol {
27
- symbolTable: SymbolTable;
28
- name?: string;
29
- constructor({ symbolTable, name, }: {
30
- symbolTable: SymbolTable;
81
+ kind: SymbolKind.Schema;
82
+ name: string;
83
+ parent?: SchemaSymbol;
84
+ constructor({ name, parent, }: {
31
85
  name?: string;
32
- }, id: NodeSymbolId);
86
+ parent?: SchemaSymbol;
87
+ }, id: NodeSymbolId, filepath: Filepath);
88
+ get canBeImported(): boolean;
89
+ get originalSymbol(): NodeSymbol;
90
+ get qualifiedName(): string[];
91
+ isPublicSchema(): this is SchemaSymbol & {
92
+ name: typeof DEFAULT_SCHEMA_NAME;
93
+ };
94
+ inNestedSchema(compiler: Compiler, nodeSymbol: NodeSymbol): boolean;
33
95
  }
34
96
  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);
97
+ constructor({ declaration, name, }: {
98
+ declaration?: SyntaxNode;
99
+ name?: string;
100
+ }, id: NodeSymbolId, filepath: Filepath);
101
+ get canBeImported(): boolean;
102
+ get originalSymbol(): NodeSymbol;
41
103
  }
42
104
  export declare class EnumFieldSymbol extends NodeSymbol {
43
- declaration: SyntaxNode;
44
- constructor({ declaration, }: {
45
- declaration: SyntaxNode;
46
- }, id: NodeSymbolId);
105
+ constructor({ declaration, name, }: {
106
+ declaration?: SyntaxNode;
107
+ name?: string;
108
+ }, id: NodeSymbolId, filepath: Filepath);
109
+ get canBeImported(): boolean;
110
+ get originalSymbol(): NodeSymbol;
111
+ note(compiler: Compiler): {
112
+ value: string;
113
+ token: TokenPosition;
114
+ } | undefined;
47
115
  }
48
116
  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);
117
+ constructor({ declaration, name, }: {
118
+ declaration?: SyntaxNode;
119
+ name?: string;
120
+ }, id: NodeSymbolId, filepath: Filepath);
121
+ get canBeImported(): boolean;
122
+ get originalSymbol(): NodeSymbol;
123
+ schema(compiler: Compiler): string | null;
124
+ columns(compiler: Compiler): ColumnSymbol[];
125
+ mergedColumns(compiler: Compiler): (ColumnSymbol | InjectedColumnSymbol)[];
126
+ partialInjections(compiler: Compiler): NodeSymbol[];
127
+ note(compiler: Compiler): {
128
+ value: string;
129
+ token: TokenPosition;
130
+ } | undefined;
131
+ headercolor(compiler: Compiler): string | undefined;
132
+ refs(compiler: Compiler): never[];
133
+ checks(compiler: Compiler): never[];
134
+ indexes(compiler: Compiler): never[];
135
+ records(compiler: Compiler): never[];
136
+ resolvedPartials(compiler: Compiler): NodeSymbol[];
137
+ mergedIndexes(compiler: Compiler): IndexesMetadata[];
138
+ mergedChecks(compiler: Compiler): TableChecksMetadata[];
139
+ mergedHeadercolor(compiler: Compiler): string | undefined;
140
+ mergedNote(compiler: Compiler): {
141
+ value: string;
142
+ token: TokenPosition;
143
+ } | undefined;
55
144
  }
56
145
  export declare class ColumnSymbol extends NodeSymbol {
57
- declaration: SyntaxNode;
58
- constructor({ declaration, }: {
59
- declaration: SyntaxNode;
60
- }, id: NodeSymbolId);
146
+ constructor({ declaration, name, }: {
147
+ declaration?: SyntaxNode;
148
+ name?: string;
149
+ }, id: NodeSymbolId, filepath: Filepath);
150
+ get canBeImported(): boolean;
151
+ get originalSymbol(): NodeSymbol;
152
+ pk(compiler: Compiler): boolean;
153
+ unique(compiler: Compiler): boolean;
154
+ nullable(compiler: Compiler): boolean | undefined;
155
+ increment(compiler: Compiler): boolean;
156
+ default(compiler: Compiler): {
157
+ type: 'number' | 'string' | 'boolean' | 'expression';
158
+ value: string | number;
159
+ } | undefined;
160
+ type(compiler: Compiler): {
161
+ name: string;
162
+ enumSymbol?: EnumSymbol;
163
+ args?: (string | number)[];
164
+ schema?: string;
165
+ array?: (string | number | undefined)[];
166
+ } | undefined;
167
+ checks(compiler: Compiler): TableChecksMetadata[];
168
+ note(compiler: Compiler): {
169
+ value: string;
170
+ token: TokenPosition;
171
+ } | undefined;
61
172
  }
62
173
  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);
174
+ constructor({ declaration, name, }: {
175
+ declaration?: SyntaxNode;
176
+ name?: string;
177
+ }, id: NodeSymbolId, filepath: Filepath);
178
+ get canBeImported(): boolean;
179
+ get originalSymbol(): NodeSymbol;
180
+ fields(compiler: Compiler): TableGroupFieldSymbol[];
181
+ color(compiler: Compiler): string | undefined;
182
+ note(compiler: Compiler): {
183
+ value: string;
184
+ token: TokenPosition;
185
+ } | undefined;
69
186
  }
70
187
  export declare class TableGroupFieldSymbol extends NodeSymbol {
71
- declaration: SyntaxNode;
72
- constructor({ declaration, }: {
73
- declaration: SyntaxNode;
74
- }, id: NodeSymbolId);
188
+ constructor({ declaration, name, }: {
189
+ declaration?: SyntaxNode;
190
+ name?: string;
191
+ }, id: NodeSymbolId, filepath: Filepath);
192
+ get canBeImported(): boolean;
193
+ get originalSymbol(): NodeSymbol;
194
+ }
195
+ export declare class NoteSymbol extends NodeSymbol {
196
+ constructor({ declaration, name, }: {
197
+ declaration?: SyntaxNode;
198
+ name?: string;
199
+ }, id: NodeSymbolId, filepath: Filepath);
200
+ get canBeImported(): boolean;
201
+ get originalSymbol(): NodeSymbol;
75
202
  }
76
203
  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);
204
+ constructor({ declaration, name, }: {
205
+ declaration?: SyntaxNode;
206
+ name?: string;
207
+ }, id: NodeSymbolId, filepath: Filepath);
208
+ get canBeImported(): boolean;
209
+ get originalSymbol(): NodeSymbol;
83
210
  }
84
211
  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);
212
+ constructor({ declaration, name, }: {
213
+ declaration?: SyntaxNode;
214
+ name?: string;
215
+ }, id: NodeSymbolId, filepath: Filepath);
216
+ get canBeImported(): boolean;
217
+ get originalSymbol(): NodeSymbol;
99
218
  }
100
219
  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);
220
+ constructor({ declaration, name, }: {
221
+ declaration?: SyntaxNode;
222
+ name?: string;
223
+ }, id: NodeSymbolId, filepath: Filepath);
224
+ get canBeImported(): boolean;
225
+ get originalSymbol(): NodeSymbol;
108
226
  }
109
- export declare class DiagramViewFieldSymbol extends NodeSymbol {
110
- declaration: SyntaxNode;
111
- filepath: Filepath;
112
- constructor({ declaration, }: {
113
- declaration: SyntaxNode;
114
- }, id: NodeSymbolId);
227
+ export declare class DiagramViewTopLevelWildcardSymbol extends NodeSymbol {
228
+ constructor({ declaration, name, }: {
229
+ declaration?: SyntaxNode;
230
+ name?: string;
231
+ }, id: NodeSymbolId, filepath: Filepath);
232
+ get canBeImported(): boolean;
233
+ get originalSymbol(): NodeSymbol;
115
234
  }
116
- export declare class StickyNoteSymbol extends NodeSymbol {
117
- declaration: SyntaxNode;
118
- filepath: Filepath;
119
- constructor({ declaration, }: {
235
+ export declare class DiagramViewTableSymbol extends NodeSymbol {
236
+ constructor({ declaration, name, }: {
237
+ declaration?: SyntaxNode;
238
+ name?: string;
239
+ }, id: NodeSymbolId, filepath: Filepath);
240
+ get canBeImported(): boolean;
241
+ get originalSymbol(): NodeSymbol;
242
+ }
243
+ export declare class DiagramViewTableGroupSymbol extends NodeSymbol {
244
+ constructor({ declaration, name, }: {
245
+ declaration?: SyntaxNode;
246
+ name?: string;
247
+ }, id: NodeSymbolId, filepath: Filepath);
248
+ get canBeImported(): boolean;
249
+ get originalSymbol(): NodeSymbol;
250
+ }
251
+ export declare class DiagramViewNoteSymbol extends NodeSymbol {
252
+ constructor({ declaration, name, }: {
253
+ declaration?: SyntaxNode;
254
+ name?: string;
255
+ }, id: NodeSymbolId, filepath: Filepath);
256
+ get canBeImported(): boolean;
257
+ get originalSymbol(): NodeSymbol;
258
+ }
259
+ export declare class DiagramViewSchemaSymbol extends NodeSymbol {
260
+ constructor({ declaration, name, }: {
261
+ declaration?: SyntaxNode;
262
+ name?: string;
263
+ }, id: NodeSymbolId, filepath: Filepath);
264
+ get canBeImported(): boolean;
265
+ get originalSymbol(): NodeSymbol;
266
+ }
267
+ export declare class ProgramSymbol extends NodeSymbol {
268
+ declaration: ProgramNode;
269
+ constructor({ declaration, name, }: {
270
+ declaration?: SyntaxNode;
271
+ name?: string;
272
+ }, id: NodeSymbolId, filepath: Filepath);
273
+ get canBeImported(): boolean;
274
+ get originalSymbol(): NodeSymbol;
275
+ inNestedSchema(compiler: Compiler, nodeSymbol: NodeSymbol): boolean;
276
+ }
277
+ export declare class AliasSymbol extends NodeSymbol {
278
+ declaration: ElementDeclarationNode;
279
+ name: string;
280
+ aliasedSymbol: NodeSymbol;
281
+ constructor({ kind, declaration, aliasedSymbol, name, }: {
282
+ kind: SymbolKind;
283
+ declaration?: ElementDeclarationNode;
284
+ aliasedSymbol: NodeSymbol;
285
+ name: string;
286
+ }, id: NodeSymbolId, filepath: Filepath);
287
+ get canBeImported(): boolean;
288
+ get originalSymbol(): NodeSymbol;
289
+ }
290
+ export declare class UseSymbol extends NodeSymbol {
291
+ useSpecifierDeclaration: UseSpecifierNode | WildcardNode | undefined;
292
+ usedSymbol?: NodeSymbol;
293
+ constructor({ kind, declaration, useSpecifierDeclaration, usedSymbol, name, }: {
294
+ kind: SymbolKind;
295
+ declaration?: SyntaxNode;
296
+ useSpecifierDeclaration: UseSpecifierNode | WildcardNode | undefined;
297
+ usedSymbol?: NodeSymbol;
298
+ name?: string;
299
+ }, id: NodeSymbolId, filepath: Filepath);
300
+ get canBeImported(): boolean;
301
+ get originalSymbol(): NodeSymbol;
302
+ }
303
+ export declare class InjectedColumnSymbol extends ColumnSymbol {
304
+ name: string;
305
+ injectionDeclaration: SyntaxNode;
306
+ constructor({ declaration, name, injectionDeclaration, }: {
307
+ kind: SymbolKind;
120
308
  declaration: SyntaxNode;
121
- }, id: NodeSymbolId);
309
+ injectionDeclaration: SyntaxNode;
310
+ name: string;
311
+ }, id: NodeSymbolId, filepath: Filepath);
122
312
  }
313
+ export {};
@@ -1,7 +1,10 @@
1
- import { ElementDeclarationNode, FunctionExpressionNode, InfixExpressionNode, PrimaryExpressionNode, SyntaxNode, VariableNode } from '../types/nodes';
2
- import { NodeSymbolIndex } from '../types/symbol';
3
- import { NodeSymbol } from '../types/symbol/symbols';
1
+ import { ElementDeclarationNode, FunctionApplicationNode, FunctionExpressionNode, IdentifierStreamNode, PrimaryExpressionNode, SyntaxNode, TupleExpressionNode, VariableNode } from '../types/nodes';
4
2
  import { SyntaxToken } from '../types/tokens';
3
+ export declare function extractVariableNode(value?: unknown): SyntaxToken | undefined;
4
+ export declare function extractStringFromIdentifierStream(stream?: IdentifierStreamNode): string | undefined;
5
+ export declare function getElementNameString(element?: SyntaxNode): string | undefined;
6
+ export declare function isTupleEmpty(tuple: TupleExpressionNode): boolean;
7
+ export declare function getBody(node?: ElementDeclarationNode): (FunctionApplicationNode | ElementDeclarationNode)[];
5
8
  export declare function destructureMemberAccessExpression(node?: SyntaxNode): SyntaxNode[] | undefined;
6
9
  export declare function destructureComplexVariable(node?: SyntaxNode): string[] | undefined;
7
10
  export declare function destructureComplexVariableTuple(node?: SyntaxNode): {
@@ -12,31 +15,14 @@ export declare function destructureComplexVariableTuple(node?: SyntaxNode): {
12
15
  expression: VariableNode;
13
16
  })[];
14
17
  } | undefined;
15
- export declare function extractVariableFromExpression(node?: SyntaxNode): string | undefined;
16
18
  export declare function destructureIndexNode(node?: SyntaxNode): {
17
19
  functional: FunctionExpressionNode[];
18
20
  nonFunctional: (PrimaryExpressionNode & {
19
21
  expression: VariableNode;
20
22
  })[];
21
23
  } | undefined;
22
- export declare function extractVarNameFromPrimaryVariable(node?: PrimaryExpressionNode & {
23
- expression: VariableNode;
24
- }): string | undefined;
25
24
  export declare function extractQuotedStringToken(value?: SyntaxNode): string | undefined;
26
25
  export declare function extractNumericLiteral(node?: SyntaxNode): number | null;
27
- export declare function extractReferee(node?: SyntaxNode): NodeSymbol | undefined;
28
- export declare function isBinaryRelationship(value?: SyntaxNode): value is InfixExpressionNode;
29
- export declare function isEqualTupleOperands(value: InfixExpressionNode): value is InfixExpressionNode;
30
- export declare function isValidIndexName(value?: SyntaxNode): value is (PrimaryExpressionNode & {
31
- expression: VariableNode;
32
- }) | FunctionExpressionNode;
33
- export declare function extractIndexName(value: (PrimaryExpressionNode & {
34
- expression: VariableNode & {
35
- variable: SyntaxToken;
36
- };
37
- }) | (FunctionExpressionNode & {
38
- value: SyntaxToken;
39
- })): string;
40
26
  export declare function destructureCallExpression(node?: SyntaxNode): {
41
27
  variables: (PrimaryExpressionNode & {
42
28
  expression: VariableNode;
@@ -45,4 +31,7 @@ export declare function destructureCallExpression(node?: SyntaxNode): {
45
31
  expression: VariableNode;
46
32
  })[];
47
33
  } | undefined;
48
- export declare function findSymbol(id: NodeSymbolIndex, startElement: ElementDeclarationNode): NodeSymbol | undefined;
34
+ export declare function extractVariableFromExpression(node?: SyntaxNode): string | undefined;
35
+ export declare function extractVarNameFromPrimaryVariable(node?: PrimaryExpressionNode & {
36
+ expression: VariableNode;
37
+ }): string | undefined;
@@ -0,0 +1,16 @@
1
+ import { default as Compiler } from '../../compiler';
2
+ import { ColumnType, TokenPosition } from '../types/schemaJson';
3
+ import { SyntaxNode } from '../types/nodes';
4
+ import { default as Report } from '../types/report';
5
+ export declare function getTokenPosition(node: SyntaxNode): TokenPosition;
6
+ export declare function normalizeNote(content: string): string;
7
+ export declare function extractElementName(nameNode: SyntaxNode): {
8
+ schemaName: string[];
9
+ name: string;
10
+ };
11
+ export declare function extractColor(node: unknown): string | undefined;
12
+ export declare function processDefaultValue(valueNode?: SyntaxNode): {
13
+ type: 'number' | 'string' | 'boolean' | 'expression';
14
+ value: string | number;
15
+ } | undefined;
16
+ export declare function processColumnType(compiler: Compiler, typeNode: SyntaxNode): Report<ColumnType>;
@@ -1,3 +1,3 @@
1
1
  import { PrefixExpressionNode, PrimaryExpressionNode } from '../types/nodes';
2
2
  export declare function getNumberTextFromExpression(node: PrimaryExpressionNode | PrefixExpressionNode): string;
3
- export declare function parseNumber(node: PrefixExpressionNode | PrimaryExpressionNode): number;
3
+ export declare function extractNumber(node: PrefixExpressionNode | PrimaryExpressionNode): number;
@@ -1,6 +1,4 @@
1
- import { SyntaxNode } from '../types/nodes';
1
+ import { ElementDeclarationNode, SyntaxNode } from '../types/nodes';
2
2
  import { SyntaxToken } from '../types/tokens';
3
- export declare function isOffsetWithinFullSpan(offset: number, nodeOrToken: SyntaxNode | SyntaxToken): boolean;
4
3
  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;
4
+ export declare function isOffsetWithinElementHeader(offset: number, element: ElementDeclarationNode): boolean;
@@ -0,0 +1,15 @@
1
+ import { SyntaxToken, SyntaxTokenKind } from '../types/tokens';
2
+ export declare function isAsKeyword(token?: SyntaxToken): token is SyntaxToken & {
3
+ kind: SyntaxTokenKind.IDENTIFIER;
4
+ value: 'as';
5
+ };
6
+ export declare function isUseKeyword(token?: SyntaxToken): token is SyntaxToken & {
7
+ kind: SyntaxTokenKind.IDENTIFIER;
8
+ };
9
+ export declare function isFromKeyword(token?: SyntaxToken): token is SyntaxToken & {
10
+ kind: SyntaxTokenKind.IDENTIFIER;
11
+ };
12
+ export declare function isReuseKeyword(token?: SyntaxToken): token is SyntaxToken & {
13
+ kind: SyntaxTokenKind.IDENTIFIER;
14
+ };
15
+ export declare function isInvalidToken(token?: SyntaxToken): boolean;
@@ -0,0 +1,103 @@
1
+ import { AttributeNode, BlockExpressionNode, ElementDeclarationNode, FunctionApplicationNode, FunctionExpressionNode, InfixExpressionNode, ListExpressionNode, LiteralNode, PrefixExpressionNode, PrimaryExpressionNode, ProgramNode, SyntaxNode, TupleExpressionNode, UseDeclarationNode, UseSpecifierNode, VariableNode, WildcardNode } from '../types/nodes';
2
+ import { default as Report } from '../types/report';
3
+ import { SyntaxToken, SyntaxTokenKind } from '../types/tokens';
4
+ import { ElementKind, SettingName } from '../types/keywords';
5
+ import { ImportKind } from '../types/symbol';
6
+ export declare function isValidName(nameNode: SyntaxNode): boolean;
7
+ export declare function isValidAlias(aliasNode: SyntaxNode): aliasNode is PrimaryExpressionNode & {
8
+ expression: VariableNode;
9
+ };
10
+ export declare function isSimpleName(nameNode: SyntaxNode): nameNode is PrimaryExpressionNode & {
11
+ expression: VariableNode;
12
+ };
13
+ export declare function isValidSettingList(settingListNode: SyntaxNode): settingListNode is ListExpressionNode;
14
+ export declare function hasComplexBody(node: ElementDeclarationNode): node is ElementDeclarationNode & {
15
+ body: BlockExpressionNode;
16
+ bodyColon: undefined;
17
+ };
18
+ export declare function hasSimpleBody(node: ElementDeclarationNode): node is ElementDeclarationNode & {
19
+ bodyColon: SyntaxToken;
20
+ };
21
+ export declare function isValidPartialInjection(node?: SyntaxNode): node is PrefixExpressionNode & {
22
+ op: {
23
+ value: '~';
24
+ };
25
+ };
26
+ export declare function isRelationshipOp(op?: string): boolean;
27
+ export declare function isValidColor(value?: SyntaxNode): boolean;
28
+ export declare function isValidDefaultValue(value?: SyntaxNode): boolean;
29
+ export type SignedNumberExpression = (PrimaryExpressionNode & {
30
+ expression: LiteralNode & {
31
+ literal: {
32
+ kind: SyntaxTokenKind.NUMERIC_LITERAL;
33
+ };
34
+ };
35
+ }) | (PrefixExpressionNode & {
36
+ op: '-' | '+';
37
+ expression: SignedNumberExpression;
38
+ });
39
+ export declare function isExpressionASignedNumberExpression(value?: SyntaxNode): value is SignedNumberExpression;
40
+ export declare function isUnaryRelationship(value?: SyntaxNode): value is PrefixExpressionNode;
41
+ export declare function isTupleOfVariables(value?: SyntaxNode): value is TupleExpressionNode & {
42
+ elementList: (PrimaryExpressionNode & {
43
+ expression: VariableNode;
44
+ })[];
45
+ };
46
+ export declare function isValidColumnType(type: SyntaxNode): boolean;
47
+ export type Settings = Record<SettingName | string, AttributeNode[]>;
48
+ export declare function aggregateSettingList(settingList?: ListExpressionNode): Report<Settings>;
49
+ export declare function isExpressionAQuotedString(value?: unknown): value is PrimaryExpressionNode & ({
50
+ expression: VariableNode & {
51
+ variable: SyntaxToken & {
52
+ kind: SyntaxTokenKind.QUOTED_STRING;
53
+ };
54
+ };
55
+ } | {
56
+ expression: LiteralNode & {
57
+ literal: SyntaxToken & {
58
+ kind: SyntaxTokenKind.STRING_LITERAL;
59
+ };
60
+ };
61
+ });
62
+ export declare function isExpressionAVariableNode(value?: unknown): value is PrimaryExpressionNode & {
63
+ expression: VariableNode & {
64
+ variable: SyntaxToken;
65
+ };
66
+ };
67
+ export declare function isWildcardExpression(node: SyntaxNode | undefined): boolean;
68
+ export declare function isExpressionAnIdentifierNode(value?: unknown): value is PrimaryExpressionNode & {
69
+ expression: VariableNode & {
70
+ variable: {
71
+ kind: SyntaxTokenKind.IDENTIFIER;
72
+ };
73
+ };
74
+ };
75
+ type AccessExpression = InfixExpressionNode & {
76
+ leftExpression: SyntaxNode;
77
+ rightExpression: SyntaxNode;
78
+ op: SyntaxToken & {
79
+ value: '.';
80
+ };
81
+ };
82
+ type DotDelimitedIdentifier = PrimaryExpressionNode | (AccessExpression & {
83
+ rightExpression: AccessExpression | PrimaryExpressionNode;
84
+ });
85
+ export declare function isAccessExpression(node?: SyntaxNode): node is AccessExpression;
86
+ export declare function isDotDelimitedIdentifier(node?: SyntaxNode): node is DotDelimitedIdentifier;
87
+ export declare function isElementNode(node: SyntaxNode | undefined, kind: ElementKind): node is ElementDeclarationNode;
88
+ export declare function isUseDeclaration(node: SyntaxNode): node is UseDeclarationNode;
89
+ export declare function isUseSpecifier(node: SyntaxNode, kind?: ImportKind): node is UseSpecifierNode;
90
+ export declare function isWildcardSpecifier(node: SyntaxNode): node is WildcardNode;
91
+ export declare function isProgramNode(node: SyntaxNode | undefined): node is ProgramNode;
92
+ export declare function isElementFieldNode(node: SyntaxNode | undefined, ...kinds: ElementKind[]): node is FunctionApplicationNode;
93
+ export declare function isInsideElementBody(node: SyntaxNode, kind: ElementKind): boolean;
94
+ export declare function isWithinNthArgOfField(node: SyntaxNode, nth: number): boolean;
95
+ export declare function isInsideSettingList(node: SyntaxNode): boolean;
96
+ export declare function isInsideSettingValue(node: SyntaxNode, settingName: SettingName): boolean;
97
+ export declare function isBinaryRelationship(value?: SyntaxNode): value is InfixExpressionNode;
98
+ export declare function isEqualTupleOperands(value: InfixExpressionNode): boolean;
99
+ export declare function isValidIndexName(value?: SyntaxNode): value is (PrimaryExpressionNode & {
100
+ expression: VariableNode;
101
+ }) | FunctionExpressionNode;
102
+ export declare function isTerminalAccessFragment(node: SyntaxNode): boolean;
103
+ export {};
@@ -1,14 +1,18 @@
1
1
  import { default as Compiler } from './compiler/index';
2
- import * as services from '@/services/index';
3
- export { ElementKind, } from './core/analyzer/types';
4
- export * from './core/interpreter/records/utils';
5
- export { SyntaxNode, ElementDeclarationNode, ProgramNode, SyntaxNodeKind, type SyntaxNodeId, } from './core/types/nodes';
6
- export { SyntaxToken, SyntaxTokenKind, } from './core/types/tokens';
2
+ export { DEFAULT_ENTRY, } from './constants';
3
+ export { Filepath, } from './core/types/filepath';
4
+ export { UNHANDLED, type Unhandled, } from './core/types/module';
5
+ export { ElementKind, } from './core/types/keywords';
6
+ export { type NodeSymbol, SymbolKind, } from './core/types/symbol';
7
+ export * from './core/global_modules/records/utils';
8
+ export * from './core/types/nodes';
9
+ export { SyntaxToken, SyntaxTokenKind, isTriviaToken, isOp, isOpToken, } from './core/types/tokens';
7
10
  export { CompileError, CompileErrorCode, } from './core/types/errors';
8
11
  export type { Position, } from './core/types';
9
12
  export { ScopeKind, splitQualifiedIdentifier, unescapeString, escapeString, formatRecordValue, isValidIdentifier, addDoubleQuoteIfNeeded, } from './compiler/index';
10
13
  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, };
14
+ export type { DiagramViewSyncOperation, DiagramViewBlock, TextEdit, } from './compiler/queries/transform';
15
+ export { dbmlLanguageConfig, dbmlMonarchTokensProvider, } from './services/monarch';
16
+ export * from './compiler/projectLayout/layout';
17
+ export { Compiler, };
18
+ export * from './services';