@naiv/swan-dsl 0.0.2 → 0.0.3

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.
@@ -1,6 +1,6 @@
1
1
  import type { ParseOptions, Program } from "./types";
2
2
  export type { ParseOptions, Program } from "./types";
3
- export type { AppDecl, BinaryExpr, BinaryOperator, BooleanLiteral, ButtonStmt, ClickStmt, ComponentDecl, ConditionalStmt, Expression, FieldStmt, HandlerStmt, HeaderStmt, IdentifierExpr, InputStmt, LinkStmt, Literal, MemberExpr, NavTarget, NumberLiteral, OutcomeClause, PageDecl, Position, QueryArg, QueryStmt, QueryType, SemanticRuleCode, Statement, StringLiteral, SubmitStmt, TextStmt, UnaryExpr, UseStmt, } from "./types.js";
3
+ export type { AppDecl, BinaryExpr, BinaryOperator, BooleanLiteral, ButtonStmt, ChartPoint, ChartSeries, ChartStmt, ChartType, ClickStmt, ComponentDecl, ConditionalStmt, Expression, FieldStmt, HandlerStmt, HeaderStmt, IdentifierExpr, InputStmt, LinkStmt, Literal, MemberExpr, NavTarget, NumberLiteral, OutcomeClause, PageDecl, Position, QueryArg, QueryStmt, QueryType, SemanticRuleCode, Statement, StringLiteral, SubmitStmt, TableRow, TableStmt, TextStmt, UnaryExpr, UseStmt, } from "./types.js";
4
4
  export { ParseError, SemanticError } from "./types.js";
