@duckcodeailabs/dql-core 0.1.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 (74) hide show
  1. package/LICENSE +123 -0
  2. package/dist/ast/index.d.ts +4 -0
  3. package/dist/ast/index.d.ts.map +1 -0
  4. package/dist/ast/index.js +4 -0
  5. package/dist/ast/index.js.map +1 -0
  6. package/dist/ast/nodes.d.ts +205 -0
  7. package/dist/ast/nodes.d.ts.map +1 -0
  8. package/dist/ast/nodes.js +33 -0
  9. package/dist/ast/nodes.js.map +1 -0
  10. package/dist/ast/printer.d.ts +3 -0
  11. package/dist/ast/printer.d.ts.map +1 -0
  12. package/dist/ast/printer.js +157 -0
  13. package/dist/ast/printer.js.map +1 -0
  14. package/dist/ast/visitor.d.ts +45 -0
  15. package/dist/ast/visitor.d.ts.map +1 -0
  16. package/dist/ast/visitor.js +155 -0
  17. package/dist/ast/visitor.js.map +1 -0
  18. package/dist/errors/diagnostic.d.ts +23 -0
  19. package/dist/errors/diagnostic.d.ts.map +1 -0
  20. package/dist/errors/diagnostic.js +13 -0
  21. package/dist/errors/diagnostic.js.map +1 -0
  22. package/dist/errors/index.d.ts +3 -0
  23. package/dist/errors/index.d.ts.map +1 -0
  24. package/dist/errors/index.js +3 -0
  25. package/dist/errors/index.js.map +1 -0
  26. package/dist/errors/reporter.d.ts +22 -0
  27. package/dist/errors/reporter.d.ts.map +1 -0
  28. package/dist/errors/reporter.js +64 -0
  29. package/dist/errors/reporter.js.map +1 -0
  30. package/dist/formatter/formatter.d.ts +8 -0
  31. package/dist/formatter/formatter.d.ts.map +1 -0
  32. package/dist/formatter/formatter.js +243 -0
  33. package/dist/formatter/formatter.js.map +1 -0
  34. package/dist/formatter/index.d.ts +2 -0
  35. package/dist/formatter/index.d.ts.map +1 -0
  36. package/dist/formatter/index.js +2 -0
  37. package/dist/formatter/index.js.map +1 -0
  38. package/dist/index.d.ts +7 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +9 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/lexer/index.d.ts +3 -0
  43. package/dist/lexer/index.d.ts.map +1 -0
  44. package/dist/lexer/index.js +3 -0
  45. package/dist/lexer/index.js.map +1 -0
  46. package/dist/lexer/lexer.d.ts +43 -0
  47. package/dist/lexer/lexer.d.ts.map +1 -0
  48. package/dist/lexer/lexer.js +346 -0
  49. package/dist/lexer/lexer.js.map +1 -0
  50. package/dist/lexer/token.d.ts +72 -0
  51. package/dist/lexer/token.d.ts.map +1 -0
  52. package/dist/lexer/token.js +170 -0
  53. package/dist/lexer/token.js.map +1 -0
  54. package/dist/parser/index.d.ts +2 -0
  55. package/dist/parser/index.d.ts.map +1 -0
  56. package/dist/parser/index.js +2 -0
  57. package/dist/parser/index.js.map +1 -0
  58. package/dist/parser/parser.d.ts +50 -0
  59. package/dist/parser/parser.d.ts.map +1 -0
  60. package/dist/parser/parser.js +1024 -0
  61. package/dist/parser/parser.js.map +1 -0
  62. package/dist/semantic/analyzer.d.ts +27 -0
  63. package/dist/semantic/analyzer.d.ts.map +1 -0
  64. package/dist/semantic/analyzer.js +580 -0
  65. package/dist/semantic/analyzer.js.map +1 -0
  66. package/dist/semantic/index.d.ts +4 -0
  67. package/dist/semantic/index.d.ts.map +1 -0
  68. package/dist/semantic/index.js +3 -0
  69. package/dist/semantic/index.js.map +1 -0
  70. package/dist/semantic/semantic-layer.d.ts +118 -0
  71. package/dist/semantic/semantic-layer.d.ts.map +1 -0
  72. package/dist/semantic/semantic-layer.js +264 -0
  73. package/dist/semantic/semantic-layer.js.map +1 -0
  74. package/package.json +49 -0
