🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@ivi/tpl

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ivi/tpl - npm Package Compare versions

Comparing version
1.0.0-beta.1
to
3.0.0-beta.2
+2
dist/__tests__/parser.test.d.ts
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&amp;b&quot;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&amp;b"c&lt;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"}

@@ -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":"AAAA,OAAO,EACgC,eAAe,GACrD,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAEL,EAAE,EAAO,GAAG,EAAE,EAAE,EAAO,GAAG,EAAE,EAAE,EAAE,EAAE,GACnC,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC;AAE1C,MAAM,WAAW,GAAG,IAAI,OAAO,EAAgD,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAA6B,EAAE,GAAG,KAAY,EAAE,EAAE;IACpE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE;QACjB,IAAI,MAAM,CAAC;QACX,IAAI;YACF,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,6BAAqB,YAAY,CAAC,CAAC;YACpE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;SAC/B;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,mBAAmB,EAAE;gBACpC,MAAM,KAAK,CACT,kBAAkB;oBAClB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAC/D,CAAC;aACH;YACD,MAAM,CAAC,CAAC;SACT;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACpE;QACD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KAC9B;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAA6B,EAAE,GAAG,KAAY,EAAE,EAAE;IACpE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE;QACjB,IAAI,MAAM,CAAC;QACX,IAAI;YACF,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,6BAAqB,YAAY,CAAC,CAAC;YACpE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;SAC/B;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,mBAAmB,EAAE;gBACpC,MAAM,KAAK,CACT,kBAAkB;oBAClB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAC/D,CAAC;aACH;YACD,MAAM,CAAC,CAAC;SACT;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACpE;QACD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KAC9B;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAQF,MAAM,eAAe,GAAG,CAAC,IAAkB,EACzC,aAA2C,EAC3C,aAA2C,EAC3C,EAAE;IACF,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB;YACE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,KAAK;gBACf,UAAU,EAAE,EAAE,CACZ,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;oBAC5B,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;oBACzB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACpC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CACV;aACF,CAAC;QACJ;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAW,EAAE,KAAY,EAAE,EAAE;IACnD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACzB,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACzB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}

@@ -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"}

