| export {}; | ||
| //# sourceMappingURL=parser.test.d.ts.map |
| {"version":3,"file":"parser.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/parser.test.ts"],"names":[],"mappings":""} |
| import { deepStrictEqual, } from "node:assert"; | ||
| import { describe, test } from "node:test"; | ||
| import { parseTemplate } from "../parser.js"; | ||
| const _ = void 0; | ||
| const ATTR = (key, value, hoist = false) => ({ | ||
| type: 0 /* IPropertyType.Attribute */, | ||
| key, | ||
| value, | ||
| hoist, | ||
| }); | ||
| const PROP = (key, value) => ({ | ||
| type: 1 /* IPropertyType.Value */, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| const DPROP = (key, value) => ({ | ||
| type: 2 /* IPropertyType.DOMValue */, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| const STYLE = (key, value) => ({ | ||
| type: 3 /* IPropertyType.Style */, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| const EVENT = (key, value) => ({ | ||
| type: 4 /* IPropertyType.Event */, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| const DIRECTIVE = (value) => ({ | ||
| type: 5 /* IPropertyType.Directive */, | ||
| key: null, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| const E = (tag, properties = [], children = []) => ({ | ||
| type: 0 /* INodeType.Element */, | ||
| tag, | ||
| properties, | ||
| children, | ||
| }); | ||
| const T = (value) => ({ | ||
| type: 1 /* INodeType.Text */, | ||
| value, | ||
| }); | ||
| const X = (value) => ({ | ||
| type: 2 /* INodeType.Expr */, | ||
| value, | ||
| }); | ||
| const preventHoist = () => false; | ||
| describe("@ivi/tpl/parser", () => { | ||
| test(`a`, () => { | ||
| deepStrictEqual(parseTemplate([`a`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a"), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a b`, () => { | ||
| deepStrictEqual(parseTemplate([`a b`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [E("b")]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a b #2`, () => { | ||
| deepStrictEqual(parseTemplate([` | ||
| a | ||
| b | ||
| `], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [E("b")]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a 'a'`, () => { | ||
| deepStrictEqual(parseTemplate([`a 'a'`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a 'a' #2`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| `a | ||
| 'a' | ||
| ` | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a "a"`, () => { | ||
| deepStrictEqual(parseTemplate([`a "a"`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a #"a"#`, () => { | ||
| deepStrictEqual(parseTemplate([`a #"a"#`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a #'a'#`, () => { | ||
| deepStrictEqual(parseTemplate([`a #'a'#`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a ##'a'##`, () => { | ||
| deepStrictEqual(parseTemplate([`a ##'a'##`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a 'a' 'b'`, () => { | ||
| deepStrictEqual(parseTemplate([`a 'a' 'b'`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| T("b"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a 'a' b 'b'`, () => { | ||
| deepStrictEqual(parseTemplate([`a 'a' b 'b'`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| T("a"), | ||
| E("b", _, [ | ||
| T("b"), | ||
| ]), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`a {0}`, () => { | ||
| deepStrictEqual(parseTemplate([`a `, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("a", _, [ | ||
| X(0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`className #1`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div.a | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("class", "a"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`className #2`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div.a.b | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("class", "a b"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`className #3`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div`, ` | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("class", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`attr #1`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div :a | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", true), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`attr #2`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div :a="1" | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", "1"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`attr #3`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div :a=`, ` | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`attr #4`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div | ||
| :a="1" | ||
| :b="2" | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", "1"), | ||
| ATTR("b", "2"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`attr #5`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div :a="1" :b="2" | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", "1"), | ||
| ATTR("b", "2"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`.prop`, () => { | ||
| deepStrictEqual(parseTemplate([`div .a=`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| PROP("a", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`*prop`, () => { | ||
| deepStrictEqual(parseTemplate([`div *a=`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| DPROP("a", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`~style="0"`, () => { | ||
| deepStrictEqual(parseTemplate([`div ~a="0"`], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| STYLE("a", "0"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`~style={0}`, () => { | ||
| deepStrictEqual(parseTemplate([`div ~a=`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| STYLE("a", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`@event={0}`, () => { | ||
| deepStrictEqual(parseTemplate([`div @a=`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| EVENT("a", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`directive`, () => { | ||
| deepStrictEqual(parseTemplate([`div $`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| DIRECTIVE(0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`textContent: ={0}`, () => { | ||
| deepStrictEqual(parseTemplate([`div =`, ``], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| PROP("textContent", 0), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`escape attr value`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div :a='a&b"c<d' | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", [ | ||
| ATTR("a", "a&b"c<d"), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| test(`escape text value`, () => { | ||
| deepStrictEqual(parseTemplate([ | ||
| ` | ||
| div 'a&b"c<d' | ||
| `, | ||
| ], 0 /* ITemplateType.Htm */, preventHoist), { | ||
| type: 0 /* ITemplateType.Htm */, | ||
| children: [ | ||
| E("div", _, [ | ||
| T(`a&b"c<d`), | ||
| ]), | ||
| ], | ||
| }); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=parser.test.js.map |
| {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/__tests__/parser.test.ts"],"names":[],"mappings":"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"} |
+1
-1
@@ -1,2 +0,2 @@ | ||
| import type { VAny } from "ivi"; | ||
| import { type VAny } from "ivi"; | ||
| /** | ||
@@ -3,0 +3,0 @@ * Creates template with HTML Elements. |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAsB,IAAI,EAAE,MAAM,KAAK,CAAC;AAQpD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,GAAG,YAAa,oBAAoB,YAAY,GAAG,EAAE,SA6BjE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,GAAG,YAAa,oBAAoB,YAAY,GAAG,EAAE,SA6BjE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACoB,KAAK,IAAI,EAEnC,MAAM,KAAK,CAAC;AAOb;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,GAAG,YAAa,oBAAoB,YAAY,GAAG,EAAE,SA6BjE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,GAAG,YAAa,oBAAoB,YAAY,GAAG,EAAE,SA6BjE,CAAC"} |
+3
-3
@@ -1,4 +0,4 @@ | ||
| import { compileTemplate } from "@ivi/template-compiler"; | ||
| import { TemplateParserError, formatError } from "@ivi/template-compiler/parser"; | ||
| import { _h, _hE, _s, _sE, _T, _t } from "ivi"; | ||
| import { compileTemplate, } from "ivi/template/client"; | ||
| import { TemplateParserError, formatError } from "ivi/template/parser"; | ||
| import { _h, _hE, _s, _sE, _T, _t, } from "ivi"; | ||
| import { parseTemplate } from "./parser.js"; | ||
@@ -5,0 +5,0 @@ const tryHoistExpr = (i) => false; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+3
-3
@@ -1,4 +0,4 @@ | ||
| import type { ITemplate, IProperty, INode, INodeElement, ITemplateType } from "@ivi/template-compiler/ir"; | ||
| import { IPropertyType } from "@ivi/template-compiler/ir"; | ||
| import { TemplateScanner } from "@ivi/template-compiler/parser"; | ||
| import type { ITemplate, IProperty, INode, INodeElement, ITemplateType } from "ivi/template/ir"; | ||
| import { IPropertyType } from "ivi/template/ir"; | ||
| import { TemplateScanner } from "ivi/template/parser"; | ||
| export declare const parseTemplate: (s: string[] | TemplateStringsArray, type: ITemplateType, tryHoistExpr: (i: number) => boolean) => ITemplate; | ||
@@ -5,0 +5,0 @@ export declare class TemplateParser extends TemplateScanner { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EACzD,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAa,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACyC,eAAe,EAC9D,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,aAAa,MACrB,MAAM,EAAE,GAAG,oBAAoB,QAC5B,aAAa,oBACD,MAAM,KAAK,OAAO,KACnC,SAMF,CAAC;AAEF,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;gBAGb,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,EACxC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO;IAOtC,KAAK,IAAI,KAAK,EAAE;IAIhB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE;IAmC1C,YAAY,IAAI,YAAY;IAuI5B,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM;IA6BlD,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAerE,oBAAoB,IAAI,MAAM;IAoE9B,eAAe,IAAI,MAAM;IA0EzB,cAAc,IAAI,OAAO;CA0B1B"} | ||
| {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EACzD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACyC,eAAe,EAC9D,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,aAAa,MACrB,MAAM,EAAE,GAAG,oBAAoB,QAC5B,aAAa,oBACD,MAAM,KAAK,OAAO,KACnC,SAMF,CAAC;AAEF,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;gBAGb,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,EACxC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO;IAOtC,KAAK,IAAI,KAAK,EAAE;IAIhB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE;IAmC1C,YAAY,IAAI,YAAY;IAkK5B,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM;IA6BlD,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAgBrE,oBAAoB,IAAI,MAAM;IAoE9B,eAAe,IAAI,MAAM;IA0EzB,cAAc,IAAI,OAAO;CA0B1B"} |
+35
-8
@@ -1,2 +0,2 @@ | ||
| import { isVoidElement, TemplateParserError, TemplateScanner, } from "@ivi/template-compiler/parser"; | ||
| import { isVoidElement, TemplateParserError, TemplateScanner, } from "ivi/template/parser"; | ||
| export const parseTemplate = (s, type, tryHoistExpr) => { | ||
@@ -43,3 +43,3 @@ const parser = new TemplateParser(s, tryHoistExpr); | ||
| type: 2 /* INodeType.Expr */, | ||
| index: expr, | ||
| value: expr, | ||
| }); | ||
@@ -76,3 +76,3 @@ } | ||
| value: classNameExpr, | ||
| static: staticExpr, | ||
| hoist: staticExpr, | ||
| }); | ||
@@ -104,3 +104,3 @@ } | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -130,3 +130,3 @@ } | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -156,3 +156,29 @@ } | ||
| } | ||
| this.dynamicProp(properties, 3 /* IPropertyType.Style */, key); | ||
| let value; | ||
| if (!this.charCode(61 /* CharCode.EqualsTo */)) { | ||
| throw new TemplateParserError("Expected a '=' character.", this.e, this.i); | ||
| } | ||
| const c = this.peekCharCode(); | ||
| if (c !== -1) { | ||
| if (c === 39 /* CharCode.SingleQuote */ || | ||
| c === 34 /* CharCode.DoubleQuote */ || | ||
| c === 35 /* CharCode.Hash */) { | ||
| value = this.parseAttributeString(); | ||
| } | ||
| else { | ||
| throw new TemplateParserError("Expected a string or an expression.", this.e, this.i); | ||
| } | ||
| } | ||
| else { | ||
| value = this.expr(); | ||
| if (value === -1) { | ||
| throw new TemplateParserError("Expected a string or an expression.", this.e, this.i); | ||
| } | ||
| } | ||
| properties.push({ | ||
| type: 3 /* IPropertyType.Style */, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| } | ||
@@ -177,3 +203,3 @@ else if (c === 64 /* CharCode.AtSign */) { // @event | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -220,3 +246,3 @@ } | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -236,2 +262,3 @@ } | ||
| value, | ||
| hoist: false, | ||
| }); | ||
@@ -238,0 +265,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} |
+8
-6
| { | ||
| "name": "@ivi/tpl", | ||
| "version": "1.0.0-beta.1", | ||
| "version": "3.0.0-beta.2", | ||
| "type": "module", | ||
@@ -19,8 +19,7 @@ "exports": { | ||
| "peerDependencies": { | ||
| "@ivi/template-compiler": "3.0.0-beta.1", | ||
| "ivi": "3.0.0-beta.1" | ||
| "ivi": "3.0.0-beta.2" | ||
| }, | ||
| "devDependencies": { | ||
| "@ivi/template-compiler": "3.0.0-beta.1", | ||
| "ivi": "3.0.0-beta.1" | ||
| "ivi": "3.0.0-beta.2", | ||
| "@ivi/mock-dom": "0.1.0" | ||
| }, | ||
@@ -35,3 +34,6 @@ "description": "ivi Template Language.", | ||
| "bugs": "https://github.com/localvoid/ivi/issues", | ||
| "repository": "github:localvoid/ivi" | ||
| "repository": "github:localvoid/ivi", | ||
| "scripts": { | ||
| "clean": "rm -rf ./dist ./tsconfig.tsbuildinfo" | ||
| } | ||
| } |
+22
-51
@@ -72,28 +72,7 @@ # [ivi](https://github.com/localvoid/ivi) Template Language | ||
| ### Text Nodes | ||
| ## Text Nodes | ||
| Static text nodes are declared either with `'text'` or a `#'text'#` syntax to | ||
| remove ambiguity that we can often see in HTML-like template languages: | ||
| Static text nodes are declared either with `'text'`, `"text"` or a `#'text'#` | ||
| syntax. | ||
| ```html | ||
| <div> | ||
| text | ||
| <span></span> | ||
| </div> | ||
| ``` | ||
| Some template languages will create text nodes with a `"prefix "` text node and | ||
| some will create a `"prefix"` text node. | ||
| ```js | ||
| htm` | ||
| div | ||
| 'text' | ||
| span | ||
| ` | ||
| ``` | ||
| In this example we can immediately see that there won't be any whitespaces | ||
| between text node and a span element. | ||
| Text nodes are escaped automatically: | ||
@@ -111,6 +90,4 @@ | ||
| ### Multiple Root Nodes | ||
| ## Multiple Root Nodes | ||
| Templates can have multiple root nodes. | ||
| ```js | ||
@@ -125,14 +102,4 @@ htm` | ||
| Instead of using multiple root nodes in a template, template nodes can be | ||
| composed with javascript arrays. E.g. | ||
| ## Element Properties Syntax | ||
| ```js | ||
| [ | ||
| htm`div 'a'`, | ||
| htm`div 'b'`, | ||
| ] | ||
| ``` | ||
| ### Element Properties Syntax | ||
| - [`div.classA.classB`](#class-names) - Static class names `<div class="classA classB">` | ||
@@ -145,6 +112,7 @@ - [`div${expr}`](#class-names) - Dynamic class names `element.className = expr` | ||
| - [`div *name=${expr}`](#properties) - Property `element[name] = expr`, diffs against a DOM value. | ||
| - [`div ~name=${expr}`](#styles) - Style `element.style.setProperty(name, expr)` | ||
| - [`div @name=${expr}`](#events) - Event `element.addEventListener(name, expr)` | ||
| - [`div =${expr}`](#text-content) - Text Content `element.textContent = expr` | ||
| - [`div $${directive}`](#directives) - Directive `directive(element)` | ||
| - [`div ~name='value'`](#styles) - Static style `<div style="value">`. | ||
| - [`div ~name=${expr}`](#styles) - Dynamic style `element.style.setProperty(name, expr)`. | ||
| - [`div @name=${expr}`](#events) - Event `element.addEventListener(name, expr)`. | ||
| - [`div =${expr}`](#text-content) - Text Content `element.textContent = expr`. | ||
| - [`div $${directive}`](#directives) - Directive `directive(element)`. | ||
@@ -163,3 +131,3 @@ Element properties can be declared on the same line as element or with an | ||
| #### Class Names | ||
| ### Class Names | ||
@@ -194,3 +162,3 @@ Static class names are declared with a `.` character immediately after a tag | ||
| #### Attributes | ||
| ### Attributes | ||
@@ -218,3 +186,3 @@ - `div :name='value'` - Static attribute with a value `<div name="value">`. | ||
| #### Properties | ||
| ### Properties | ||
@@ -229,7 +197,10 @@ - `div .name=${expr}` - Property `element[name] = expr`. | ||
| #### Styles | ||
| ### Styles | ||
| - `div ~name=${expr}` - Style `element.style.setProperty(name, expr)` | ||
| - `div ~name='value'` - Static style `<div style="value">`. | ||
| - `div ~name=${expr}` - Dynamic style `element.style.setProperty(name, expr)` | ||
| Styles are assigned with a `CSSStyleDeclaration.setProperty(..)` | ||
| Static styles are automatically merged with `:style="value"` attribute. | ||
| Dynamic styles are assigned with a `CSSStyleDeclaration.setProperty(..)` | ||
| method. | ||
@@ -240,3 +211,3 @@ | ||
| #### Events | ||
| ### Events | ||
@@ -250,3 +221,3 @@ - `div @name=${expr}` - Event `element.addEventListener(name, expr)` | ||
| #### Text Content | ||
| ### Text Content | ||
@@ -262,3 +233,3 @@ - `div =${expr}` - Text Content `element.textContent = expr` | ||
| #### Directives | ||
| ### Directives | ||
@@ -265,0 +236,0 @@ - `div $${directive}` - Directive `directive(element)` |
+9
-6
@@ -1,7 +0,10 @@ | ||
| import { compileTemplate } from "@ivi/template-compiler"; | ||
| import { TemplateNode, TemplateNodeType } from "@ivi/template-compiler/format"; | ||
| import { ITemplateType } from "@ivi/template-compiler/ir"; | ||
| import { TemplateParserError, formatError } from "@ivi/template-compiler/parser"; | ||
| import type { TemplateDescriptor, VAny } from "ivi"; | ||
| import { _h, _hN, _hE, _s, _sN, _sE, _T, _t } from "ivi"; | ||
| import { | ||
| type TemplateNode, TemplateNodeType, compileTemplate, | ||
| } from "ivi/template/client"; | ||
| import { ITemplateType } from "ivi/template/ir"; | ||
| import { TemplateParserError, formatError } from "ivi/template/parser"; | ||
| import { | ||
| type TemplateDescriptor, type VAny, | ||
| _h, _hN, _hE, _s, _sN, _sE, _T, _t, | ||
| } from "ivi"; | ||
| import { parseTemplate } from "./parser.js"; | ||
@@ -8,0 +11,0 @@ |
+38
-10
| import type { | ||
| ITemplate, IProperty, INode, INodeElement, ITemplateType, | ||
| } from "@ivi/template-compiler/ir"; | ||
| import { IPropertyType, INodeType } from "@ivi/template-compiler/ir"; | ||
| } from "ivi/template/ir"; | ||
| import { IPropertyType, INodeType } from "ivi/template/ir"; | ||
| import { | ||
| CharCode, isVoidElement, TemplateParserError, TemplateScanner, | ||
| } from "@ivi/template-compiler/parser"; | ||
| } from "ivi/template/parser"; | ||
@@ -61,3 +61,3 @@ export const parseTemplate = ( | ||
| type: INodeType.Expr, | ||
| index: expr, | ||
| value: expr, | ||
| }); | ||
@@ -98,3 +98,3 @@ } else { | ||
| value: classNameExpr, | ||
| static: staticExpr, | ||
| hoist: staticExpr, | ||
| }); | ||
@@ -124,3 +124,3 @@ } else { | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -150,3 +150,3 @@ } | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -173,3 +173,29 @@ } else if (c === CharCode.Dot) { // .property | ||
| } | ||
| this.dynamicProp(properties, IPropertyType.Style, key); | ||
| let value: string | number; | ||
| if (!this.charCode(CharCode.EqualsTo)) { | ||
| throw new TemplateParserError("Expected a '=' character.", this.e, this.i); | ||
| } | ||
| const c = this.peekCharCode(); | ||
| if (c !== -1) { | ||
| if ( | ||
| c === CharCode.SingleQuote || | ||
| c === CharCode.DoubleQuote || | ||
| c === CharCode.Hash | ||
| ) { | ||
| value = this.parseAttributeString(); | ||
| } else { | ||
| throw new TemplateParserError("Expected a string or an expression.", this.e, this.i); | ||
| } | ||
| } else { | ||
| value = this.expr(); | ||
| if (value === -1) { | ||
| throw new TemplateParserError("Expected a string or an expression.", this.e, this.i); | ||
| } | ||
| } | ||
| properties.push({ | ||
| type: IPropertyType.Style, | ||
| key, | ||
| value, | ||
| hoist: false, | ||
| }); | ||
| } else if (c === CharCode.AtSign) { // @event | ||
@@ -181,2 +207,3 @@ this.i++; | ||
| } | ||
| this.dynamicProp(properties, IPropertyType.Event, key); | ||
@@ -193,3 +220,3 @@ } else if (c === 36) { // $${directive} | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -240,3 +267,3 @@ } else { | ||
| value, | ||
| static: false, | ||
| hoist: false, | ||
| }); | ||
@@ -257,2 +284,3 @@ } | ||
| value, | ||
| hoist: false, | ||
| } as IProperty); | ||
@@ -259,0 +287,0 @@ } |
| import "global-jsdom/register"; | ||
| //# sourceMappingURL=template.test.d.ts.map |
| {"version":3,"file":"template.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/template.test.ts"],"names":[],"mappings":"AAEA,OAAO,uBAAuB,CAAC"} |
| import { strictEqual } from "node:assert"; | ||
| import { describe, test } from "node:test"; | ||
| import "global-jsdom/register"; | ||
| import { createRoot } from "ivi/test"; | ||
| import { htm } from "../index.js"; | ||
| describe("template", () => { | ||
| describe("mount", () => { | ||
| const mount = (v) => { | ||
| const root = createRoot(); | ||
| root.update(v); | ||
| return root.findDOMNode(); | ||
| }; | ||
| describe("structure", () => { | ||
| test("1", () => { | ||
| const n = mount(htm `div`); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.children.length, 0); | ||
| }); | ||
| test("2", () => { | ||
| const n = mount(htm `div span`); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.children.length, 1); | ||
| strictEqual(n.children[0].tagName, "SPAN"); | ||
| }); | ||
| test("3", () => { | ||
| const n = mount(htm `div 'a'`); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.childNodes.length, 1); | ||
| strictEqual(n.childNodes[0].nodeValue, "a"); | ||
| }); | ||
| test("4", () => { | ||
| const n = mount(htm `div 'a' 'b'`); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.childNodes.length, 1); | ||
| strictEqual(n.childNodes[0].nodeValue, "ab"); | ||
| }); | ||
| test("5", () => { | ||
| const n = mount(htm `div 'a' span 'b'`); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.childNodes.length, 2); | ||
| strictEqual(n.childNodes[0].nodeValue, "a"); | ||
| strictEqual(n.childNodes[1].tagName, "SPAN"); | ||
| strictEqual(n.childNodes[1].childNodes[0].nodeValue, "b"); | ||
| }); | ||
| test("6", () => { | ||
| const n = mount(htm ` | ||
| div | ||
| span | ||
| `); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.children.length, 1); | ||
| strictEqual(n.children[0].tagName, "SPAN"); | ||
| }); | ||
| test("7", () => { | ||
| const n = mount(htm ` | ||
| div | ||
| 'a' | ||
| `); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.childNodes.length, 1); | ||
| strictEqual(n.childNodes[0].nodeValue, "a"); | ||
| }); | ||
| test("8", () => { | ||
| const n = mount(htm ` | ||
| div | ||
| 'a' | ||
| span | ||
| 'b' | ||
| `); | ||
| strictEqual(n.tagName, "DIV"); | ||
| strictEqual(n.childNodes.length, 2); | ||
| strictEqual(n.childNodes[0].nodeValue, "a"); | ||
| strictEqual(n.childNodes[1].tagName, "SPAN"); | ||
| strictEqual(n.childNodes[1].childNodes[0].nodeValue, "b"); | ||
| }); | ||
| }); | ||
| describe("properties", () => { | ||
| test("className 1", () => { | ||
| const n = mount(htm ` | ||
| div.a.b | ||
| `); | ||
| strictEqual(n.className, "a b"); | ||
| }); | ||
| test("attr 1", () => { | ||
| const n = mount(htm ` | ||
| div :attr | ||
| `); | ||
| strictEqual(n.getAttribute("attr"), ""); | ||
| }); | ||
| test("attr 2", () => { | ||
| const n = mount(htm ` | ||
| div | ||
| :attr | ||
| `); | ||
| strictEqual(n.getAttribute("attr"), ""); | ||
| }); | ||
| test("attr 3", () => { | ||
| const n = mount(htm ` | ||
| div :attr='a' | ||
| `); | ||
| strictEqual(n.getAttribute("attr"), "a"); | ||
| }); | ||
| test("attr 4", () => { | ||
| const n = mount(htm ` | ||
| div | ||
| :attr='a' | ||
| `); | ||
| strictEqual(n.getAttribute("attr"), "a"); | ||
| }); | ||
| test(".className", () => { | ||
| const n = mount(htm ` | ||
| div${"a b"} | ||
| `); | ||
| strictEqual(n.className, "a b"); | ||
| }); | ||
| test(":attr", () => { | ||
| const n = mount(htm ` | ||
| div :attr=${"a"} | ||
| `); | ||
| strictEqual(n.getAttribute("attr"), "a"); | ||
| }); | ||
| test(".prop", () => { | ||
| const n = mount(htm ` | ||
| div .ariaValueMin=${"a"} | ||
| `); | ||
| strictEqual(n.ariaValueMin, "a"); | ||
| }); | ||
| test("*prop", () => { | ||
| const n = mount(htm ` | ||
| div *ariaValueMin=${"a"} | ||
| `); | ||
| strictEqual(n.ariaValueMin, "a"); | ||
| }); | ||
| test("~style", () => { | ||
| const n = mount(htm ` | ||
| div ~top=${"10px"} | ||
| `); | ||
| strictEqual(n.style.top, "10px"); | ||
| }); | ||
| test("@event", () => { | ||
| let clicked = 0; | ||
| const onClick = () => { clicked++; }; | ||
| const n = mount(htm ` | ||
| div @click=${onClick} | ||
| `); | ||
| n.click(); | ||
| strictEqual(clicked, 1); | ||
| }); | ||
| test("=textContent", () => { | ||
| const n = mount(htm ` | ||
| div =${"a"} | ||
| `); | ||
| strictEqual(n.textContent, "a"); | ||
| }); | ||
| test("$directive", () => { | ||
| let e; | ||
| const onMount = (element) => { e = element; }; | ||
| const n = mount(htm ` | ||
| div span $${onMount} | ||
| `); | ||
| strictEqual(n.childNodes[0], e); | ||
| }); | ||
| test("click and textContent", () => { | ||
| let clicked = 0; | ||
| const onClick = () => { clicked++; }; | ||
| const n = mount(htm ` | ||
| td.TableCell | ||
| @click=${onClick} | ||
| =${"ab"} | ||
| `); | ||
| n.click(); | ||
| strictEqual(n.childNodes[0].nodeValue, "ab"); | ||
| strictEqual(clicked, 1); | ||
| }); | ||
| }); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=template.test.js.map |
| {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../../src/__tests__/template.test.ts"],"names":[],"mappings":"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"} |
87150
12.26%1
-50%1607
20.74%275
-9.54%