@@ -0,0 +1,155 @@
1
+ import { NodeKind } from './nodes.js';
2
+ export class BaseVisitor {
3
+ visitProgram(node) {
4
+ for (const stmt of node.statements) {
5
+ this.visitStatement(stmt);
6
+ }
7
+ return undefined;
8
+ }
9
+ visitStatement(node) {
10
+ switch (node.kind) {
11
+ case NodeKind.Dashboard:
12
+ return this.visitDashboard(node);
13
+ case NodeKind.ChartCall:
14
+ return this.visitChartCall(node);
15
+ case NodeKind.BlockDecl:
16
+ return this.visitBlockDecl(node);
17
+ default:
18
+ return undefined;
19
+ }
20
+ }
21
+ visitDashboard(node) {
22
+ for (const dec of node.decorators) {
23
+ this.visitDecorator(dec);
24
+ }
25
+ for (const item of node.body) {
26
+ this.visitDashboardBodyItem(item);
27
+ }
28
+ return undefined;
29
+ }
30
+ visitDashboardBodyItem(node) {
31
+ switch (node.kind) {
32
+ case NodeKind.VariableDecl:
33
+ return this.visitVariableDecl(node);
34
+ case NodeKind.ChartCall:
35
+ return this.visitChartCall(node);
36
+ case NodeKind.FilterCall:
37
+ return this.visitFilterCall(node);
38
+ default:
39
+ return undefined;
40
+ }
41
+ }
42
+ visitFilterCall(node) {
43
+ if (node.query) {
44
+ this.visitSQLQuery(node.query);
45
+ }
46
+ for (const arg of node.args) {
47
+ this.visitNamedArg(arg);
48
+ }
49
+ return undefined;
50
+ }
51
+ visitChartCall(node) {
52
+ for (const dec of node.decorators) {
53
+ this.visitDecorator(dec);
54
+ }
55
+ this.visitSQLQuery(node.query);
56
+ for (const arg of node.args) {
57
+ this.visitNamedArg(arg);
58
+ }
59
+ return undefined;
60
+ }
61
+ visitVariableDecl(node) {
62
+ this.visitExpression(node.initializer);
63
+ return undefined;
64
+ }
65
+ visitDecorator(node) {
66
+ for (const arg of node.arguments) {
67
+ this.visitExpression(arg);
68
+ }
69
+ return undefined;
70
+ }
71
+ visitSQLQuery(_node) {
72
+ return undefined;
73
+ }
74
+ visitNamedArg(node) {
75
+ this.visitExpression(node.value);
76
+ return undefined;
77
+ }
78
+ visitExpression(node) {
79
+ switch (node.kind) {
80
+ case NodeKind.StringLiteral:
81
+ return this.visitStringLiteral(node);
82
+ case NodeKind.NumberLiteral:
83
+ return this.visitNumberLiteral(node);
84
+ case NodeKind.BooleanLiteral:
85
+ return this.visitBooleanLiteral(node);
86
+ case NodeKind.ArrayLiteral:
87
+ return this.visitArrayLiteral(node);
88
+ case NodeKind.Identifier:
89
+ return this.visitIdentifier(node);
90
+ case NodeKind.BinaryExpr:
91
+ return this.visitBinaryExpr(node);
92
+ case NodeKind.IntervalExpr:
93
+ return this.visitIntervalExpr(node);
94
+ case NodeKind.FunctionCall:
95
+ return this.visitFunctionCall(node);
96
+ case NodeKind.TemplateString:
97
+ return this.visitTemplateString(node);
98
+ }
99
+ }
100
+ visitStringLiteral(_node) {
101
+ return undefined;
102
+ }
103
+ visitNumberLiteral(_node) {
104
+ return undefined;
105
+ }
106
+ visitBooleanLiteral(_node) {
107
+ return undefined;
108
+ }
109
+ visitArrayLiteral(node) {
110
+ for (const el of node.elements) {
111
+ this.visitExpression(el);
112
+ }
113
+ return undefined;
114
+ }
115
+ visitIdentifier(_node) {
116
+ return undefined;
117
+ }
118
+ visitBinaryExpr(node) {
119
+ this.visitExpression(node.left);
120
+ this.visitExpression(node.right);
121
+ return undefined;
122
+ }
123
+ visitIntervalExpr(_node) {
124
+ return undefined;
125
+ }
126
+ visitFunctionCall(node) {
127
+ for (const arg of node.arguments) {
128
+ this.visitExpression(arg);
129
+ }
130
+ return undefined;
131
+ }
132
+ visitTemplateString(node) {
133
+ for (const part of node.parts) {
134
+ if (typeof part !== 'string') {
135
+ this.visitExpression(part);
136
+ }
137
+ }
138
+ return undefined;
139
+ }
140
+ visitBlockDecl(node) {
141
+ for (const dec of node.decorators) {
142
+ this.visitDecorator(dec);
143
+ }
144
+ if (node.query) {
145
+ this.visitSQLQuery(node.query);
146
+ }
147
+ if (node.visualization) {
148
+ for (const prop of node.visualization.properties) {
149
+ this.visitNamedArg(prop);
150
+ }
151
+ }
152
+ return undefined;
153
+ }
154
+ }
155
+ //# sourceMappingURL=visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/ast/visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface SourceLocation {
2
+ line: number;
3
+ column: number;
4
+ offset: number;
5
+ file?: string;
6
+ }
7
+ export interface SourceSpan {
8
+ start: SourceLocation;
9
+ end: SourceLocation;
10
+ }
11
+ export declare enum DiagnosticSeverity {
12
+ Error = "error",
13
+ Warning = "warning",
14
+ Info = "info"
15
+ }
16
+ export interface Diagnostic {
17
+ severity: DiagnosticSeverity;
18
+ message: string;
19
+ span: SourceSpan;
20
+ hint?: string;
21
+ }
22
+ export declare function createSpan(startLine: number, startCol: number, startOffset: number, endLine: number, endCol: number, endOffset: number, file?: string): SourceSpan;
23
+ //# sourceMappingURL=diagnostic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../../src/errors/diagnostic.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,UAAU,CAKZ"}
@@ -0,0 +1,13 @@
1
+ export var DiagnosticSeverity;
2
+ (function (DiagnosticSeverity) {
3
+ DiagnosticSeverity["Error"] = "error";
4
+ DiagnosticSeverity["Warning"] = "warning";
5
+ DiagnosticSeverity["Info"] = "info";
6
+ })(DiagnosticSeverity || (DiagnosticSeverity = {}));
7
+ export function createSpan(startLine, startCol, startOffset, endLine, endCol, endOffset, file) {
8
+ return {
9
+ start: { line: startLine, column: startCol, offset: startOffset, file },
10
+ end: { line: endLine, column: endCol, offset: endOffset, file },
11
+ };
12
+ }
13
+ //# sourceMappingURL=diagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/errors/diagnostic.ts"],"names":[],"mappings":"AAYA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,mCAAa,CAAA;AACf,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AASD,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,QAAgB,EAChB,WAAmB,EACnB,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,IAAa;IAEb,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE;QACvE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;KAChE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { type SourceLocation, type SourceSpan, DiagnosticSeverity, type Diagnostic, createSpan, } from './diagnostic.js';
2
+ export { DiagnosticReporter, formatDiagnostic, DQLSyntaxError, DQLSemanticError, } from './reporter.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,kBAAkB,EAClB,KAAK,UAAU,EACf,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DiagnosticSeverity, createSpan, } from './diagnostic.js';
2
+ export { DiagnosticReporter, formatDiagnostic, DQLSyntaxError, DQLSemanticError, } from './reporter.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAElB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Diagnostic } from './diagnostic.js';
2
+ export declare class DiagnosticReporter {
3
+ private diagnostics;
4
+ report(diagnostic: Diagnostic): void;
5
+ error(message: string, span: Diagnostic['span'], hint?: string): void;
6
+ warning(message: string, span: Diagnostic['span'], hint?: string): void;
7
+ hasErrors(): boolean;
8
+ getErrors(): Diagnostic[];
9
+ getAll(): Diagnostic[];
10
+ clear(): void;
11
+ format(source: string): string;
12
+ }
13
+ export declare function formatDiagnostic(diagnostic: Diagnostic, source: string): string;
14
+ export declare class DQLSyntaxError extends Error {
15
+ readonly diagnostics: Diagnostic[];
16
+ constructor(message: string, diagnostics: Diagnostic[]);
17
+ }
18
+ export declare class DQLSemanticError extends Error {
19
+ readonly diagnostics: Diagnostic[];
20
+ constructor(message: string, diagnostics: Diagnostic[]);
21
+ }
22
+ //# sourceMappingURL=reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAEjE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAoB;IAEvC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvE,SAAS,IAAI,OAAO;IAIpB,SAAS,IAAI,UAAU,EAAE;IAIzB,MAAM,IAAI,UAAU,EAAE;IAItB,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAG/B;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAyB/E;AAED,qBAAa,cAAe,SAAQ,KAAK;aAGrB,WAAW,EAAE,UAAU,EAAE;gBADzC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,UAAU,EAAE;CAK5C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,WAAW,EAAE,UAAU,EAAE;gBADzC,OAAO,EAAE,MAAM,EACC,WAAW,EAAE,UAAU,EAAE;CAK5C"}
@@ -0,0 +1,64 @@
1
+ import { DiagnosticSeverity } from './diagnostic.js';
2
+ export class DiagnosticReporter {
3
+ diagnostics = [];
4
+ report(diagnostic) {
5
+ this.diagnostics.push(diagnostic);
6
+ }
7
+ error(message, span, hint) {
8
+ this.report({ severity: DiagnosticSeverity.Error, message, span, hint });
9
+ }
10
+ warning(message, span, hint) {
11
+ this.report({ severity: DiagnosticSeverity.Warning, message, span, hint });
12
+ }
13
+ hasErrors() {
14
+ return this.diagnostics.some((d) => d.severity === DiagnosticSeverity.Error);
15
+ }
16
+ getErrors() {
17
+ return this.diagnostics.filter((d) => d.severity === DiagnosticSeverity.Error);
18
+ }
19
+ getAll() {
20
+ return [...this.diagnostics];
21
+ }
22
+ clear() {
23
+ this.diagnostics = [];
24
+ }
25
+ format(source) {
26
+ return this.diagnostics.map((d) => formatDiagnostic(d, source)).join('\n\n');
27
+ }
28
+ }
29
+ export function formatDiagnostic(diagnostic, source) {
30
+ const { severity, message, span, hint } = diagnostic;
31
+ const lines = source.split('\n');
32
+ const lineText = lines[span.start.line - 1] ?? '';
33
+ const lineNum = String(span.start.line);
34
+ const padding = ' '.repeat(lineNum.length);
35
+ const file = span.start.file ? `${span.start.file}:` : '';
36
+ let output = `${severity}: ${message}\n`;
37
+ output += ` --> ${file}${span.start.line}:${span.start.column}\n`;
38
+ output += `${padding} |\n`;
39
+ output += `${lineNum} | ${lineText}\n`;
40
+ const underlineStart = span.start.column - 1;
41
+ const underlineLen = Math.max(1, span.start.line === span.end.line ? span.end.column - span.start.column : lineText.length - underlineStart);
42
+ output += `${padding} | ${' '.repeat(underlineStart)}${'^'.repeat(underlineLen)}`;
43
+ if (hint) {
44
+ output += `\n${padding} = hint: ${hint}`;
45
+ }
46
+ return output;
47
+ }
48
+ export class DQLSyntaxError extends Error {
49
+ diagnostics;
50
+ constructor(message, diagnostics) {
51
+ super(message);
52
+ this.diagnostics = diagnostics;
53
+ this.name = 'DQLSyntaxError';
54
+ }
55
+ }
56
+ export class DQLSemanticError extends Error {
57
+ diagnostics;
58
+ constructor(message, diagnostics) {
59
+ super(message);
60
+ this.diagnostics = diagnostics;
61
+ this.name = 'DQLSemanticError';
62
+ }
63
+ }
64
+ //# sourceMappingURL=reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/errors/reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ProgramNode } from '../ast/nodes.js';
2
+ export interface FormatOptions {
3
+ indent?: string;
4
+ finalNewline?: boolean;
5
+ }
6
+ export declare function formatDQL(source: string, options?: FormatOptions): string;
7
+ export declare function formatProgram(program: ProgramNode, options?: FormatOptions): string;
8
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/formatter/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAcV,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAG7E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAYvF"}
@@ -0,0 +1,243 @@
1
+ import { NodeKind } from '../ast/nodes.js';
2
+ import { parse } from '../parser/parser.js';
3
+ export function formatDQL(source, options = {}) {
4
+ const ast = parse(source);
5
+ return formatProgram(ast, options);
6
+ }
7
+ export function formatProgram(program, options = {}) {
8
+ const state = {
9
+ indentUnit: options.indent ?? ' ',
10
+ };
11
+ const out = program.statements
12
+ .map((stmt) => formatStatement(stmt, 0, state))
13
+ .join('\n\n')
14
+ .trimEnd();
15
+ if (options.finalNewline === false)
16
+ return out;
17
+ return `${out}\n`;
18
+ }
19
+ function indent(level, state) {
20
+ return state.indentUnit.repeat(level);
21
+ }
22
+ function formatStatement(node, level, state) {
23
+ switch (node.kind) {
24
+ case NodeKind.Dashboard:
25
+ return formatDashboard(node, level, state);
26
+ case NodeKind.ChartCall:
27
+ return formatChart(node, level, state);
28
+ case NodeKind.Workbook:
29
+ return formatWorkbook(node, level, state);
30
+ case NodeKind.ImportDecl:
31
+ return formatImport(node, level, state);
32
+ case NodeKind.BlockDecl:
33
+ return formatBlock(node, level, state);
34
+ default:
35
+ return '';
36
+ }
37
+ }
38
+ function formatDashboard(node, level, state) {
39
+ const lines = [];
40
+ lines.push(...formatDecorators(node.decorators, level, state));
41
+ lines.push(`${indent(level, state)}dashboard ${quote(node.title)} {`);
42
+ for (const item of node.body) {
43
+ lines.push(formatDashboardBodyItem(item, level + 1, state));
44
+ }
45
+ lines.push(`${indent(level, state)}}`);
46
+ return lines.join('\n');
47
+ }
48
+ function formatWorkbook(node, level, state) {
49
+ const lines = [];
50
+ lines.push(...formatDecorators(node.decorators, level, state));
51
+ lines.push(`${indent(level, state)}workbook ${quote(node.title)} {`);
52
+ for (const page of node.pages) {
53
+ lines.push(formatPage(page, level + 1, state));
54
+ }
55
+ lines.push(`${indent(level, state)}}`);
56
+ return lines.join('\n');
57
+ }
58
+ function formatPage(node, level, state) {
59
+ const lines = [];
60
+ lines.push(`${indent(level, state)}page ${quote(node.title)} {`);
61
+ for (const item of node.body) {
62
+ lines.push(formatDashboardBodyItem(item, level + 1, state));
63
+ }
64
+ lines.push(`${indent(level, state)}}`);
65
+ return lines.join('\n');
66
+ }
67
+ function formatDashboardBodyItem(node, level, state) {
68
+ switch (node.kind) {
69
+ case NodeKind.VariableDecl:
70
+ return formatVariable(node, level, state);
71
+ case NodeKind.ParamDecl:
72
+ return formatParam(node, level, state);
73
+ case NodeKind.ChartCall:
74
+ return formatChart(node, level, state);
75
+ case NodeKind.FilterCall:
76
+ return formatFilter(node, level, state);
77
+ case NodeKind.UseDecl:
78
+ return formatUse(node, level, state);
79
+ case NodeKind.LayoutBlock:
80
+ return formatLayout(node, level, state);
81
+ default:
82
+ return '';
83
+ }
84
+ }
85
+ function formatImport(node, level, state) {
86
+ return `${indent(level, state)}import { ${node.names.join(', ')} } from ${quote(node.path)}`;
87
+ }
88
+ function formatUse(node, level, state) {
89
+ const isIdentifier = /^[A-Za-z_][A-Za-z0-9_]*$/.test(node.name);
90
+ return `${indent(level, state)}use ${isIdentifier ? node.name : quote(node.name)}`;
91
+ }
92
+ function formatVariable(node, level, state) {
93
+ return `${indent(level, state)}let ${node.name} = ${formatExpression(node.initializer)}`;
94
+ }
95
+ function formatParam(node, level, state) {
96
+ const typePart = `: ${node.paramType}`;
97
+ const defaultPart = node.defaultValue ? ` = ${formatExpression(node.defaultValue)}` : '';
98
+ return `${indent(level, state)}param ${node.name}${typePart}${defaultPart}`;
99
+ }
100
+ function formatDecorators(decorators, level, state) {
101
+ return decorators.map((dec) => {
102
+ if (dec.arguments.length === 0)
103
+ return `${indent(level, state)}@${dec.name}`;
104
+ const args = dec.arguments.map((arg) => formatExpression(arg)).join(', ');
105
+ return `${indent(level, state)}@${dec.name}(${args})`;
106
+ });
107
+ }
108
+ function formatChart(node, level, state) {
109
+ return formatCall(`chart.${node.chartType}`, node.decorators, node.query, node.args, level, state);
110
+ }
111
+ function formatFilter(node, level, state) {
112
+ return formatCall(`filter.${node.filterType}`, [], node.query, node.args, level, state);
113
+ }
114
+ function formatCall(callName, decorators, query, args, level, state) {
115
+ const lines = [];
116
+ lines.push(...formatDecorators(decorators, level, state));
117
+ lines.push(`${indent(level, state)}${callName}(`);
118
+ const bodyLines = [];
119
+ if (query) {
120
+ bodyLines.push(...formatSQLQuery(query, level + 1, state));
121
+ }
122
+ bodyLines.push(...args.map((arg) => `${indent(level + 1, state)}${formatNamedArg(arg)}`));
123
+ if (bodyLines.length > 0) {
124
+ for (let i = 0; i < bodyLines.length; i++) {
125
+ const isLast = i === bodyLines.length - 1;
126
+ lines.push(isLast ? bodyLines[i] : `${bodyLines[i]},`);
127
+ }
128
+ }
129
+ lines.push(`${indent(level, state)})`);
130
+ return lines.join('\n');
131
+ }
132
+ function formatLayout(node, level, state) {
133
+ const lines = [];
134
+ lines.push(`${indent(level, state)}layout(columns = ${node.columns}) {`);
135
+ for (const row of node.rows) {
136
+ lines.push(formatLayoutRow(row, level + 1, state));
137
+ }
138
+ lines.push(`${indent(level, state)}}`);
139
+ return lines.join('\n');
140
+ }
141
+ function formatLayoutRow(node, level, state) {
142
+ const lines = [];
143
+ lines.push(`${indent(level, state)}row {`);
144
+ for (const item of node.items) {
145
+ const body = item.node.kind === NodeKind.ChartCall
146
+ ? formatChart(item.node, level + 1, state)
147
+ : formatFilter(item.node, level + 1, state);
148
+ if (item.span == null) {
149
+ lines.push(body);
150
+ continue;
151
+ }
152
+ const parts = body.split('\n');
153
+ parts[parts.length - 1] = `${parts[parts.length - 1]} span ${item.span}`;
154
+ lines.push(parts.join('\n'));
155
+ }
156
+ lines.push(`${indent(level, state)}}`);
157
+ return lines.join('\n');
158
+ }
159
+ function formatBlock(node, level, state) {
160
+ const lines = [];
161
+ lines.push(...formatDecorators(node.decorators, level, state));
162
+ lines.push(`${indent(level, state)}block ${quote(node.name)} {`);
163
+ if (node.domain)
164
+ lines.push(`${indent(level + 1, state)}domain = ${quote(node.domain)}`);
165
+ if (node.blockType)
166
+ lines.push(`${indent(level + 1, state)}type = ${quote(node.blockType)}`);
167
+ if (node.description)
168
+ lines.push(`${indent(level + 1, state)}description = ${quote(node.description)}`);
169
+ if (node.tags && node.tags.length > 0) {
170
+ lines.push(`${indent(level + 1, state)}tags = [${node.tags.map(quote).join(', ')}]`);
171
+ }
172
+ if (node.owner)
173
+ lines.push(`${indent(level + 1, state)}owner = ${quote(node.owner)}`);
174
+ if (node.params) {
175
+ lines.push(`${indent(level + 1, state)}params {`);
176
+ for (const entry of node.params.params) {
177
+ lines.push(`${indent(level + 2, state)}${entry.name} = ${formatExpression(entry.initializer)}`);
178
+ }
179
+ lines.push(`${indent(level + 1, state)}}`);
180
+ }
181
+ if (node.query) {
182
+ lines.push(`${indent(level + 1, state)}query = """`);
183
+ lines.push(...formatSQLQuery(node.query, level + 2, state));
184
+ lines.push(`${indent(level + 1, state)}"""`);
185
+ }
186
+ if (node.visualization) {
187
+ lines.push(`${indent(level + 1, state)}visualization {`);
188
+ for (const prop of node.visualization.properties) {
189
+ lines.push(`${indent(level + 2, state)}${formatNamedArg(prop)}`);
190
+ }
191
+ lines.push(`${indent(level + 1, state)}}`);
192
+ }
193
+ if (node.tests && node.tests.length > 0) {
194
+ lines.push(`${indent(level + 1, state)}tests {`);
195
+ for (const test of node.tests) {
196
+ lines.push(`${indent(level + 2, state)}assert ${test.field} ${test.operator} ${formatExpression(test.expected)}`);
197
+ }
198
+ lines.push(`${indent(level + 1, state)}}`);
199
+ }
200
+ lines.push(`${indent(level, state)}}`);
201
+ return lines.join('\n');
202
+ }
203
+ function formatSQLQuery(query, level, state) {
204
+ const sql = query.rawSQL.trim();
205
+ if (!sql)
206
+ return [`${indent(level, state)}SELECT 1`];
207
+ return sql
208
+ .split('\n')
209
+ .map((line) => `${indent(level, state)}${line.trimEnd()}`);
210
+ }
211
+ function formatNamedArg(arg) {
212
+ return `${arg.name} = ${formatExpression(arg.value)}`;
213
+ }
214
+ function formatExpression(node) {
215
+ switch (node.kind) {
216
+ case NodeKind.StringLiteral:
217
+ return quote(node.value);
218
+ case NodeKind.NumberLiteral:
219
+ return String(node.value);
220
+ case NodeKind.BooleanLiteral:
221
+ return node.value ? 'true' : 'false';
222
+ case NodeKind.Identifier:
223
+ return node.name;
224
+ case NodeKind.ArrayLiteral:
225
+ return `[${node.elements.map((el) => formatExpression(el)).join(', ')}]`;
226
+ case NodeKind.BinaryExpr:
227
+ return `${formatExpression(node.left)} ${node.operator} ${formatExpression(node.right)}`;
228
+ case NodeKind.IntervalExpr:
229
+ return `INTERVAL ${quote(node.value)}`;
230
+ case NodeKind.FunctionCall:
231
+ return `${node.callee}(${node.arguments.map((arg) => formatExpression(arg)).join(', ')})`;
232
+ case NodeKind.TemplateString:
233
+ return quote(node.parts
234
+ .map((part) => (typeof part === 'string' ? part : `{${formatExpression(part)}}`))
235
+ .join(''));
236
+ default:
237
+ return '';
238
+ }
239
+ }
240
+ function quote(value) {
241
+ return JSON.stringify(value);
242
+ }
243
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/formatter/formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { formatDQL, formatProgram, type FormatOptions } from './formatter.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { formatDQL, formatProgram } from './formatter.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAsB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './lexer/index.js';
2
+ export * from './ast/index.js';
3
+ export * from './parser/index.js';
4
+ export * from './semantic/index.js';
5
+ export * from './errors/index.js';
6
+ export * from './formatter/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ // @dql/core - DQL Language Core
2
+ // Lexer, Parser, AST, Semantic Analysis
3
+ export * from './lexer/index.js';
4
+ export * from './ast/index.js';
5
+ export * from './parser/index.js';
6
+ export * from './semantic/index.js';
7
+ export * from './errors/index.js';
8
+ export * from './formatter/index.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,wCAAwC;AAExC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}