@@ -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":"AAIA,OAAO,EACK,aAAa,EAAE,mBAAmB,EAAE,eAAe,GAC9D,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,CAAkC,EAClC,IAAmB,EACnB,YAAoC,EACzB,EAAE;IACb,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnD,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,eAAe;IACxC,YAAY,CAAyB;IAC9C,MAAM,CAAS;IAEf,YACE,OAAwC,EACxC,YAAoC;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,MAAM,QAAQ,GAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACZ,IACE,CAAC,kCAAyB;oBAC1B,CAAC,kCAAyB;oBAC1B,CAAC,2BAAkB,EACnB;oBACA,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,wBAAgB;wBACpB,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE;qBAC9B,CAAC,CAAC;iBACJ;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;iBACpC;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;oBACf,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,wBAAgB;wBACpB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM;iBACP;aACF;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;YAClB,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC7E;QAED,IAAI,MAAM,kDAAsC,EAAE;YAChD,IAAI,CAAC,MAAM,kDAAsC,CAAC;SACnD;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;YACxB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;gBACpC,UAAU,GAAG,IAAI,CAAC;aACnB;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,iCAAyB;gBAC7B,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,8CAA8C;YAC9C,IAAI,KAAK,CAAC;YACV,IAAI,CAAC,CAAC;YACN,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,0BAAiB,EAAE;oBACtB,IAAI,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACnC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE;wBACjB,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;qBAC/E;oBACD,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;wBACxB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC;iBACtB;qBAAM;oBACL,MAAM;iBACP;aACF;YACD,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;gBACpB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,iCAAyB;oBAC7B,GAAG,EAAE,OAAO;oBACZ,KAAK;oBACL,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;aACJ;SACF;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;QACN,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,4BAAmB,EAAE,EAAE,aAAa;gBACvC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnF;gBACD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;aACrC;iBAAM,IAAI,CAAC,+BAAsB,EAAE,EAAE,eAAe;gBACnD,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBACtF;gBACD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,6BAAqB;oBACzB,GAAG,EAAE,aAAa;oBAClB,KAAK;oBACL,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;aACJ;iBAAM,IAAI,CAAC,0BAAiB,EAAE,EAAE,YAAY;gBAC3C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClF;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,+BAAuB,GAAG,CAAC,CAAC;aACxD;iBAAM,IAAI,CAAC,+BAAsB,EAAE,EAAE,SAAS;gBAC7C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClF;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,kCAA0B,GAAG,CAAC,CAAC;aAC3D;iBAAM,IAAI,CAAC,6BAAmB,EAAE,EAAE,SAAS;gBAC1C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC/E;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,+BAAuB,GAAG,CAAC,CAAC;aACxD;iBAAM,IAAI,CAAC,6BAAoB,EAAE,EAAE,SAAS;gBAC3C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC/E;gBACD,IAAI,CAAC,WAAW,CAAC,UAAU,+BAAuB,GAAG,CAAC,CAAC;aACxD;iBAAM,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,gBAAgB;gBACrC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,MAAM,IAAI,mBAAmB,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC9F;gBACD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,iCAAyB;oBAC7B,GAAG,EAAE,IAAI;oBACT,KAAK;oBACL,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM;aACP;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,OAAO;YACL,IAAI,2BAAmB;YACvB,GAAG;YACH,UAAU;YACV,QAAQ,EAAE,CACR,aAAa,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACnC;SACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,UAAuB,EAAE,GAAW;QAChD,IAAI,KAAK,GAA8B,IAAI,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,4BAAmB,EAAE,EAAE,IAAI;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACZ,IACE,CAAC,kCAAyB;oBAC1B,CAAC,kCAAyB;oBAC1B,CAAC,2BAAkB,EACnB;oBACA,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;iBACrC;qBAAM;oBACL,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBACtF;aACF;iBAAM;gBACL,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;iBACtF;aACF;SACF;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,iCAAyB;YAC7B,GAAG;YACH,KAAK;YACL,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,UAAuB,EAAE,IAAmB,EAAE,GAAW;QACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,4BAAmB,EAAE;YACrC,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC5E;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1E;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,GAAG;YACH,KAAK;SACO,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;QAEN,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,2BAAkB,EAAE;YACjD,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,UAAU,EAAE;gBACpB,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACvE;YACD,CAAC,EAAE,CAAC;SACL;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC,kCAAyB,EAAE;YAC9B,aAAa,gCAAuB,CAAC;SACtC;aAAM,IAAI,CAAC,kCAAyB,EAAE;YACrC,aAAa,gCAAuB,CAAC;SACtC;aAAM;YACL,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzE;QAED,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE;YAC5B,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,aAAa,EAAE;gBACvB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,GAAG,UAAU,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAC3B,0CAA0C,SAAS,kBAAkB,EACrE,IAAI,CAAC,CAAC,EACN,CAAC,CACF,CAAC;iBACH;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE;oBACZ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,2BAAkB,EAAE;wBACxC,SAAS,KAAK,CAAC;qBAChB;oBACD,CAAC,EAAE,CAAC;iBACL;gBACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACvC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC,gCAAuB,EAAE;gBAC5B,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI;aACxB;iBAAM,IAAI,CAAC,kCAAyB,EAAE;gBACrC,OAAO,GAAG,QAAQ,CAAC;aACpB;iBAAM;gBACL,SAAS;aACV;YAED,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;YAC5C,KAAK,GAAG,CAAC,CAAC;SACX;QAED,MAAM,IAAI,mBAAmB,CAC3B,6CAA6C,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,EAC5F,IAAI,CAAC,CAAC,EACN,CAAC,CACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC;QAEN,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,2BAAkB,EAAE;YACjD,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,UAAU,EAAE;gBACpB,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAClE;YACD,CAAC,EAAE,CAAC;SACL;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC,kCAAyB,EAAE;YAC9B,aAAa,gCAAuB,CAAC;SACtC;aAAM,IAAI,CAAC,kCAAyB,EAAE;YACrC,aAAa,gCAAuB,CAAC;SACtC;aAAM;YACL,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzE;QAED,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE;YAC5B,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,aAAa,EAAE;gBACvB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,GAAG,UAAU,EAAE;oBAClB,MAAM,IAAI,mBAAmB,CAC3B,qCAAqC,SAAS,kBAAkB,EAChE,IAAI,CAAC,CAAC,EACN,CAAC,CACF,CAAC;iBACH;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE;oBACZ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,2BAAkB,EAAE;wBACxC,SAAS,KAAK,CAAC;qBAChB;oBACD,CAAC,EAAE,CAAC;iBACL;gBACD,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;oBACxB,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/E,oFAAoF;oBACpF,oIAAoI;iBACrI;gBACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,CAAC;aACV;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC,gCAAuB,EAAE;gBAC5B,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI;aACxB;iBAAM,IAAI,CAAC,+BAAsB,EAAE,EAAE,qBAAqB;gBACzD,OAAO,GAAG,MAAM,CAAC;aAClB;iBAAM;gBACL,SAAS;aACV;YAED,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;YAC5C,KAAK,GAAG,CAAC,CAAC;SACX;QAED,MAAM,IAAI,mBAAmB,CAC3B,wCAAwC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,EACvF,IAAI,CAAC,CAAC,EACN,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,4BAAmB,IAAI,CAAC,yBAAiB,EAAE;gBAC9C,CAAC,EAAE,CAAC;gBACJ,MAAM,EAAE,CAAC;gBACT,SAAS;aACV;YACD,IAAI,CAAC,8BAAqB,IAAI,CAAC,qCAA4B,EAAE;gBAC3D,CAAC,EAAE,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC;gBACX,SAAS;aACV;YACD,MAAM;SACP;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAOD,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,WAAW,GAAG,kBAAkB,CAAC"}
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
{
"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)`

@@ -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 @@

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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"}