@naiv/swan-dsl 0.0.1 → 0.0.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.
@@ -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, SemanticRuleCode, Statement, StringLiteral, SubmitStmt, TextStmt, UnaryExpr, UseStmt, } from "./types.js";
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";
4
4
  export { ParseError, SemanticError } from "./types.js";
5
5
  /**
6
6
  * Parse and semantically validate a SWAN DSL source string.
@@ -9,7 +9,7 @@ export { ParseError, SemanticError } from "./types.js";
9
9
  * @param options - Optional: `{ strictMode: true }` enables SR-4 orphan page check
10
10
  * @returns A fully-typed `Program` AST
11
11
  * @throws {ParseError} on syntax errors
12
- * @throws {SemanticError} on semantic violations (SR-1 through SR-6)
12
+ * @throws {SemanticError} on semantic violations (SR-1 through SR-9)
13
13
  */
14
14
  export declare function parse(source: string, options?: ParseOptions): Program;
15
15
  /**
@@ -19,7 +19,7 @@ export declare function parse(source: string, options?: ParseOptions): Program;
19
19
  * @param options - Optional: `{ strictMode: true }` enables SR-4 orphan page check
20
20
  * @returns A fully-typed `Program` AST
21
21
  * @throws {ParseError} on syntax errors
22
- * @throws {SemanticError} on semantic violations (SR-1 through SR-6)
22
+ * @throws {SemanticError} on semantic violations (SR-1 through SR-9)
23
23
  */
