@dbml/parse 3.13.0-alpha.1 → 3.13.0-alpha.2
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/dist/dbml-parse.js +6 -6
- package/dist/dbml-parse.mjs +737 -740
- package/dist/{lib → src/lib}/analyzer/binder/elementBinder/elementBinder.d.ts +2 -2
- package/dist/{lib → src/lib}/analyzer/binder/elementBinder/table.d.ts +6 -8
- package/dist/{lib → src/lib}/analyzer/binder/types.d.ts +0 -3
- package/dist/{lib → src/lib}/analyzer/symbol/symbols.d.ts +6 -4
- package/dist/src/lib/analyzer/symbol/utils.d.ts +4 -0
- package/dist/{lib → src/lib}/analyzer/utils.d.ts +2 -1
- package/dist/{lib → src/lib}/analyzer/validator/elementValidators/table.d.ts +3 -4
- package/dist/tests/NaN_errors/interpreter_NaN.test.d.ts +1 -0
- package/dist/tests/binder/binder.test.d.ts +1 -0
- package/dist/tests/interpreter/interpreter.test.d.ts +1 -0
- package/dist/tests/jestHelpers.d.ts +1 -0
- package/dist/tests/lexer/lexer.test.d.ts +1 -0
- package/dist/tests/parser/parser.test.d.ts +1 -0
- package/dist/tests/validator/validator.test.d.ts +1 -0
- package/package.json +4 -2
- package/dist/lib/analyzer/symbol/utils.d.ts +0 -2
- /package/dist/{compiler.d.ts → src/compiler.d.ts} +0 -0
- /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{lib → src/lib}/analyzer/analyzer.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/binder.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/custom.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/enum.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/indexes.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/note.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/project.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/ref.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/tableGroup.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/elementBinder/tablePartial.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/binder/utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/symbol/factory.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/symbol/symbolIndex.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/symbol/symbolTable.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/types.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/custom.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/enum.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/indexes.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/note.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/project.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/ref.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/tableGroup.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/elementValidators/tablePartial.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/types.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/analyzer/validator/validator.d.ts +0 -0
- /package/dist/{lib → src/lib}/errors.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/enum.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/project.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/ref.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/sticky_note.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/table.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/tableGroup.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/elementInterpreter/tablePartial.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/interpreter.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/types.d.ts +0 -0
- /package/dist/{lib → src/lib}/interpreter/utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/lexer/lexer.d.ts +0 -0
- /package/dist/{lib → src/lib}/lexer/tokens.d.ts +0 -0
- /package/dist/{lib → src/lib}/lexer/utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/option.d.ts +0 -0
- /package/dist/{lib → src/lib}/parser/contextStack.d.ts +0 -0
- /package/dist/{lib → src/lib}/parser/factory.d.ts +0 -0
- /package/dist/{lib → src/lib}/parser/nodes.d.ts +0 -0
- /package/dist/{lib → src/lib}/parser/parser.d.ts +0 -0
- /package/dist/{lib → src/lib}/parser/utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/report.d.ts +0 -0
- /package/dist/{lib → src/lib}/serialization/serialize.d.ts +0 -0
- /package/dist/{lib → src/lib}/types.d.ts +0 -0
- /package/dist/{lib → src/lib}/utils.d.ts +0 -0
- /package/dist/{services → src/services}/definition/provider.d.ts +0 -0
- /package/dist/{services → src/services}/index.d.ts +0 -0
- /package/dist/{services → src/services}/references/provider.d.ts +0 -0
- /package/dist/{services → src/services}/suggestions/provider.d.ts +0 -0
- /package/dist/{services → src/services}/suggestions/utils.d.ts +0 -0
- /package/dist/{services → src/services}/types.d.ts +0 -0
- /package/dist/{services → src/services}/utils.d.ts +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ElementDeclarationNode, SyntaxNode } from '../../../parser/nodes';
|
|
2
|
-
import { ArgumentBinderRule,
|
|
2
|
+
import { ArgumentBinderRule, BinderRule, SettingListBinderRule } from '../types';
|
|
3
3
|
import { CompileError } from '../../../errors';
|
|
4
4
|
import { default as SymbolFactory } from '../../symbol/factory';
|
|
5
5
|
export default abstract class ElementBinder {
|
|
6
6
|
protected abstract subfield: {
|
|
7
7
|
arg: ArgumentBinderRule;
|
|
8
|
-
injection?: InjectionBinderRule;
|
|
9
8
|
settingList: SettingListBinderRule;
|
|
10
9
|
};
|
|
11
10
|
protected abstract settingList: SettingListBinderRule;
|
|
11
|
+
protected injectionBinderRule?: BinderRule;
|
|
12
12
|
private errors;
|
|
13
13
|
private declarationNode;
|
|
14
14
|
constructor(declarationNode: ElementDeclarationNode, errors: CompileError[]);
|
|
@@ -15,14 +15,6 @@ export default class TableBinder extends ElementBinder {
|
|
|
15
15
|
ignoreNameNotFound: boolean;
|
|
16
16
|
})[];
|
|
17
17
|
};
|
|
18
|
-
injection: {
|
|
19
|
-
injectionBinderRule: {
|
|
20
|
-
shouldBind: true;
|
|
21
|
-
topSubnamesSymbolKind: never[];
|
|
22
|
-
remainingSubnamesSymbolKind: SymbolKind;
|
|
23
|
-
ignoreNameNotFound: boolean;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
18
|
settingList: {
|
|
27
19
|
ref: {
|
|
28
20
|
shouldBind: true;
|
|
@@ -36,4 +28,10 @@ export default class TableBinder extends ElementBinder {
|
|
|
36
28
|
};
|
|
37
29
|
};
|
|
38
30
|
protected settingList: {};
|
|
31
|
+
protected injectionBinderRule: {
|
|
32
|
+
shouldBind: true;
|
|
33
|
+
topSubnamesSymbolKind: never[];
|
|
34
|
+
remainingSubnamesSymbolKind: SymbolKind;
|
|
35
|
+
ignoreNameNotFound: boolean;
|
|
36
|
+
};
|
|
39
37
|
}
|
|
@@ -11,7 +11,7 @@ export interface NodeSymbol {
|
|
|
11
11
|
symbolTable?: SymbolTable;
|
|
12
12
|
declaration?: SyntaxNode;
|
|
13
13
|
references: SyntaxNode[];
|
|
14
|
-
|
|
14
|
+
injectorDeclaration?: SyntaxNode;
|
|
15
15
|
}
|
|
16
16
|
export declare class SchemaSymbol implements NodeSymbol {
|
|
17
17
|
id: NodeSymbolId;
|
|
@@ -95,9 +95,11 @@ export declare class TablePartialInjectionSymbol implements NodeSymbol {
|
|
|
95
95
|
}
|
|
96
96
|
export declare class TablePartialInjectedColumnSymbol implements NodeSymbol {
|
|
97
97
|
id: NodeSymbolId;
|
|
98
|
-
|
|
98
|
+
injectorDeclaration: SyntaxNode;
|
|
99
|
+
injectorFieldSymbol: NodeSymbol;
|
|
99
100
|
references: SyntaxNode[];
|
|
100
|
-
constructor({
|
|
101
|
-
|
|
101
|
+
constructor({ injectorFieldSymbol, injectorDeclaration }: {
|
|
102
|
+
injectorFieldSymbol: NodeSymbol;
|
|
103
|
+
injectorDeclaration: SyntaxNode;
|
|
102
104
|
}, id: NodeSymbolId);
|
|
103
105
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NodeSymbolIndex } from './symbolIndex';
|
|
2
|
+
import { NodeSymbol, TablePartialInjectedColumnSymbol } from './symbols';
|
|
3
|
+
export declare function generatePossibleIndexes(name: string): NodeSymbolIndex[];
|
|
4
|
+
export declare function getInjectedFieldSymbolFromInjectorFieldSymbol(injectorSymbol: NodeSymbol): typeof TablePartialInjectedColumnSymbol | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Option } from '../option';
|
|
2
|
-
import { ElementDeclarationNode, FunctionExpressionNode, InfixExpressionNode, PrimaryExpressionNode, SyntaxNode, VariableNode } from '../parser/nodes';
|
|
2
|
+
import { ElementDeclarationNode, FunctionExpressionNode, InfixExpressionNode, PartialInjectionNode, PrimaryExpressionNode, SyntaxNode, VariableNode } from '../parser/nodes';
|
|
3
3
|
import { NodeSymbolIndex } from './symbol/symbolIndex';
|
|
4
4
|
import { NodeSymbol } from './symbol/symbols';
|
|
5
5
|
import { SyntaxToken } from '../lexer/tokens';
|
|
@@ -21,6 +21,7 @@ export declare function destructureIndexNode(node: SyntaxNode): Option<{
|
|
|
21
21
|
export declare function extractVarNameFromPrimaryVariable(node?: PrimaryExpressionNode & {
|
|
22
22
|
expression: VariableNode;
|
|
23
23
|
}): Option<string>;
|
|
24
|
+
export declare function extractVarNameFromPartialInjection(node?: PartialInjectionNode): Option<string>;
|
|
24
25
|
export declare function extractQuotedStringToken(value?: SyntaxNode): Option<string>;
|
|
25
26
|
export declare function isBinaryRelationship(value?: SyntaxNode): value is InfixExpressionNode;
|
|
26
27
|
export declare function isEqualTupleOperands(value: InfixExpressionNode): value is InfixExpressionNode;
|
|
@@ -18,11 +18,10 @@ export default class TableValidator implements ElementValidator {
|
|
|
18
18
|
private validateSettingList;
|
|
19
19
|
registerElement(): CompileError[];
|
|
20
20
|
validateBody(body?: FunctionApplicationNode | BlockExpressionNode): CompileError[];
|
|
21
|
-
validateFields(fields: FunctionApplicationNode[]): CompileError[];
|
|
22
21
|
validateInjections(injections: PartialInjectionNode[]): CompileError[];
|
|
23
22
|
registerInjection(injection: PartialInjectionNode): CompileError[];
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
validateFields(fields: FunctionApplicationNode[]): CompileError[];
|
|
24
|
+
registerField(field: FunctionApplicationNode): CompileError[];
|
|
25
|
+
validateFieldSetting(parts: ExpressionNode[]): CompileError[];
|
|
27
26
|
private validateSubElements;
|
|
28
27
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function scanTestNames(_path: any): string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbml/parse",
|
|
3
|
-
"version": "3.13.0-alpha.
|
|
3
|
+
"version": "3.13.0-alpha.2",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "Holistics <dev@holistics.io>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/lodash": "^4.14.200",
|
|
36
36
|
"@types/node": "^20.8.8",
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^8.30.1",
|
|
38
|
+
"@typescript-eslint/parser": "^8.30.1",
|
|
37
39
|
"monaco-editor-core": "^0.44.0",
|
|
38
40
|
"typescript": "^5.2.2",
|
|
39
41
|
"vite": "^4.5.0",
|
|
@@ -46,5 +48,5 @@
|
|
|
46
48
|
"peerDependencies": {
|
|
47
49
|
"lodash": "^4.17.21"
|
|
48
50
|
},
|
|
49
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "2a00c9bde5b128f5463344b6567248c3a1d7f7a1"
|
|
50
52
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|