5
5
  /**
6
6
  * Parse and semantically validate a SWAN DSL source string.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAErD,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMvD;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAIzE;AAMD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAGlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAErD,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,OAAO,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMvD;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAIzE;AAMD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;;;AAyDhF,sBAIC;AAeD,8BAMC;AAhFD,+CAA4C;AAC5C,qCAAgD;AAChD,yCAA4C;AAsC5C,uCAAuD;AAA9C,sGAAA,UAAU,OAAA;AAAE,yGAAA,aAAa,OAAA;AAElC,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAC,MAAc,EAAE,UAAwB,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAA,cAAW,EAAC,MAAM,CAAC,CAAC;IACpC,IAAA,yBAAc,EAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;;;AA+DhF,sBAIC;AAeD,8BAMC;AAtFD,+CAA4C;AAC5C,qCAAgD;AAChD,yCAA4C;AA4C5C,uCAAuD;AAA9C,sGAAA,UAAU,OAAA;AAAE,yGAAA,aAAa,OAAA;AAElC,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAC,MAAc,EAAE,UAAwB,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAA,cAAW,EAAC,MAAM,CAAC,CAAC;IACpC,IAAA,yBAAc,EAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC3B,QAAgB,EAChB,UAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import moo from "moo";
2
- export declare const KEYWORDS: readonly ["app", "page", "component", "entry", "use", "header", "text", "button", "link", "field", "input", "submit", "click", "on", "if", "query", "string", "number", "boolean", "true", "false"];
2
+ export declare const KEYWORDS: readonly ["app", "page", "component", "entry", "use", "header", "text", "button", "link", "field", "input", "submit", "click", "on", "if", "query", "string", "number", "boolean", "true", "false", "table", "columns", "row", "chart", "series", "point", "bar", "line", "pie", "area", "scatter"];
3
3
  export type Keyword = (typeof KEYWORDS)[number];
4
- export type TokenType = Keyword | "IDENT" | "STRING" | "NUMBER" | "ARROW" | "LBRACE" | "RBRACE" | "DOT" | "EQ" | "NEQ" | "LTE" | "GTE" | "LT" | "GT" | "AND" | "OR" | "BANG" | "ASSIGN" | "COLON" | "QUESTION" | "AMPERSAND" | "PLUS" | "NL" | "WS" | "COMMENT";
4
+ export type TokenType = Keyword | "IDENT" | "STRING" | "NUMBER" | "ARROW" | "LBRACE" | "RBRACE" | "LBRACKET" | "RBRACKET" | "COMMA" | "DOT" | "EQ" | "NEQ" | "LTE" | "GTE" | "LT" | "GT" | "AND" | "OR" | "BANG" | "ASSIGN" | "COLON" | "QUESTION" | "AMPERSAND" | "PLUS" | "NL" | "WS" | "COMMENT";
5
5
  export declare const lexer: moo.Lexer;
6
6
  //# sourceMappingURL=lexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer.ts"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,QAAQ,qMAsBX,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,SAAS,GACf,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,OAAO,GACP,UAAU,GACV,WAAW,GACX,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,SAAS,CAAC;AAMhB,eAAO,MAAM,KAAK,WA0ChB,CAAC"}
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer.ts"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,QAAQ,qSAoCX,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,SAAS,GACf,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,KAAK,GACL,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,OAAO,GACP,UAAU,GACV,WAAW,GACX,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,SAAS,CAAC;AAMhB,eAAO,MAAM,KAAK,WA6ChB,CAAC"}
package/dist/src/lexer.js CHANGED
@@ -32,6 +32,20 @@ exports.KEYWORDS = [
32
32
  "boolean",
33
33
  "true",
34
34
  "false",
35
+ // ── Table keywords ──────────────────────────────────────────────────────
36
+ "table",
37
+ "columns",
38
+ "row",
39
+ // ── Chart keywords ──────────────────────────────────────────────────────
40
+ "chart",
41
+ "series",
42
+ "point",
43
+ // ── Chart type keywords ─────────────────────────────────────────────────
44
+ "bar",
45
+ "line",
46
+ "pie",
47
+ "area",
48
+ "scatter",
35
49
  ];
36
50
  // Build the moo lexer rules.
37
51
  // moo uses longest-match semantics and processes rules top-to-bottom
@@ -55,6 +69,9 @@ exports.lexer = moo_1.default.compile({
55
69
  BANG: "!",
56
70
  LBRACE: "{",
57
71
  RBRACE: "}",
72
+ LBRACKET: "[",
73
+ RBRACKET: "]",
74
+ COMMA: ",",
58
75
  DOT: ".",
59
76
  COLON: ":",
60
77
  QUESTION: "?",
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;;;;;;AAEhF,8CAAsB;AAEtB,oEAAoE;AACpE,wDAAwD;AAC3C,QAAA,QAAQ,GAAG;IACpB,KAAK;IACL,MAAM;IACN,WAAW;IACX,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;CACD,CAAC;AA+BX,6BAA6B;AAC7B,qEAAqE;AACrE,sEAAsE;AACtE,kDAAkD;AACrC,QAAA,KAAK,GAAG,aAAG,CAAC,OAAO,CAAC;IAC7B,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IAC1C,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACxC,OAAO,EAAE,YAAY;IACrB,kEAAkE;IAClE,KAAK,EAAE,IAAI;IACX,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,IAAI;IACR,sCAAsC;IACtC,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,GAAG;IACT,+EAA+E;IAC/E,MAAM,EAAE,GAAG;IACX,WAAW;IACX,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC1D,MAAM,EAAE;QACJ,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAClB;IACD,+DAA+D;IAC/D,+DAA+D;IAC/D,KAAK,EAAE;QACH,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,aAAG,CAAC,QAAQ,CACd,MAAM,CAAC,WAAW,CAAC,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAG7C,CACJ;KACJ;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;;;;;;AAEhF,8CAAsB;AAEtB,oEAAoE;AACpE,wDAAwD;AAC3C,QAAA,QAAQ,GAAG;IACpB,KAAK;IACL,MAAM;IACN,WAAW;IACX,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,2EAA2E;IAC3E,OAAO;IACP,SAAS;IACT,KAAK;IACL,2EAA2E;IAC3E,OAAO;IACP,QAAQ;IACR,OAAO;IACP,2EAA2E;IAC3E,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;CACH,CAAC;AAkCX,6BAA6B;AAC7B,qEAAqE;AACrE,sEAAsE;AACtE,kDAAkD;AACrC,QAAA,KAAK,GAAG,aAAG,CAAC,OAAO,CAAC;IAC7B,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;IAC1C,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;IACxC,OAAO,EAAE,YAAY;IACrB,kEAAkE;IAClE,KAAK,EAAE,IAAI;IACX,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,IAAI;IACR,sCAAsC;IACtC,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,GAAG;IACT,+EAA+E;IAC/E,MAAM,EAAE,GAAG;IACX,WAAW;IACX,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC1D,MAAM,EAAE;QACJ,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAClB;IACD,+DAA+D;IAC/D,+DAA+D;IAC/D,KAAK,EAAE;QACH,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,aAAG,CAAC,QAAQ,CACd,MAAM,CAAC,WAAW,CAAC,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAG7C,CACJ;KACJ;CACJ,CAAC,CAAC"}
@@ -42,6 +42,27 @@ export declare class Parser {
42
42
  * Only semantically valid inside a `page` block (SR-7 enforced by semantic checker).
43
43
  */
