@dbml/parse 7.0.0 → 7.0.1-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 +19 -16
  3. package/dist/dbml-parse.mjs +4949 -4727
  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 +6 -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
@@ -1,59 +0,0 @@
1
- import { default as fc } from 'fast-check';
2
- export declare function orRegex(...subregexes: RegExp[]): RegExp;
3
- export declare function chainRegex(...subregexes: RegExp[]): RegExp;
4
- export declare function matchFullRegex(regex: RegExp): RegExp;
5
- export declare function oneOrManyRegex(regex: RegExp): RegExp;
6
- export declare function zeroOrManyRegex(regex: RegExp): RegExp;
7
- /**
8
- * Helper to generate case variations of a string (lowercase, uppercase, original)
9
- * Examples:
10
- * caseVariant('table') => 'Table' | 'tAble' | 'taBle'
11
- */
12
- export declare const caseVariant: (str: string) => fc.Arbitrary<string>;
13
- /**
14
- * Helper to generate case variations of one of multiple strings
15
- * Picks one string from the arguments and varies its case
16
- * Examples:
17
- * caseVariantOneOf('primary key', 'pk') => 'primary key' | 'PRIMARY KEY' | 'pk' | 'PK' | etc.
18
- */
19
- export declare const caseVariantOneOf: (...strings: string[]) => fc.Arbitrary<string>;
20
- /**
21
- * Helper to generate case variations with key:value format for settings
22
- */
23
- export declare const settingKeyValue: (key: string, valueArb: fc.Arbitrary<string>) => fc.Arbitrary<string>;
24
- /**
25
- * Helper to generate random whitespace (spaces, tabs, newlines)
26
- * CRLF tested separately via crlfSchemaArbitrary
27
- */
28
- export declare const randomSpaceArbitrary: fc.Arbitrary<string>;
29
- /**
30
- * Helper to generate random inline whitespace (spaces and tabs only, NO newlines)
31
- * Returns 1-3 whitespace characters
32
- * Use this for single-line constructs (columns, enum values, checks, indexes)
33
- */
34
- export declare const randomInlineSpaceArbitrary: fc.Arbitrary<string>;
35
- /**
36
- * Helper to join string/arbitrary tokens with random spacing between them
37
- * Automatically injects random whitespace between all tokens (including newlines)
38
- * Use this for top-level declarations (Table, Enum, Ref, etc.)
39
- *
40
- * @param tokens - Array of strings or arbitraries to join
41
- * @returns An arbitrary that produces the joined string with random spacing
42
- *
43
- * @example
44
- * joinWithRandomSpaces(caseVariant('Table'), 'users', '{')
45
- * // Produces: "Table users {" or "TABLE\n\tusers\t{" etc.
46
- */
47
- export declare const joinWithRandomSpaces: (...tokens: (fc.Arbitrary<string> | string)[]) => fc.Arbitrary<string>;
48
- /**
49
- * Helper to join string/arbitrary tokens with random inline spacing (NO newlines)
50
- * Use this for single-line constructs (columns, enum values, checks, indexes)
51
- *
52
- * @param tokens - Array of strings or arbitraries to join
53
- * @returns An arbitrary that produces the joined string with random inline spacing
54
- *
55
- * @example
56
- * joinWithRandomInlineSpaces('id', 'int', '[pk]')
57
- * // Produces: "id int [pk]" or "id\tint\t\t[pk]" etc. (no newlines)
58
- */
59
- export declare const joinWithRandomInlineSpaces: (...tokens: (fc.Arbitrary<string> | string)[]) => fc.Arbitrary<string>;
@@ -1,13 +0,0 @@
1
- import { ProgramNode, SyntaxNode } from '../../src/core/parser/nodes';
2
- import { default as Report } from '../../src/core/report';
3
- import { SyntaxToken } from '../../src/index';
4
- import { Database } from '../../src/core/interpreter/types';
5
- export declare function lex(source: string): Report<SyntaxToken[]>;
6
- export declare function parse(source: string): Report<{
7
- ast: ProgramNode;
8
- tokens: SyntaxToken[];
9
- }>;
10
- export declare function analyze(source: string): Report<ProgramNode>;
11
- export declare function interpret(source: string): Report<Database | undefined>;
12
- export declare function flattenTokens(token: SyntaxToken): SyntaxToken[];
13
- export declare function print(source: string, ast: SyntaxNode): string;
@@ -1,3 +0,0 @@
1
- export { createPosition, MockTextModel, createMockTextModel, extractTextFromRange, } from './mocks';
2
- export { scanTestNames, serialize, } from './testHelpers';
3
- export { lex, parse, analyze, interpret, flattenTokens, print, } from './compiler';
@@ -1,17 +0,0 @@
1
- import { Position, TextModel } from '../../src/services';
2
- export declare function createPosition(lineNumber: number, column: number): Position;
3
- export declare class MockTextModel {
4
- private content;
5
- uri: any;
6
- constructor(content: string, uri?: string);
7
- getOffsetAt(position: Position): number;
8
- getValue(): string;
9
- getLineContent(lineNumber: number): string;
10
- }
11
- export declare function createMockTextModel(content: string, uri?: string): TextModel;
12
- export declare function extractTextFromRange(program: string, range: {
13
- startLineNumber: number;
14
- startColumn: number;
15
- endLineNumber: number;
16
- endColumn: number;
17
- }): string;
@@ -1,16 +0,0 @@
1
- import { default as Report } from '../../src/core/report';
2
- import { ProgramNode } from '../../src/index';
3
- export declare function scanTestNames(_path: any): string[];
4
- /**
5
- * Serializes a compiler report to JSON, handling circular references and
6
- * reducing verbosity by outputting IDs instead of full objects where appropriate.
7
- *
8
- * The serializer handles special keys:
9
- * - 'symbol': For non-root nodes, outputs only the symbol ID. For root nodes,
10
- * outputs the full symbol table with references as IDs.
11
- * - 'referee': Outputs only the referenced symbol's ID
12
- * - 'parent': Outputs only the parent node's ID
13
- * - 'declaration': Outputs only the declaration node's ID
14
- * - 'symbolTable': Converts Map to Object for JSON compatibility
15
- */
16
- export declare function serialize(report: Readonly<Report<ProgramNode>>, pretty?: boolean): string;
@@ -1,132 +0,0 @@
1
- import { default as SymbolTable } from './symbolTable';
2
- import { SyntaxNode } from '../../parser/nodes';
3
- export type NodeSymbolId = number;
4
- export declare class NodeSymbolIdGenerator {
5
- private id;
6
- reset(): void;
7
- nextId(): NodeSymbolId;
8
- }
9
- export interface NodeSymbol {
10
- id: NodeSymbolId;
11
- symbolTable?: SymbolTable;
12
- declaration?: SyntaxNode;
13
- references: SyntaxNode[];
14
- }
15
- export declare class SchemaSymbol implements NodeSymbol {
16
- id: NodeSymbolId;
17
- symbolTable: SymbolTable;
18
- references: SyntaxNode[];
19
- constructor({ symbolTable }: {
20
- symbolTable: SymbolTable;
21
- }, id: NodeSymbolId);
22
- }
23
- export declare class EnumSymbol implements NodeSymbol {
24
- id: NodeSymbolId;
25
- symbolTable: SymbolTable;
26
- declaration: SyntaxNode;
27
- references: SyntaxNode[];
28
- constructor({ symbolTable, declaration }: {
29
- symbolTable: SymbolTable;
30
- declaration: SyntaxNode;
31
- }, id: NodeSymbolId);
32
- }
33
- export declare class EnumFieldSymbol implements NodeSymbol {
34
- id: NodeSymbolId;
35
- declaration: SyntaxNode;
36
- references: SyntaxNode[];
37
- constructor({ declaration }: {
38
- declaration: SyntaxNode;
39
- }, id: NodeSymbolId);
40
- }
41
- export declare class TableSymbol implements NodeSymbol {
42
- id: NodeSymbolId;
43
- symbolTable: SymbolTable;
44
- declaration: SyntaxNode;
45
- references: SyntaxNode[];
46
- constructor({ symbolTable, declaration }: {
47
- symbolTable: SymbolTable;
48
- declaration: SyntaxNode;
49
- }, id: NodeSymbolId);
50
- }
51
- export declare class ColumnSymbol implements NodeSymbol {
52
- id: NodeSymbolId;
53
- declaration: SyntaxNode;
54
- references: SyntaxNode[];
55
- constructor({ declaration }: {
56
- declaration: SyntaxNode;
57
- }, id: NodeSymbolId);
58
- }
59
- export declare class TableGroupSymbol implements NodeSymbol {
60
- id: NodeSymbolId;
61
- symbolTable: SymbolTable;
62
- declaration: SyntaxNode;
63
- references: SyntaxNode[];
64
- constructor({ symbolTable, declaration }: {
65
- symbolTable: SymbolTable;
66
- declaration: SyntaxNode;
67
- }, id: NodeSymbolId);
68
- }
69
- export declare class TableGroupFieldSymbol implements NodeSymbol {
70
- id: NodeSymbolId;
71
- declaration: SyntaxNode;
72
- references: SyntaxNode[];
73
- constructor({ declaration }: {
74
- declaration: SyntaxNode;
75
- }, id: NodeSymbolId);
76
- }
77
- export declare class DiagramViewSymbol implements NodeSymbol {
78
- id: NodeSymbolId;
79
- symbolTable: SymbolTable;
80
- declaration: SyntaxNode;
81
- references: SyntaxNode[];
82
- constructor({ symbolTable, declaration }: {
83
- symbolTable: SymbolTable;
84
- declaration: SyntaxNode;
85
- }, id: NodeSymbolId);
86
- }
87
- export declare class DiagramViewFieldSymbol implements NodeSymbol {
88
- id: NodeSymbolId;
89
- declaration: SyntaxNode;
90
- references: SyntaxNode[];
91
- constructor({ declaration }: {
92
- declaration: SyntaxNode;
93
- }, id: NodeSymbolId);
94
- }
95
- export declare class StickyNoteSymbol implements NodeSymbol {
96
- id: NodeSymbolId;
97
- declaration: SyntaxNode;
98
- references: SyntaxNode[];
99
- constructor({ declaration }: {
100
- declaration: SyntaxNode;
101
- }, id: NodeSymbolId);
102
- }
103
- export declare class TablePartialSymbol implements NodeSymbol {
104
- id: NodeSymbolId;
105
- symbolTable: SymbolTable;
106
- declaration: SyntaxNode;
107
- references: SyntaxNode[];
108
- constructor({ symbolTable, declaration }: {
109
- symbolTable: SymbolTable;
110
- declaration: SyntaxNode;
111
- }, id: NodeSymbolId);
112
- }
113
- export declare class PartialInjectionSymbol implements NodeSymbol {
114
- id: NodeSymbolId;
115
- symbolTable: SymbolTable;
116
- declaration: SyntaxNode;
117
- references: SyntaxNode[];
118
- constructor({ symbolTable, declaration }: {
119
- symbolTable: SymbolTable;
120
- declaration: SyntaxNode;
121
- }, id: NodeSymbolId);
122
- }
123
- export declare class TablePartialInjectedColumnSymbol implements NodeSymbol {
124
- id: NodeSymbolId;
125
- declaration: SyntaxNode;
126
- tablePartialSymbol: TablePartialSymbol;
127
- references: SyntaxNode[];
128
- constructor({ declaration, tablePartialSymbol }: {
129
- declaration: SyntaxNode;
130
- tablePartialSymbol: TablePartialSymbol;
131
- }, id: NodeSymbolId);
132
- }
@@ -1,18 +0,0 @@
1
- export type Option<T> = Some<T> | None<T>;
2
- export declare class Some<T> {
3
- value: T;
4
- constructor(value: T);
5
- unwrap(): T;
6
- unwrap_or<S>(orValue: S): S | T;
7
- and_then<S>(callback: (_: T) => Option<S>): Option<S>;
8
- map<S>(callback: (_: T) => S): Option<S>;
9
- isOk(): boolean;
10
- }
11
- export declare class None<T> {
12
- value: undefined;
13
- unwrap(): T;
14
- unwrap_or<S>(orValue: S): S | T;
15
- and_then<S>(callback: (_: T) => Option<S>): Option<S>;
16
- map<S>(callback: (_: T) => S): Option<S>;
17
- isOk(): boolean;
18
- }
@@ -1,12 +0,0 @@
1
- import { CompileError, CompileWarning } from './errors';
2
- export default class Report<T> {
3
- private value;
4
- private errors;
5
- private warnings?;
6
- constructor(value: T, errors?: CompileError[], warnings?: CompileWarning[]);
7
- getValue(): T;
8
- getErrors(): CompileError[];
9
- getWarnings(): CompileWarning[];
10
- chain<U>(fn: (_: T) => Report<U>): Report<U>;
11
- map<U>(fn: (_: T) => U): Report<U>;
12
- }
@@ -1,13 +0,0 @@
1
- import { SyntaxToken } from './lexer/tokens';
2
- import { PrefixExpressionNode, PrimaryExpressionNode, SyntaxNode } from './parser/nodes';
3
- export declare function isAlphaOrUnderscore(char: string): boolean;
4
- export declare function isDigit(char: string): boolean;
5
- export declare function isHexChar(char: string): boolean;
6
- export declare function isAlphaNumeric(char: string): boolean;
7
- export declare function alternateLists<T, S>(firstList: T[], secondList: S[]): (T | S)[];
8
- export declare function isOffsetWithinFullSpan(offset: number, nodeOrToken: SyntaxNode | SyntaxToken): boolean;
9
- export declare function isOffsetWithinSpan(offset: number, nodeOrToken: SyntaxNode | SyntaxToken): boolean;
10
- export declare function returnIfIsOffsetWithinFullSpan(offset: number, node?: SyntaxNode): SyntaxNode | undefined;
11
- export declare function returnIfIsOffsetWithinFullSpan(offset: number, token?: SyntaxToken): SyntaxToken | undefined;
12
- export declare function getNumberTextFromExpression(node: PrimaryExpressionNode | PrefixExpressionNode): string;
13
- export declare function parseNumber(node: PrefixExpressionNode | PrimaryExpressionNode): number;