@dbml/parse 6.5.0 → 7.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/dist/__tests__/examples/binder/binder.test.d.ts +0 -0
- package/dist/__tests__/examples/binder/records.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/applyTextEdits.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/identifierUtils.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/renameTable.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/splitQualifiedIdentifier.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/stringUtils.test.d.ts +0 -0
- package/dist/__tests__/examples/compiler/syncDiagramView.test.d.ts +1 -0
- package/dist/__tests__/examples/interpreter/interpreter.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/data.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/fk.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/increment.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/multi_records.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/pk.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/table_partial.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/type_compatibility.test.d.ts +0 -0
- package/dist/__tests__/examples/interpreter/record/unique.test.d.ts +0 -0
- package/dist/__tests__/examples/lexer/lexer.test.d.ts +0 -0
- package/dist/__tests__/examples/lexer/scientific-notation.test.d.ts +0 -0
- package/dist/__tests__/examples/parser/parser.test.d.ts +0 -0
- package/dist/__tests__/examples/services/definition/general.test.d.ts +0 -0
- package/dist/__tests__/examples/services/definition/records.test.d.ts +0 -0
- package/dist/__tests__/examples/services/references/general.test.d.ts +0 -0
- package/dist/__tests__/examples/services/references/records.test.d.ts +0 -0
- package/dist/__tests__/examples/services/service_utils.test.d.ts +0 -0
- package/dist/__tests__/examples/services/suggestions/general.test.d.ts +0 -0
- package/dist/__tests__/examples/services/suggestions/suggestions_diagramview.test.d.ts +1 -0
- package/dist/__tests__/examples/services/suggestions/suggestions_records.test.d.ts +0 -0
- package/dist/__tests__/examples/validator/records.test.d.ts +0 -0
- package/dist/__tests__/examples/validator/validator.test.d.ts +0 -0
- package/dist/__tests__/examples/wildcard/wildcard.test.d.ts +1 -0
- package/dist/__tests__/fuzz/interpreter.test.d.ts +0 -0
- package/dist/__tests__/fuzz/parser.test.d.ts +0 -0
- package/dist/__tests__/fuzz/services.test.d.ts +0 -0
- package/dist/__tests__/properties/lexer.test.d.ts +0 -0
- package/dist/__tests__/properties/parser.test.d.ts +0 -0
- package/dist/__tests__/snapshots/binder/binder.test.d.ts +0 -0
- package/dist/__tests__/snapshots/interpreter/interpreter.test.d.ts +0 -0
- package/dist/__tests__/snapshots/lexer/lexer.test.d.ts +0 -0
- package/dist/__tests__/snapshots/nan/nan.test.d.ts +0 -0
- package/dist/__tests__/snapshots/parser/parser.test.d.ts +0 -0
- package/dist/__tests__/snapshots/validator/validator.test.d.ts +0 -0
- package/dist/__tests__/utils/arbitraries/grammars.d.ts +1 -1
- package/dist/__tests__/utils/arbitraries/index.d.ts +0 -0
- package/dist/__tests__/utils/arbitraries/tokens.d.ts +0 -0
- package/dist/__tests__/utils/arbitraries/utils.d.ts +0 -0
- package/dist/__tests__/utils/compiler.d.ts +0 -0
- package/dist/__tests__/utils/index.d.ts +0 -0
- package/dist/__tests__/utils/mocks.d.ts +0 -0
- package/dist/__tests__/utils/testHelpers.d.ts +0 -0
- package/dist/dbml-parse.js +19 -11
- package/dist/dbml-parse.mjs +868 -133
- package/dist/index.d.ts +0 -0
- package/dist/src/compiler/index.d.ts +7 -2
- package/dist/src/compiler/queries/container/element.d.ts +0 -0
- package/dist/src/compiler/queries/container/index.d.ts +0 -0
- package/dist/src/compiler/queries/container/scope.d.ts +0 -0
- package/dist/src/compiler/queries/container/scopeKind.d.ts +0 -0
- package/dist/src/compiler/queries/container/stack.d.ts +0 -0
- package/dist/src/compiler/queries/container/token.d.ts +0 -0
- package/dist/src/compiler/queries/parse.d.ts +0 -0
- package/dist/src/compiler/queries/symbol.d.ts +0 -0
- package/dist/src/compiler/queries/token.d.ts +0 -0
- package/dist/src/compiler/queries/transform/applyTextEdits.d.ts +1 -1
- package/dist/src/compiler/queries/transform/index.d.ts +1 -0
- package/dist/src/compiler/queries/transform/renameTable.d.ts +0 -0
- package/dist/src/compiler/queries/transform/syncDiagramView.d.ts +39 -0
- package/dist/src/compiler/queries/transform/utils.d.ts +0 -0
- package/dist/src/compiler/queries/utils.d.ts +0 -0
- package/dist/src/compiler/types.d.ts +2 -1
- package/dist/src/constants.d.ts +0 -0
- package/dist/src/core/analyzer/analyzer.d.ts +0 -0
- package/dist/src/core/analyzer/binder/binder.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/checks.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/custom.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/diagramView.d.ts +20 -0
- package/dist/src/core/analyzer/binder/elementBinder/enum.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/indexes.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/note.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/project.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/records.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/ref.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/table.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/tableGroup.d.ts +0 -0
- package/dist/src/core/analyzer/binder/elementBinder/tablePartial.d.ts +0 -0
- package/dist/src/core/analyzer/binder/types.d.ts +0 -0
- package/dist/src/core/analyzer/binder/utils.d.ts +2 -1
- package/dist/src/core/analyzer/symbol/factory.d.ts +0 -0
- package/dist/src/core/analyzer/symbol/symbolIndex.d.ts +5 -1
- package/dist/src/core/analyzer/symbol/symbolTable.d.ts +0 -0
- package/dist/src/core/analyzer/symbol/symbols.d.ts +26 -0
- package/dist/src/core/analyzer/symbol/utils.d.ts +0 -0
- package/dist/src/core/analyzer/types.d.ts +2 -1
- package/dist/src/core/analyzer/utils.d.ts +0 -0
- package/dist/src/core/analyzer/validator/elementValidators/checks.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/custom.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/diagramView.d.ts +31 -0
- package/dist/src/core/analyzer/validator/elementValidators/enum.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/indexes.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/note.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/project.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/records.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/ref.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/table.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/tableGroup.d.ts +5 -2
- package/dist/src/core/analyzer/validator/elementValidators/tablePartial.d.ts +5 -2
- package/dist/src/core/analyzer/validator/types.d.ts +5 -2
- package/dist/src/core/analyzer/validator/utils.d.ts +2 -1
- package/dist/src/core/analyzer/validator/validator.d.ts +0 -0
- package/dist/src/core/errors.d.ts +4 -0
- package/dist/src/core/interpreter/elementInterpreter/diagramView.d.ts +13 -0
- package/dist/src/core/interpreter/elementInterpreter/enum.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/project.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/ref.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/sticky_note.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/table.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/tableGroup.d.ts +0 -0
- package/dist/src/core/interpreter/elementInterpreter/tablePartial.d.ts +0 -0
- package/dist/src/core/interpreter/interpreter.d.ts +0 -0
- package/dist/src/core/interpreter/records/index.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/constraints/fk.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/constraints/helper.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/constraints/index.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/constraints/pk.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/constraints/unique.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/data/index.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/data/sqlTypes.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/data/values.d.ts +0 -0
- package/dist/src/core/interpreter/records/utils/index.d.ts +0 -0
- package/dist/src/core/interpreter/types.d.ts +31 -0
- package/dist/src/core/interpreter/utils.d.ts +0 -0
- package/dist/src/core/lexer/lexer.d.ts +0 -0
- package/dist/src/core/lexer/tokens.d.ts +2 -1
- package/dist/src/core/lexer/utils.d.ts +0 -0
- package/dist/src/core/option.d.ts +0 -0
- package/dist/src/core/parser/contextStack.d.ts +0 -0
- package/dist/src/core/parser/factory.d.ts +0 -0
- package/dist/src/core/parser/nodes.d.ts +7 -0
- package/dist/src/core/parser/parser.d.ts +0 -0
- package/dist/src/core/parser/utils.d.ts +1 -0
- package/dist/src/core/report.d.ts +0 -0
- package/dist/src/core/types.d.ts +0 -0
- package/dist/src/core/utils.d.ts +0 -0
- package/dist/src/index.d.ts +4 -1
- package/dist/src/services/definition/provider.d.ts +0 -0
- package/dist/src/services/diagnostics/provider.d.ts +0 -0
- package/dist/src/services/index.d.ts +1 -0
- package/dist/src/services/monarch.d.ts +3 -0
- package/dist/src/services/references/provider.d.ts +0 -0
- package/dist/src/services/suggestions/provider.d.ts +0 -0
- package/dist/src/services/suggestions/recordRowSnippet.d.ts +0 -0
- package/dist/src/services/suggestions/utils.d.ts +0 -0
- package/dist/src/services/types.d.ts +0 -0
- package/dist/src/services/utils.d.ts +0 -0
- package/package.json +2 -3
|
@@ -8,6 +8,33 @@ export interface TokenPosition {
|
|
|
8
8
|
export interface ElementInterpreter {
|
|
9
9
|
interpret(): CompileError[];
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* FilterConfig is a tri-state filter:
|
|
13
|
+
* - [] (empty array) = show all
|
|
14
|
+
* - [...] (array with items) = show only these specific items
|
|
15
|
+
* - null = hide all
|
|
16
|
+
*/
|
|
17
|
+
export interface FilterConfig {
|
|
18
|
+
tables: Array<{
|
|
19
|
+
name: string;
|
|
20
|
+
schemaName: string;
|
|
21
|
+
}> | null;
|
|
22
|
+
stickyNotes: Array<{
|
|
23
|
+
name: string;
|
|
24
|
+
}> | null;
|
|
25
|
+
tableGroups: Array<{
|
|
26
|
+
name: string;
|
|
27
|
+
}> | null;
|
|
28
|
+
schemas: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
}> | null;
|
|
31
|
+
}
|
|
32
|
+
export interface DiagramView {
|
|
33
|
+
name: string;
|
|
34
|
+
schemaName: string | null;
|
|
35
|
+
visibleEntities: FilterConfig;
|
|
36
|
+
token: TokenPosition;
|
|
37
|
+
}
|
|
11
38
|
export interface InterpreterDatabase {
|
|
12
39
|
schema: [];
|
|
13
40
|
tables: Map<ElementDeclarationNode, Table>;
|
|
@@ -28,6 +55,9 @@ export interface InterpreterDatabase {
|
|
|
28
55
|
recordsElements: ElementDeclarationNode[];
|
|
29
56
|
cachedMergedTables: Map<Table, Table>;
|
|
30
57
|
source: string;
|
|
58
|
+
diagramViews: Map<ElementDeclarationNode, DiagramView>;
|
|
59
|
+
diagramViewWildcards: Map<DiagramView, Set<string>>;
|
|
60
|
+
diagramViewExplicitlySet: Map<DiagramView, Set<string>>;
|
|
31
61
|
}
|
|
32
62
|
export type RecordValueType = 'string' | 'bool' | 'integer' | 'real' | 'date' | 'time' | 'datetime' | string;
|
|
33
63
|
export interface RecordValue {
|
|
@@ -64,6 +94,7 @@ export interface Database {
|
|
|
64
94
|
project: Project;
|
|
65
95
|
tablePartials: TablePartial[];
|
|
66
96
|
records: TableRecord[];
|
|
97
|
+
diagramViews: DiagramView[];
|
|
67
98
|
}
|
|
68
99
|
export interface Table {
|
|
69
100
|
name: string;
|
|
File without changes
|
|
File without changes
|
|
@@ -23,7 +23,8 @@ export declare enum SyntaxTokenKind {
|
|
|
23
23
|
SEMICOLON = "<semicolon>",
|
|
24
24
|
COLON = "<colon>",
|
|
25
25
|
SINGLE_LINE_COMMENT = "<single-line-comment>",
|
|
26
|
-
MULTILINE_COMMENT = "<multiline-comment>"
|
|
26
|
+
MULTILINE_COMMENT = "<multiline-comment>",
|
|
27
|
+
WILDCARD = "<wildcard>"
|
|
27
28
|
}
|
|
28
29
|
export declare function isTriviaToken(token: SyntaxToken): boolean;
|
|
29
30
|
export declare function isOp(c?: string): boolean;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -39,6 +39,7 @@ export declare enum SyntaxNodeKind {
|
|
|
39
39
|
PRIMARY_EXPRESSION = "<primary-expression>",
|
|
40
40
|
GROUP_EXPRESSION = "<group-expression>",
|
|
41
41
|
COMMA_EXPRESSION = "<comma-expression>",
|
|
42
|
+
WILDCARD = "<wildcard>",
|
|
42
43
|
EMPTY = "<dummy>",
|
|
43
44
|
ARRAY = "<array>"
|
|
44
45
|
}
|
|
@@ -192,6 +193,12 @@ export declare class LiteralNode extends SyntaxNode {
|
|
|
192
193
|
literal?: SyntaxToken;
|
|
193
194
|
}, id: SyntaxNodeId);
|
|
194
195
|
}
|
|
196
|
+
export declare class WildcardNode extends SyntaxNode {
|
|
197
|
+
token?: SyntaxToken;
|
|
198
|
+
constructor({ token }: {
|
|
199
|
+
token?: SyntaxToken;
|
|
200
|
+
}, id: SyntaxNodeId);
|
|
201
|
+
}
|
|
195
202
|
export declare class VariableNode extends SyntaxNode {
|
|
196
203
|
variable?: SyntaxToken;
|
|
197
204
|
constructor({ variable }: {
|
|
File without changes
|
|
@@ -29,6 +29,7 @@ export declare function isExpressionAVariableNode(value?: unknown): value is Pri
|
|
|
29
29
|
variable: SyntaxToken;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
|
+
export declare function isWildcardExpression(node: SyntaxNode | undefined): boolean;
|
|
32
33
|
export declare function isExpressionAnIdentifierNode(value?: unknown): value is PrimaryExpressionNode & {
|
|
33
34
|
expression: VariableNode & {
|
|
34
35
|
variable: {
|
|
File without changes
|
package/dist/src/core/types.d.ts
CHANGED
|
File without changes
|
package/dist/src/core/utils.d.ts
CHANGED
|
File without changes
|
package/dist/src/index.d.ts
CHANGED
|
@@ -7,5 +7,8 @@ export { SyntaxToken, SyntaxTokenKind, } from './core/lexer/tokens';
|
|
|
7
7
|
export { CompileError, CompileErrorCode, } from './core/errors';
|
|
8
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, } from './core/interpreter/types';
|
|
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';
|
|
11
14
|
export { Compiler, services };
|
|
File without changes
|
|
File without changes
|
|
@@ -4,3 +4,4 @@ import { default as DBMLReferencesProvider } from './references/provider';
|
|
|
4
4
|
import { default as DBMLDiagnosticsProvider } from './diagnostics/provider';
|
|
5
5
|
export * from './types';
|
|
6
6
|
export { DBMLCompletionItemProvider, DBMLDefinitionProvider, DBMLReferencesProvider, DBMLDiagnosticsProvider, };
|
|
7
|
+
export { dbmlMonarchTokensProvider } from './monarch';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
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": "
|
|
4
|
+
"version": "7.0.0-alpha.1",
|
|
5
5
|
"description": "DBML parser v2",
|
|
6
6
|
"author": "Holistics <dev@holistics.io>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
"test": "vitest run",
|
|
31
31
|
"test:watch": "vitest watch",
|
|
32
32
|
"coverage": "vitest run --coverage",
|
|
33
|
-
"prepublish": "npm run build",
|
|
34
33
|
"prepare": "npm run build",
|
|
35
34
|
"lint": "eslint .",
|
|
36
35
|
"lint:fix": "eslint --fix ."
|
|
@@ -46,5 +45,5 @@
|
|
|
46
45
|
"engines": {
|
|
47
46
|
"node": ">=18"
|
|
48
47
|
},
|
|
49
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "283f3bcf7373ecab1e808e8a8035ce906ee6a52e"
|
|
50
49
|
}
|