44
44
  private parseQueryStmt;
45
+ /**
46
+ * table <Name> {
47
+ * columns ["Col1", "Col2", ...]
48
+ * row [val1, val2, ...]
49
+ * ...
50
+ * }
51
+ */
52
+ private parseTableStmt;
53
+ private parseTableRow;
54
+ /**
55
+ * chart <Name> <bar|line|pie|area|scatter> {
56
+ * series "Label" {
57
+ * point x, y
58
+ * ...
59
+ * }
60
+ * ...
61
+ * }
62
+ */
63
+ private parseChartStmt;
64
+ private parseSeriesDecl;
65
+ private parseChartPoint;
45
66
  /**
46
67
  * NavTarget ::= "->" Identifier [ "?" QueryArg { "&" QueryArg } ]
47
68
  * QueryArg ::= Identifier "=" Expression
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAUH,KAAK,UAAU,EAaf,KAAK,OAAO,EAUf,MAAM,SAAS,CAAC;AASjB,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAK;gBAEJ,KAAK,EAAE,MAAM;IAWzB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAiBd;;OAEG;IACH,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,KAAK;IAQb,YAAY,IAAI,OAAO;IAwBvB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA4CtB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,aAAa;IAgBrB,eAAe,IAAI,UAAU;IAI7B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO5B;IAEH,OAAO,CAAC,eAAe;IAmBvB,2EAA2E;IAC3E,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,YAAY;IAwEpB,sFAAsF;IACtF,OAAO,CAAC,YAAY;IA4BpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,YAAY;CASvB;AAMD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7C"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAcH,KAAK,UAAU,EAaf,KAAK,OAAO,EAYf,MAAM,SAAS,CAAC;AASjB,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAK;gBAEJ,KAAK,EAAE,MAAM;IAWzB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAiBd;;OAEG;IACH,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,KAAK;IAQb,YAAY,IAAI,OAAO;IAwBvB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAU5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA4CtB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,aAAa;IAiBrB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;IAUvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,aAAa;IAgBrB,eAAe,IAAI,UAAU;IAI7B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO5B;IAEH,OAAO,CAAC,eAAe;IAmBvB,2EAA2E;IAC3E,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,YAAY;IAwEpB,sFAAsF;IACtF,OAAO,CAAC,YAAY;IA4BpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,YAAY;CASvB;AAMD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7C"}
@@ -163,6 +163,8 @@ class Parser {
163
163
  case "on": return this.parseHandlerStmt();
164
164
  case "if": return this.parseConditionalStmt();
165
165
  case "query": return this.parseQueryStmt();
166
+ case "table": return this.parseTableStmt();
167
+ case "chart": return this.parseChartStmt();
166
168
  default:
167
169
  throw new types_1.ParseError(`Unexpected token "${tok.value}" — not a valid statement keyword`, this.tokenPos(tok));
168
170
  }
@@ -304,6 +306,116 @@ class Parser {
304
306
  pos: this.tokenPos(kw),
305
307
  };
306
308
  }
309
+ // -- Table statement -------------------------------------------------------
310
+ /**
311
+ * table <Name> {
312
+ * columns ["Col1", "Col2", ...]
313
+ * row [val1, val2, ...]
314
+ * ...
315
+ * }
316
+ */
317
+ parseTableStmt() {
318
+ const kw = this.expect("table");
319
+ const nameTok = this.expectIdent();
320
+ this.expect("LBRACE");
321
+ // -- columns declaration -----------------------------------------------
322
+ this.expect("columns");
323
+ this.expect("LBRACKET");
324
+ const columns = [];
325
+ if (!this.check("RBRACKET")) {
326
+ columns.push(this.expectString().value);
327
+ while (this.match("COMMA")) {
328
+ // allow trailing comma before ]
329
+ if (this.check("RBRACKET"))
330
+ break;
331
+ columns.push(this.expectString().value);
332
+ }
333
+ }
334
+ this.expect("RBRACKET");
335
+ // -- rows --------------------------------------------------------------
336
+ const rows = [];
337
+ while (this.check("row") && !this.isAtEnd()) {
338
+ rows.push(this.parseTableRow());
339
+ }
340
+ this.expect("RBRACE");
341
+ return {
342
+ kind: "TableStmt",
343
+ name: nameTok.value,
344
+ columns,
345
+ rows,
346
+ pos: this.tokenPos(kw),
347
+ };
348
+ }
349
+ parseTableRow() {
350
+ const kw = this.expect("row");
351
+ this.expect("LBRACKET");
352
+ const cells = [];
353
+ if (!this.check("RBRACKET")) {
354
+ cells.push(this.parseExpression());
355
+ while (this.match("COMMA")) {
356
+ if (this.check("RBRACKET"))
357
+ break;
358
+ cells.push(this.parseExpression());
359
+ }
360
+ }
361
+ this.expect("RBRACKET");
362
+ return { cells, pos: this.tokenPos(kw) };
363
+ }
364
+ // -- Chart statement -------------------------------------------------------
365
+ /**
366
+ * chart <Name> <bar|line|pie|area|scatter> {
367
+ * series "Label" {
368
+ * point x, y
369
+ * ...
370
+ * }
371
+ * ...
372
+ * }
373
+ */
374
+ parseChartStmt() {
375
+ const kw = this.expect("chart");
376
+ const nameTok = this.expectIdent();
377
+ // Chart type keyword
378
+ const typeTok = this.peek();
379
+ const CHART_TYPES = new Set(["bar", "line", "pie", "area", "scatter"]);
380
+ if (!typeTok || !CHART_TYPES.has(typeTok.type ?? "")) {
381
+ const pos = typeTok ? this.tokenPos(typeTok) : this.currentPos();
382
+ const got = typeTok ? `"${typeTok.value}"` : "end of input";
383
+ throw new types_1.ParseError(`Expected chart type (bar | line | pie | area | scatter) but got ${got}`, pos);
384
+ }
385
+ this.advance();
386
+ const chartType = typeTok.value;
387
+ this.expect("LBRACE");
388
+ const seriesList = [];
389
+ while (this.check("series") && !this.isAtEnd()) {
390
+ seriesList.push(this.parseSeriesDecl());
391
+ }
392
+ this.expect("RBRACE");
393
+ return {
394
+ kind: "ChartStmt",
395
+ name: nameTok.value,
396
+ chartType,
397
+ series: seriesList,
398
+ pos: this.tokenPos(kw),
399
+ };
400
+ }
401
+ parseSeriesDecl() {
402
+ const kw = this.expect("series");
403
+ const labelTok = this.expectString();
404
+ this.expect("LBRACE");
405
+ const points = [];
406
+ while (this.check("point") && !this.isAtEnd()) {
407
+ points.push(this.parseChartPoint());
408
+ }
409
+ this.expect("RBRACE");
410
+ return { label: labelTok.value, points, pos: this.tokenPos(kw) };
411
+ }
412
+ parseChartPoint() {
413
+ const kw = this.expect("point");
414
+ const x = this.parseExpression();
415
+ this.expect("COMMA");
416
+ const y = this.parseExpression();
417
+ return { x, y, pos: this.tokenPos(kw) };
418
+ }
307
419
  // ─── Navigation target ────────────────────────────────────────────────────