24
24
  export declare function parseFile(filePath: string, options?: ParseOptions): Promise<Program>;
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,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"}
package/dist/src/index.js CHANGED
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "SemanticError", { enumerable: true, get: functio
22
22
  * @param options - Optional: `{ strictMode: true }` enables SR-4 orphan page check
23
23
  * @returns A fully-typed `Program` AST
24
24
  * @throws {ParseError} on syntax errors
25
- * @throws {SemanticError} on semantic violations (SR-1 through SR-6)
25
+ * @throws {SemanticError} on semantic violations (SR-1 through SR-9)
26
26
  */
27
27
  function parse(source, options = {}) {
28
28
  const program = (0, parser_1.parse)(source);
@@ -39,7 +39,7 @@ function parse(source, options = {}) {
39
39
  * @param options - Optional: `{ strictMode: true }` enables SR-4 orphan page check
40
40
  * @returns A fully-typed `Program` AST
41
41
  * @throws {ParseError} on syntax errors
42
- * @throws {SemanticError} on semantic violations (SR-1 through SR-6)
42
+ * @throws {SemanticError} on semantic violations (SR-1 through SR-9)
43
43
  */
44
44
  async function parseFile(filePath, options = {}) {
45
45
  const source = await (0, promises_1.readFile)(filePath, "utf-8");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;;;AAsDhF,sBAIC;AAeD,8BAMC;AA7ED,+CAA4C;AAC5C,qCAAgD;AAChD,yCAA4C;AAmC5C,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;;;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,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", "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"];
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" | "NL" | "WS" | "COMMENT";
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";
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,6JAkBX,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,IAAI,GACJ,IAAI,GACJ,SAAS,CAAC;AAMhB,eAAO,MAAM,KAAK,WAoChB,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,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"}
package/dist/src/lexer.js CHANGED
@@ -26,6 +26,10 @@ exports.KEYWORDS = [
26
26
  "click",
27
27
  "on",
28
28
  "if",
29
+ "query",
30
+ "string",
31
+ "number",
32
+ "boolean",
29
33
  "true",
30
34
  "false",
31
35
  ];
@@ -52,6 +56,12 @@ exports.lexer = moo_1.default.compile({
52
56
  LBRACE: "{",
53
57
  RBRACE: "}",
54
58
  DOT: ".",
59
+ COLON: ":",
60
+ QUESTION: "?",
61
+ AMPERSAND: "&",
62
+ PLUS: "+",
63
+ // Assignment = (must come after EQ "==" check; moo checks longest match first)
64
+ ASSIGN: "=",
55
65
  // Literals
56
66
  STRING: { match: /"[^"]*"/, value: (s) => s.slice(1, -1) },
57
67
  NUMBER: {
@@ -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,MAAM;IACN,OAAO;CACD,CAAC;AA0BX,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,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;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"}
@@ -36,14 +36,29 @@ export declare class Parser {
36
36
  private parseHandlerStmt;
37
37
  private parseOutcomeClause;
38
38
  private parseConditionalStmt;
39
+ /**
40
+ * query <name> [: string | number | boolean] [= <literal>]
41
+ *
42
+ * Only semantically valid inside a `page` block (SR-7 enforced by semantic checker).
43
+ */
44
+ private parseQueryStmt;
45
+ /**
46
+ * NavTarget ::= "->" Identifier [ "?" QueryArg { "&" QueryArg } ]
47
+ * QueryArg ::= Identifier "=" Expression
48
+ */
39
49
  private parseNavTarget;
50
+ private parseQueryArg;
40
51
  parseExpression(): Expression;
41
52
  private parseOr;
42
53
  private parseAnd;
43
54
  private readonly COMPARISON_OPS;
44
55
  private parseComparison;
56
+ /** Handles `+` for expressions like `query.page + 1` in nav query args. */
57
+ private parseAdditive;
45
58
  private parseUnary;
46
59
  private parsePrimary;
60
+ /** Parse a bare literal (string, number, boolean). Used in `query` default values. */
61
+ private parseLiteral;
47
62
  /**
48
63
  * Expect an IDENT token (not a keyword).
49
64
  * Moo assigns keyword token types to matched words, so we need to accept
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAUH,KAAK,UAAU,EAaf,KAAK,OAAO,EAOf,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;IA+BtB,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,OAAO,CAAC,cAAc;IActB,eAAe,IAAI,UAAU;IAI7B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO5B;IAEH,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,YAAY;IAwEpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA+BnB,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,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"}
@@ -162,6 +162,7 @@ class Parser {
162
162
  case "click": return this.parseClickStmt();
163
163
  case "on": return this.parseHandlerStmt();
164
164
  case "if": return this.parseConditionalStmt();
165
+ case "query": return this.parseQueryStmt();
165
166
  default:
166
167
  throw new types_1.ParseError(`Unexpected token "${tok.value}" — not a valid statement keyword`, this.tokenPos(tok));
167
168
  }
@@ -249,7 +250,7 @@ class Parser {
249
250
  }
250
251
  parseOutcomeClause() {
251
252
  const outcomeTok = this.expectIdent();
252
- const arrowTok = this.expect("ARROW");
253
+ this.expect("ARROW");
253
254
  const targetTok = this.expectIdent();
254
255
  return {
255
256
  outcome: outcomeTok.value,
@@ -264,11 +265,73 @@ class Parser {
264
265
  const body = this.parseBlock();
265
266
  return { kind: "ConditionalStmt", condition, body, pos: this.tokenPos(kw) };
266
267
  }
268
+ // -- Query statement -------------------------------------------------------
269
+ /**
270
+ * query <name> [: string | number | boolean] [= <literal>]
271
+ *
272
+ * Only semantically valid inside a `page` block (SR-7 enforced by semantic checker).
273
+ */
274
+ parseQueryStmt() {
275
+ const kw = this.expect("query");
276
+ const nameTok = this.expectIdent();
277
+ let valueType;
278
+ let defaultValue;
279
+ // Optional type annotation: `: string | number | boolean`
280
+ if (this.match("COLON")) {
281
+ const typeTok = this.peek();
282
+ if (typeTok &&
283
+ (typeTok.type === "string" ||
284
+ typeTok.type === "number" ||
285
+ typeTok.type === "boolean")) {
286
+ this.advance();
287
+ valueType = typeTok.value;
288
+ }
289
+ else {
290
+ const pos = typeTok ? this.tokenPos(typeTok) : this.currentPos();
291
+ const got = typeTok ? `"${typeTok.value}"` : "end of input";
292
+ throw new types_1.ParseError(`Expected type keyword (string | number | boolean) after ":" but got ${got}`, pos);
293
+ }
294
+ }
295
+ // Optional default value: `= <literal>`
296
+ if (this.match("ASSIGN")) {
297
+ defaultValue = this.parseLiteral();
298
+ }
299
+ return {
300
+ kind: "QueryStmt",
301
+ name: nameTok.value,
302
+ valueType,
303
+ defaultValue,
304
+ pos: this.tokenPos(kw),
305
+ };
306
+ }
267
307
  // ─── Navigation target ────────────────────────────────────────────────────
308
+ /**
309
+ * NavTarget ::= "->" Identifier [ "?" QueryArg { "&" QueryArg } ]
310
+ * QueryArg ::= Identifier "=" Expression
311
+ */
268
312
  parseNavTarget() {
269
313
  const arrowTok = this.expect("ARROW");
270
314
  const targetTok = this.expectIdent();
271
- return { target: targetTok.value, pos: this.tokenPos(arrowTok) };
315
+ let queryArgs;
316
+ // Optional query string: `?key=expr&key2=expr2`
317
+ if (this.match("QUESTION")) {
318
+ queryArgs = [];
319
+ queryArgs.push(this.parseQueryArg());
320
+ while (this.match("AMPERSAND")) {
321
+ queryArgs.push(this.parseQueryArg());
322
+ }
323
+ }
324
+ return {
325
+ target: targetTok.value,
326
+ queryArgs: queryArgs?.length ? queryArgs : undefined,
327
+ pos: this.tokenPos(arrowTok),
328
+ };
329
+ }
330
+ parseQueryArg() {
331
+ const keyTok = this.expectIdent();
332
+ this.expect("ASSIGN");
333
+ const value = this.parseExpression();
334
+ return { key: keyTok.value, value, pos: this.tokenPos(keyTok) };
272
335
  }
273
336
  // ─── Expressions (operator precedence, left-to-right) ────────────────────
274
337
  //
@@ -276,7 +339,8 @@ class Parser {
276
339
  // 1. || (binary OR)
277
340
  // 2. && (binary AND)
278
341
  // 3. == != < > <= >= (comparison)
279
- // 4. primary / unary !
342
+ // 4. + (additive)
343
+ // 5. primary / unary !
280
344
  parseExpression() {
281
345
  return this.parseOr();
282
346
  }
@@ -321,12 +385,12 @@ class Parser {
321
385
  ["GTE", ">="],
322
386
  ]);
323
387
  parseComparison() {
324
- let left = this.parseUnary();
388
+ let left = this.parseAdditive();
325
389
  const tok = this.peek();
326
390
  if (tok && this.COMPARISON_OPS.has(tok.type ?? "")) {
327
391
  const opTok = this.advance();
328
392
  const operator = this.COMPARISON_OPS.get(opTok.type ?? "");
329
- const right = this.parseUnary();
393
+ const right = this.parseAdditive();
330
394
  const expr = {
331
395
  kind: "BinaryExpr",
332
396
  operator,
@@ -338,6 +402,23 @@ class Parser {
338
402
  }
339
403
  return left;
340
404
  }
405
+ /** Handles `+` for expressions like `query.page + 1` in nav query args. */
406
+ parseAdditive() {
407
+ let left = this.parseUnary();
408
+ while (this.check("PLUS")) {
409
+ const opTok = this.advance();
410
+ const right = this.parseUnary();
411
+ const expr = {
412
+ kind: "BinaryExpr",
413
+ operator: "+",
414
+ left,
415
+ right,
416
+ pos: this.tokenPos(opTok),
417
+ };
418
+ left = expr;
419
+ }
420
+ return left;
421
+ }
341
422
  parseUnary() {
342
423
  if (this.check("BANG")) {
343
424
  const bangTok = this.advance();
@@ -390,8 +471,8 @@ class Parser {
390
471
  };
391
472
  return lit;
392
473
  }
393
- // Identifier or member expression (user.role)
394
- if (tok.type === "IDENT") {
474
+ // Identifier or member expression (user.role, query.page, etc.)
475
+ if (tok.type === "IDENT" || tok.type === "query") {
395
476
  this.advance();
396
477
  const base = {
397
478
  kind: "IdentifierExpr",
@@ -413,6 +494,30 @@ class Parser {
413
494
  }
414
495
  throw new types_1.ParseError(`Unexpected token "${tok.value}" in expression`, this.tokenPos(tok));
415
496
  }
497
+ // ─── Literal helper ───────────────────────────────────────────────────────
498
+ /** Parse a bare literal (string, number, boolean). Used in `query` default values. */
499
+ parseLiteral() {
500
+ const tok = this.peek();
501
+ if (!tok) {
502
+ throw new types_1.ParseError("Expected literal but reached end of input", {
503
+ line: 0,
504
+ col: 0,
505
+ });
506
+ }
507
+ if (tok.type === "STRING") {
508
+ this.advance();
509
+ return { kind: "StringLiteral", value: tok.value, pos: this.tokenPos(tok) };
510
+ }
511
+ if (tok.type === "NUMBER") {
512
+ this.advance();
513
+ return { kind: "NumberLiteral", value: parseFloat(tok.value), pos: this.tokenPos(tok) };
514
+ }
515
+ if (tok.type === "true" || tok.type === "false") {
516
+ this.advance();
517
+ return { kind: "BooleanLiteral", value: tok.type === "true", pos: this.tokenPos(tok) };
518
+ }
519
+ throw new types_1.ParseError(`Expected literal (string, number, or boolean) but got "${tok.value}"`, this.tokenPos(tok));
520
+ }
416
521
  // ─── Small helpers ───────────────────────────────────────────────────────
417
522
  /**
418
523
  * Expect an IDENT token (not a keyword).
@@ -434,10 +539,11 @@ class Parser {
434
539
  const tokType = tok.type ?? "";
435
540
  const isIdentLike = tokType === "IDENT" ||
436
541
  // keywords can appear as outcome clause labels (e.g. "success", "error")
437
- // so accept them here
542
+ // so accept them here; also "query" for member access (query.page)
438
543
  [
439
544
  "app", "page", "component", "entry", "use", "header", "text",
440
545
  "button", "link", "field", "input", "submit", "click", "on", "if",
546
+ "query", "string", "number", "boolean",
441
547
  "true", "false", // generally disallowed as ident elsewhere; allowed in outcomes
442
548
  ].includes(tokType);
443
549
  if (!isIdentLike) {
@@ -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,7 +1,7 @@
1
1
  "use strict";
2
2
  // ─────────────────────────────────────────────────────────────────────────────
3
3
  // SWAN DSL — Semantic Checker
4
- // Enforces static semantic rules SR-1 through SR-6.
4
+ // Enforces static semantic rules SR-1 through SR-9.
5
5
  // ─────────────────────────────────────────────────────────────────────────────
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.checkSemantics = checkSemantics;
@@ -18,15 +18,25 @@ class SemanticChecker {
18
18
  options;
19
19
  pageNames;
20
20
  componentNames;
21
+ /** Map of page name → Set of declared query param names */
22
+ pageQueryParams;
21
23
  constructor(program, options) {
22
24
  this.program = program;
23
25
  this.options = options;
24
26
  this.pageNames = new Set(program.pages.map((p) => p.name));
25
27
  this.componentNames = new Set(program.components.map((c) => c.name));
28
+ this.pageQueryParams = new Map();
29
+ // Pre-build query param sets for SR-8 and SR-9
30
+ for (const page of program.pages) {
31
+ const paramNames = new Set();
32
+ this.pageQueryParams.set(page.name, paramNames);
33
+ }
26
34
  }
27
35
  check() {
28
36
  this.checkSR1andSR2();
29
37
  this.checkSR6Names();
38
+ this.checkSR7QueryInPagesOnly();
39
+ this.checkSR8UniqueQueryKeys();
30
40
  this.collectAndCheckNavTargets();
31
41
  this.checkSR5ComponentCycles();
32
42
  if (this.options.strictMode) {
@@ -100,8 +110,52 @@ class SemanticChecker {
100
110
  }
101
111
  }
102
112
  }
113
+ // ─── SR-7 ─────────────────────────────────────────────────────────────────
114
+ // `query` statements are only valid inside page blocks, not components.
115
+ checkSR7QueryInPagesOnly() {
116
+ for (const comp of this.program.components) {
117
+ this.assertNoQueryInStatements(comp.name, comp.body);
118
+ }
119
+ }
120
+ assertNoQueryInStatements(scopeName, stmts) {
121
+ for (const stmt of stmts) {
122
+ if (stmt.kind === "QueryStmt") {
123
+ throw new types_1.SemanticError("SR-7", `"query" statement is not allowed inside component "${scopeName}" — only pages may declare query parameters`, stmt.pos);
124
+ }
125
+ if (stmt.kind === "ConditionalStmt") {
126
+ this.assertNoQueryInStatements(scopeName, stmt.body);
127
+ }
128
+ }
129
+ }
130
+ // ─── SR-8 ─────────────────────────────────────────────────────────────────
131
+ // Query parameter identifiers must be unique within a page.
132
+ checkSR8UniqueQueryKeys() {
133
+ for (const page of this.program.pages) {
134
+ this.checkQueryKeyUniqueness(page);
135
+ }
136
+ }
137
+ checkQueryKeyUniqueness(page) {
138
+ const seen = new Set();
139
+ const paramSet = this.pageQueryParams.get(page.name);
140
+ this.collectQueryKeys(page.body, page.name, seen, paramSet);
141
+ }
142
+ collectQueryKeys(stmts, pageName, seen, paramSet) {
143
+ for (const stmt of stmts) {
144
+ if (stmt.kind === "QueryStmt") {
145
+ if (seen.has(stmt.name)) {
146
+ throw new types_1.SemanticError("SR-8", `Duplicate query parameter "${stmt.name}" in page "${pageName}"`, stmt.pos);
147
+ }
148
+ seen.add(stmt.name);
149
+ paramSet.add(stmt.name);
150
+ }
151
+ if (stmt.kind === "ConditionalStmt") {
152
+ this.collectQueryKeys(stmt.body, pageName, seen, paramSet);
153
+ }
154
+ }
155
+ }
103
156
  // ─── SR-3 ─────────────────────────────────────────────────────────────────
104
157
  // All navigation targets must be pages.
158
+ // Also checks SR-9 (query arg keys must match declared params on target page).
105
159
  collectAndCheckNavTargets() {
106
160
  for (const page of this.program.pages) {
107
161
  this.checkNavInStatements(page.body);
@@ -133,12 +187,22 @@ class SemanticChecker {
133
187
  }
134
188
  }
135
189
  validateNavTarget(nav) {
190
+ // SR-3: target must be a known page
136
191
  if (!this.pageNames.has(nav.target)) {
137
192
  const hint = this.componentNames.has(nav.target)
138
193
  ? ` ("${nav.target}" is a component, not a page)`
139
194
  : ` ("${nav.target}" is not defined)`;
140
195
  throw new types_1.SemanticError("SR-3", `Navigation target "${nav.target}" must be a page${hint}`, nav.pos);
141
196
  }
197
+ // SR-9: each query arg key must match a declared query param on target page
198
+ if (nav.queryArgs && nav.queryArgs.length > 0) {
199
+ const targetParams = this.pageQueryParams.get(nav.target);
200
+ for (const arg of nav.queryArgs) {
201
+ if (!targetParams || !targetParams.has(arg.key)) {
202
+ throw new types_1.SemanticError("SR-9", `Navigation query argument "${arg.key}" is not declared as a query parameter on page "${nav.target}"`, arg.pos);
203
+ }
204
+ }
205
+ }
142
206
  }
143
207
  checkHandlerNav(handler) {
144
208
  for (const outcome of handler.outcomes) {
@@ -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":";AAAA,gFAAgF;AAChF,8BAA8B;AAC9B,oDAAoD;AACpD,gFAAgF;;AAkBhF,wCAMC;AAtBD,mCASiB;AAOjB,SAAgB,cAAc,CAC1B,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,eAAe;IAOI;IACA;IAPJ,SAAS,CAAc;IACvB,cAAc,CAAc;IAC7C,2DAA2D;IAC1C,eAAe,CAA2B;IAE3D,YACqB,OAAgB,EAChB,OAA6B;QAD7B,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,+CAA+C;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,oCAAoC;IAE5B,cAAc;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,oEAAoE;QACpE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,qBAAa,CAAC,MAAM,EAAE,+BAA+B,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC3C,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,+BAA+B;gBAChD,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,mBAAmB,CAAC;YACzC,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,UAAU,GAAG,CAAC,KAAK,0BAA0B,IAAI,EAAE,EACnD,GAAG,CAAC,GAAG,CACV,CAAC;QACN,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,oDAAoD;IAE5C,aAAa;QACjB,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,wBAAwB,IAAI,CAAC,IAAI,GAAG,EACpC,IAAI,CAAC,GAAG,CACX,CAAC;YACN,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,uBAAuB;QACvB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,6BAA6B,IAAI,CAAC,IAAI,GAAG,EACzC,IAAI,CAAC,GAAG,CACX,CAAC;YACN,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,0EAA0E;QAC1E,uDAAuD;QACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,KAAkB;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAAC,SAAiB,EAAE,KAAkB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,qBAAqB,MAAM,eAAe,SAAS,GAAG,CACzD,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IAEhE,wBAAwB;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAEO,yBAAyB,CAC7B,SAAiB,EACjB,KAAkB;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,sDAAsD,SAAS,6CAA6C,EAC5G,IAAI,CAAC,GAAG,CACX,CAAC;YACN,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,4DAA4D;IAEpD,uBAAuB;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,IAAc;QAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEO,gBAAgB,CACpB,KAAkB,EAClB,QAAgB,EAChB,IAAiB,EACjB,QAAqB;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,8BAA8B,IAAI,CAAC,IAAI,cAAc,QAAQ,GAAG,EAChE,IAAI,CAAC,GAAG,CACX,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,wCAAwC;IACxC,+EAA+E;IAEvE,yBAAyB;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,KAAkB;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,IAAe;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,YAAY,CAAC;YAClB,KAAK,UAAU;gBACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACV,KAAK,iBAAiB;gBAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACV,8DAA8D;YAC9D;gBACI,MAAM;QACd,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAc;QACpC,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5C,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,+BAA+B;gBACjD,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,mBAAmB,CAAC;YAC1C,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,sBAAsB,GAAG,CAAC,MAAM,mBAAmB,IAAI,EAAE,EACzD,GAAG,CAAC,GAAG,CACV,CAAC;QACN,CAAC;QAED,4EAA4E;QAC5E,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1D,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,8BAA8B,GAAG,CAAC,GAAG,mDAAmD,GAAG,CAAC,MAAM,GAAG,EACrG,GAAG,CAAC,GAAG,CACV,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,OAAoB;QACxC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChD,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,+BAA+B;oBACrD,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,mBAAmB,CAAC;gBAC9C,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,oBAAoB,OAAO,CAAC,OAAO,cAAc,OAAO,CAAC,MAAM,yBAAyB,IAAI,EAAE,EAC9F,OAAO,CAAC,GAAG,CACd,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,+CAA+C;IAEvC,uBAAuB;QAC3B,gEAAgE;QAChE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,cAAc,IAAI,CAAC,IAAI,+BAA+B,IAAI,GAAG,EAC7D,IAAI,CAAC,GAAG,CACX,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,SAAS,IAAI,CAAC,IAAI,+BAA+B,IAAI,GAAG,EACxD,IAAI,CAAC,GAAG,CACX,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,2CAA2C,IAAI,sBAAsB,CACxE,CAAC;YACN,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAE9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,KAAkB;QAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6EAA6E;IAC7E,mDAAmD;IAE3C,oBAAoB;QACxB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhD,wCAAwC;QACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,sCAAsC;QACtC,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAY,EAAE;YAClD,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAEF,qEAAqE;QACrE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC5B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAmB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,qBAAqB;YACrB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,mCAAmC;YACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC1B,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;wBACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAa,CACnB,MAAM,EACN,SAAS,IAAI,CAAC,IAAI,kCAAkC,GAAG,CAAC,KAAK,GAAG,EAChE,IAAI,CAAC,GAAG,CACX,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -23,14 +23,14 @@ export interface IdentifierExpr {
23
23
  name: string;
24
24
  pos: Position;
25
25
  }
26
- /** Dot-access: user.role, session.token, env.name */
26
+ /** Dot-access: user.role, session.token, env.name, query.page */
27
27
  export interface MemberExpr {
28
28
  kind: "MemberExpr";
29
29
  object: IdentifierExpr;
30
30
  member: string;
31
31
  pos: Position;
32
32
  }
33
- export type BinaryOperator = "==" | "!=" | "<" | ">" | "<=" | ">=" | "&&" | "||";
33
+ export type BinaryOperator = "==" | "!=" | "<" | ">" | "<=" | ">=" | "&&" | "||" | "+";
34
34
  export interface BinaryExpr {
35
35
  kind: "BinaryExpr";
36
36
  operator: BinaryOperator;
@@ -45,9 +45,23 @@ export interface UnaryExpr {
45
45
  pos: Position;
46
46
  }
47
47
  export type Expression = IdentifierExpr | MemberExpr | Literal | BinaryExpr | UnaryExpr;
48
+ /** The type keyword used in a query declaration: `query key : <QueryType>` */
49
+ export type QueryType = "string" | "number" | "boolean";
50
+ /**
51
+ * A single query argument passed in a navigation target's query string.
52
+ * e.g. `-> Search?q="hello"&page=2` → [{ key:"q", value:StringLiteral },
53
+ * { key:"page", value:NumberLiteral }]
54
+ */
55
+ export interface QueryArg {
56
+ key: string;
57
+ value: Expression;
58
+ pos: Position;
59
+ }
48
60
  export interface NavTarget {
49
61
  /** The page identifier this navigation points to */
50
62
  target: string;
63
+ /** Optional inline query args: `-> Page?key=expr&key2=expr2` */
64
+ queryArgs?: QueryArg[];
51
65
  pos: Position;
52
66
  }
53
67
  export interface OutcomeClause {
@@ -118,7 +132,26 @@ export interface ConditionalStmt {
118
132
  body: Statement[];
119
133
  pos: Position;
120
134
  }
121
- export type Statement = HeaderStmt | TextStmt | ButtonStmt | LinkStmt | FieldStmt | InputStmt | UseStmt | SubmitStmt | ClickStmt | HandlerStmt | ConditionalStmt;
135
+ /**
136
+ * Declares a URL query parameter accepted by a page.
137
+ *
138
+ * Syntax: `query <name> [: <type>] [= <default>]`
139
+ *
140
+ * Example: `query page : number = 1`
141
+ *
142
+ * Only valid inside `page` blocks (enforced by SR-7).
143
+ */
144
+ export interface QueryStmt {
145
+ kind: "QueryStmt";
146
+ /** The query parameter key (maps to `?key=value` in the URL) */
147
+ name: string;
148
+ /** Optional type annotation */
149
+ valueType?: QueryType;
150
+ /** Optional default value when the parameter is absent */
151
+ defaultValue?: Literal;
152
+ pos: Position;
153
+ }
154
+ export type Statement = HeaderStmt | TextStmt | ButtonStmt | LinkStmt | FieldStmt | InputStmt | UseStmt | SubmitStmt | ClickStmt | HandlerStmt | ConditionalStmt | QueryStmt;
122
155
  export interface AppDecl {
123
156
  kind: "AppDecl";
124
157
  name: string;
@@ -147,7 +180,7 @@ export declare class ParseError extends Error {
147
180
  readonly pos: Position;
148
181
  constructor(message: string, pos: Position);
149
182
  }
150
- export type SemanticRuleCode = "SR-1" | "SR-2" | "SR-3" | "SR-4" | "SR-5" | "SR-6";
183
+ export type SemanticRuleCode = "SR-1" | "SR-2" | "SR-3" | "SR-4" | "SR-5" | "SR-6" | "SR-7" | "SR-8" | "SR-9";
151
184
  export declare class SemanticError extends Error {
152
185
  readonly rule: SemanticRuleCode;
153
186
  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;;;AAwOhF,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;AAUD,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;;;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"}
package/dist/test.js CHANGED
@@ -9,6 +9,7 @@ app MyApp {
9
9
  page Home {
10
10
  header "Welcome"
11
11
  button "Log in" -> Login
12
+ button "Search" -> Search?q=""&page=1
12
13
  }
13
14
 
14
15
  component LoginForm {
@@ -19,7 +20,7 @@ component LoginForm {
19
20
 
20
21
  on auth {
21
22
  success -> Dashboard
22
- error -> LoginError
23
+ error -> LoginError
23
24
  }
24
25
  }
25
26
 
@@ -37,6 +38,23 @@ page Dashboard {
37
38
  header "Dashboard"
38
39
  text "Hello!"
39
40
  button "Logout" -> Home
41
+ button "Search Items" -> Search?q=""&page=1
42
+ }
43
+
44
+ page Search {
45
+ query q : string = ""
46
+ query page : number = 1
47
+ query active : boolean
48
+
49
+ header "Search"
50
+ text "Showing results"
51
+
52
+ if query.active == true {
53
+ text "Showing active items only"
54
+ }
55
+
56
+ button "Next" -> Search?q=query.q&page=query.page+1
57
+ button "Home" -> Home
40
58
  }
41
59
  `.trim();
42
60
  async function main() {
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCnB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@naiv/swan-dsl",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "SWAN DSL Parser",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {
7
7
  "build": "rm -rf dist && tsc",
8
- "test": "node dist"
8
+ "test": "node dist/test"
9
9
  },
10
10
  "publishConfig": {
11
11
  "access": "public"