308
420
  /**
309
421
  * NavTarget ::= "->" Identifier [ "?" QueryArg { "&" QueryArg } ]
@@ -545,6 +657,10 @@ class Parser {
545
657
  "button", "link", "field", "input", "submit", "click", "on", "if",
546
658
  "query", "string", "number", "boolean",
547
659
  "true", "false", // generally disallowed as ident elsewhere; allowed in outcomes
660
+ // table / chart keywords can appear as names
661
+ "table", "columns", "row",
662
+ "chart", "series", "point",
663
+ "bar", "line", "pie", "area", "scatter",
548
664
  ].includes(tokType);
549
665
  if (!isIdentLike) {
550
666
  throw new types_1.ParseError(`Expected identifier but got "${tok.value}" (${tok.type})`, this.tokenPos(tok));
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"AAKA,OAAO,EAOH,KAAK,OAAO,EAEf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACnC,IAAI,CAGN"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"AAKA,OAAO,EAQH,KAAK,OAAO,EAGf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACjC,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACnC,IAAI,CAGN"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // ─────────────────────────────────────────────────────────────────────────────
3
3
  // SWAN DSL — Semantic Checker
4
- // Enforces static semantic rules SR-1 through SR-9.
4
+ // Enforces static semantic rules SR-1 through SR-14.
5
5
  // ─────────────────────────────────────────────────────────────────────────────
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.checkSemantics = checkSemantics;
@@ -39,6 +39,7 @@ class SemanticChecker {
39
39
  this.checkSR8UniqueQueryKeys();
40
40
  this.collectAndCheckNavTargets();
41
41
  this.checkSR5ComponentCycles();
42
+ this.checkSR10to14TablesAndCharts();
42
43
  if (this.options.strictMode) {
43
44
  this.checkSR4Reachability();
44
45
  }
@@ -87,6 +88,34 @@ class SemanticChecker {
87
88
  for (const comp of this.program.components) {
88
89
  this.checkActionUniqueness(comp.name, comp.body);
89
90
  }
91
+ // Table and chart names must be unique within each scope (page/component)
92
+ for (const page of this.program.pages) {
93
+ this.checkTableChartUniqueness(page.name, page.body);
94
+ }
95
+ for (const comp of this.program.components) {
96
+ this.checkTableChartUniqueness(comp.name, comp.body);
97
+ }
98
+ }
99
+ checkTableChartUniqueness(scopeName, stmts) {
100
+ const tablesSeen = new Set();
101
+ const chartsSeen = new Set();
102
+ for (const stmt of stmts) {
103
+ if (stmt.kind === "TableStmt") {
104
+ if (tablesSeen.has(stmt.name)) {
105
+ throw new types_1.SemanticError("SR-6", `Duplicate table name "${stmt.name}" in scope "${scopeName}"`, stmt.pos);
106
+ }
107
+ tablesSeen.add(stmt.name);
108
+ }
109
+ else if (stmt.kind === "ChartStmt") {
110
+ if (chartsSeen.has(stmt.name)) {
111
+ throw new types_1.SemanticError("SR-6", `Duplicate chart name "${stmt.name}" in scope "${scopeName}"`, stmt.pos);
112
+ }
113
+ chartsSeen.add(stmt.name);
114
+ }
115
+ else if (stmt.kind === "ConditionalStmt") {
116
+ this.checkTableChartUniqueness(scopeName, stmt.body);
117
+ }
118
+ }
90
119
  }
91
120
  collectActions(stmts) {
92
121
  const actions = new Map();
@@ -270,6 +299,70 @@ class SemanticChecker {
270
299
  }
271
300
  return used;
272
301
  }
302
+ // ─── SR-10 – SR-14 (tables and charts) ────────────────────────────────────
303
+ checkSR10to14TablesAndCharts() {
304
+ const allBodies = [
305
+ ...this.program.pages.map((p) => ({ scopeName: p.name, stmts: p.body })),
306
+ ...this.program.components.map((c) => ({ scopeName: c.name, stmts: c.body })),
307
+ ];
308
+ for (const { scopeName, stmts } of allBodies) {
309
+ this.checkTableChartStmts(scopeName, stmts);
310
+ }
311
+ }
312
+ checkTableChartStmts(scopeName, stmts) {
313
+ for (const stmt of stmts) {
314
+ if (stmt.kind === "TableStmt") {
315
+ this.checkTableStmt(scopeName, stmt);
316
+ }
317
+ else if (stmt.kind === "ChartStmt") {
318
+ this.checkChartStmt(scopeName, stmt);
319
+ }
320
+ else if (stmt.kind === "ConditionalStmt") {
321
+ this.checkTableChartStmts(scopeName, stmt.body);
322
+ }
323
+ }
324
+ }
325
+ /**
326
+ * SR-11: at least one column and one row.
327
+ * SR-10: each row must have exactly as many cells as declared columns.
328
+ */
329
+ checkTableStmt(scopeName, table) {
330
+ // SR-11: must have ≥1 column
331
+ if (table.columns.length === 0) {
332
+ throw new types_1.SemanticError("SR-11", `Table "${table.name}" in "${scopeName}" must declare at least one column`, table.pos);
333
+ }
334
+ // SR-11: must have ≥1 row
335
+ if (table.rows.length === 0) {
336
+ throw new types_1.SemanticError("SR-11", `Table "${table.name}" in "${scopeName}" must have at least one row`, table.pos);
337
+ }
338
+ // SR-10: row cell count must match column count
339
+ for (const row of table.rows) {
340
+ if (row.cells.length !== table.columns.length) {
341
+ throw new types_1.SemanticError("SR-10", `Table "${table.name}" in "${scopeName}": row has ${row.cells.length} cell(s) but ${table.columns.length} column(s) were declared`, row.pos);
342
+ }
343
+ }
344
+ }
345
+ /**
346
+ * SR-12: chart must have ≥1 series.
347
+ * SR-13: each series must have ≥1 point.
348
+ * SR-14: pie chart must have exactly 1 series.
349
+ */
350
+ checkChartStmt(scopeName, chart) {
351
+ // SR-12: must have ≥1 series
352
+ if (chart.series.length === 0) {
353
+ throw new types_1.SemanticError("SR-12", `Chart "${chart.name}" in "${scopeName}" must contain at least one series`, chart.pos);
354
+ }
355
+ // SR-14: pie chart must have exactly 1 series
356
+ if (chart.chartType === "pie" && chart.series.length !== 1) {
357
+ throw new types_1.SemanticError("SR-14", `Pie chart "${chart.name}" in "${scopeName}" must have exactly one series (got ${chart.series.length})`, chart.pos);
358
+ }
359
+ // SR-13: each series must have ≥1 point
360
+ for (const s of chart.series) {
361
+ if (s.points.length === 0) {
362
+ throw new types_1.SemanticError("SR-13", `Series "${s.label}" in chart "${chart.name}" (scope "${scopeName}") must have at least one data point`, s.pos);
363
+ }
364
+ }
365
+ }
273
366
  // ─── SR-4 (strict mode) ───────────────────────────────────────────────────
274
367
  // All pages must be reachable from the entry page.
275
368
  checkSR4Reachability() {
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/semantic.ts"],"names":[],"mappings":"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"}
@@ -151,7 +151,84 @@ export interface QueryStmt {
151
151
  defaultValue?: Literal;
152
152
  pos: Position;
153
153
  }
154
- export type Statement = HeaderStmt | TextStmt | ButtonStmt | LinkStmt | FieldStmt | InputStmt | UseStmt | SubmitStmt | ClickStmt | HandlerStmt | ConditionalStmt | QueryStmt;
154
+ /**
155
+ * A single row inside a `table` block.
156
+ * The number of cells must equal the number of declared columns (SR-10).
157
+ */
158
+ export interface TableRow {
159
+ cells: Expression[];
160
+ pos: Position;
161
+ }
162
+ /**
163
+ * Renders tabular data with named columns.
164
+ *
165
+ * Syntax:
166
+ * ```dsl
167
+ * table <Name> {
168
+ * columns ["Col1", "Col2"]
169
+ * row [val1, val2 ]
170
+ * }
171
+ * ```
172
+ *
173
+ * Semantic rules: SR-10, SR-11.
174
+ */
175
+ export interface TableStmt {
176
+ kind: "TableStmt";
177
+ /** Unique table name within its scope */
178
+ name: string;
179
+ /** Ordered column header labels */
180
+ columns: string[];
181
+ /** Data rows — each must have the same number of cells as `columns` */
182
+ rows: TableRow[];
183
+ pos: Position;
184
+ }
185
+ /** Visual style of a chart (§ 6.8). */
186
+ export type ChartType = "bar" | "line" | "pie" | "area" | "scatter";
187
+ /**
188
+ * A single data point inside a `series` block.
189
+ *
190
+ * - `x` — category label (string) or numeric position
191
+ * - `y` — numeric value
192
+ */
193
+ export interface ChartPoint {
194
+ x: Expression;
195
+ y: Expression;
196
+ pos: Position;
197
+ }
198
+ /**
199
+ * A named series of data points inside a `chart` block.
200
+ * Must have at least one point (SR-13).
201
+ */
202
+ export interface ChartSeries {
203
+ /** Display label for this series */
204
+ label: string;
205
+ points: ChartPoint[];
206
+ pos: Position;
207
+ }
208
+ /**
209
+ * Renders a visual chart.
210
+ *
211
+ * Syntax:
212
+ * ```dsl
213
+ * chart <Name> <bar|line|pie|area|scatter> {
214
+ * series "Label" {
215
+ * point x, y
216
+ * }
217
+ * }
218
+ * ```
219
+ *
220
+ * Semantic rules: SR-12, SR-13, SR-14.
221
+ */
222
+ export interface ChartStmt {
223
+ kind: "ChartStmt";
224
+ /** Unique chart name within its scope */
225
+ name: string;
226
+ chartType: ChartType;
227
+ /** At least one series is required (SR-12) */
228
+ series: ChartSeries[];
229
+ pos: Position;
230
+ }
231
+ export type Statement = HeaderStmt | TextStmt | ButtonStmt | LinkStmt | FieldStmt | InputStmt | UseStmt | SubmitStmt | ClickStmt | HandlerStmt | ConditionalStmt | QueryStmt | TableStmt | ChartStmt;
155
232
  export interface AppDecl {
156
233
  kind: "AppDecl";
157
234
  name: string;
@@ -180,7 +257,7 @@ export declare class ParseError extends Error {
180
257
  readonly pos: Position;
181
258
  constructor(message: string, pos: Position);
182
259
  }
183
- export type SemanticRuleCode = "SR-1" | "SR-2" | "SR-3" | "SR-4" | "SR-5" | "SR-6" | "SR-7" | "SR-8" | "SR-9";
260
+ export type SemanticRuleCode = "SR-1" | "SR-2" | "SR-3" | "SR-4" | "SR-5" | "SR-6" | "SR-7" | "SR-8" | "SR-9" | "SR-10" | "SR-11" | "SR-12" | "SR-13" | "SR-14";
184
261
  export declare class SemanticError extends Error {
185
262
  readonly rule: SemanticRuleCode;
186
263
  readonly pos?: Position | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;;;AAkRhF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAa,UAAW,SAAQ,KAAK;IAGb;IAFpB,YACI,OAAe,EACC,GAAa;QAE7B,KAAK,CAAC,iBAAiB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QAF3C,QAAG,GAAH,GAAG,CAAU;QAG7B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;CACJ;AARD,gCAQC;AAaD,MAAa,aAAc,SAAQ,KAAK;IAEhB;IAEA;IAHpB,YACoB,IAAsB,EACtC,OAAe,EACC,GAAc;QAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QALpC,SAAI,GAAJ,IAAI,CAAkB;QAEtB,QAAG,GAAH,GAAG,CAAW;QAI9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAVD,sCAUC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;;;AA+WhF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAa,UAAW,SAAQ,KAAK;IAGb;IAFpB,YACI,OAAe,EACC,GAAa;QAE7B,KAAK,CAAC,iBAAiB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QAF3C,QAAG,GAAH,GAAG,CAAU;QAG7B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;CACJ;AARD,gCAQC;AAoBD,MAAa,aAAc,SAAQ,KAAK;IAEhB;IAEA;IAHpB,YACoB,IAAsB,EACtC,OAAe,EACC,GAAc;QAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QALpC,SAAI,GAAJ,IAAI,CAAkB;QAEtB,QAAG,GAAH,GAAG,CAAW;QAI9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAVD,sCAUC"}
package/dist/test.js CHANGED
@@ -10,6 +10,7 @@ page Home {
10
10
  header "Welcome"
11
11
  button "Log in" -> Login
12
12
  button "Search" -> Search?q=""&page=1
13
+ button "Dashboard" -> Dashboard
13
14
  }
14
15
 
15
16
  component LoginForm {
@@ -39,6 +40,30 @@ page Dashboard {
39
40
  text "Hello!"
40
41
  button "Logout" -> Home
41
42
  button "Search Items" -> Search?q=""&page=1
43
+
44
+ table RecentUsers {
45
+ columns ["Name", "Role", "Last Seen"]
46
+ row ["Alice", "Admin", "2 mins ago"]
47
+ row ["Bob", "Viewer", "1 hour ago"]
48
+ row ["Carol", "Editor", "Yesterday"]
49
+ }
50
+
51
+ chart MonthlyLogins line {
52
+ series "Logins" {
53
+ point "Jan", 320
54
+ point "Feb", 410
55
+ point "Mar", 390
56
+ point "Apr", 520
57
+ }
58
+ }
59
+
60
+ chart TrafficSource pie {
61
+ series "Sources" {
62
+ point "Organic", 58
63
+ point "Paid", 27
64
+ point "Direct", 15
65
+ }
66
+ }
42
67
  }
43
68
 
44
69
  page Search {
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDnB,CAAC,IAAI,EAAE,CAAC;AAET,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,8DAA8D"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFnB,CAAC,IAAI,EAAE,CAAC;AAET,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,8DAA8D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naiv/swan-dsl",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "SWAN DSL Parser",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {