@weave-framework/compiler 1.0.15 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen.d.ts +8 -0
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +9 -1
- package/dist/codegen.js.map +1 -1
- package/dist/component.d.ts +7 -1
- package/dist/component.d.ts.map +1 -1
- package/dist/component.js +32 -6
- package/dist/component.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/patch.d.ts +65 -0
- package/dist/patch.d.ts.map +1 -0
- package/dist/patch.js +173 -0
- package/dist/patch.js.map +1 -0
- package/package.json +1 -1
package/dist/codegen.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* whose branch/row bodies are nested render functions (so they close over `ctx`
|
|
9
9
|
* and any template locals), keeping every block's effects in its own scope.
|
|
10
10
|
*/
|
|
11
|
+
import type { TemplateNode } from './ast.js';
|
|
11
12
|
export interface CompileOptions {
|
|
12
13
|
/** binding names (from setup()) to resolve via `ctx.*` */
|
|
13
14
|
scope?: string[];
|
|
@@ -30,6 +31,13 @@ export interface CompileResult {
|
|
|
30
31
|
components: string[];
|
|
31
32
|
}
|
|
32
33
|
export declare function compileTemplate(input: string, options?: CompileOptions): CompileResult;
|
|
34
|
+
/**
|
|
35
|
+
* Like {@link compileTemplate} but from an already-parsed AST — used when the AST is
|
|
36
|
+
* transformed before codegen (e.g. RFC 0008 `#3` component-extension template patches
|
|
37
|
+
* splice/patch the base template's AST, then compile the result without a round-trip through
|
|
38
|
+
* template text).
|
|
39
|
+
*/
|
|
40
|
+
export declare function compileTemplateAst(ast: TemplateNode[], options?: CompileOptions): CompileResult;
|
|
33
41
|
/**
|
|
34
42
|
* PascalCase child-component tag → kebab-case module basename (`SlideToggle` → `slide-toggle`).
|
|
35
43
|
* Used by the loader to resolve a `<Foo>` tag to its sibling component module by convention.
|
package/dist/codegen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,qGAAqG;IACrG,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AA4CD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAoBnG;AA2BD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3D"}
|
package/dist/codegen.js
CHANGED
|
@@ -53,10 +53,18 @@ class Gen {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
export function compileTemplate(input, options = {}) {
|
|
56
|
+
return compileTemplateAst(parseTemplate(input), options);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Like {@link compileTemplate} but from an already-parsed AST — used when the AST is
|
|
60
|
+
* transformed before codegen (e.g. RFC 0008 `#3` component-extension template patches
|
|
61
|
+
* splice/patch the base template's AST, then compile the result without a round-trip through
|
|
62
|
+
* template text).
|
|
63
|
+
*/
|
|
64
|
+
export function compileTemplateAst(ast, options = {}) {
|
|
56
65
|
const mode = options.mode ?? 'module';
|
|
57
66
|
const runtimeImport = options.runtimeImport ?? '@weave-framework/runtime/dom';
|
|
58
67
|
const gen = new Gen(mode, options.scopeAttr, options.hostAttr);
|
|
59
|
-
const ast = parseTemplate(input);
|
|
60
68
|
// isHost: the render fragment's top-level elements are the component's roots → `:host`.
|
|
61
69
|
const render = compileFragment(gen, ast, ctxScope(options.scope ?? []), 'render', 'ctx, slots', true);
|
|
62
70
|
const components = [...gen.usedComponents];
|
package/dist/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAA4B,MAAM,YAAY,CAAC;AAyBrF,MAAM,GAAG;IASE;IACA;IACA;IAVT,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC,CAAC,uCAAuC;IAC9E,QAAQ,GAAgB,IAAI,GAAG,EAAU,CAAC,CAAC,oDAAoD;IAC/F,cAAc,GAAgB,IAAI,GAAG,EAAU,CAAC,CAAC,kDAAkD;IACnG,SAAS,GAAa,EAAE,CAAC;IACjB,IAAI,GAAW,CAAC,CAAC;IACjB,GAAG,GAAW,CAAC,CAAC;IAExB,YACS,IAA2B,EAC3B,SAAkB,EAClB,QAAiB;QAFjB,SAAI,GAAJ,IAAI,CAAuB;QAC3B,cAAS,GAAT,SAAS,CAAS;QAClB,aAAQ,GAAR,QAAQ,CAAS;IACvB,CAAC;IAEJ,CAAC,CAAC,IAAY;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IACD,EAAE,CAAC,IAAY;QACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IACD;;;;;OAKG;IACH,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,0DAA0D;QACzF,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IACD,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK;QACpC,MAAM,CAAC,GAAW,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1G,OAAO,CAAC,CAAC;IACX,CAAC;IACD,EAAE,CAAC,SAAiB,IAAI;QACtB,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAClC,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,UAA0B,EAAE;IACzE,MAAM,IAAI,GAA0B,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IAC7D,MAAM,aAAa,GAAW,OAAO,CAAC,aAAa,IAAI,8BAA8B,CAAC;IACtF,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAmB,aAAa,CAAC,KAAK,CAAC,CAAC;IACjD,wFAAwF;IACxF,MAAM,MAAM,GAAW,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9G,MAAM,UAAU,GAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IAErD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,GAAW,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAW,YAAY,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;IACjH,MAAM,UAAU,GAAW,GAAG,CAAC,QAAQ,CAAC,IAAI;QAC1C,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC;QACxF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAW,CAAC,SAAS,GAAG,IAAI,GAAG,UAAU,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9G,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAS;IAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAClE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;IACrE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IACpE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAC3C,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa;IAC1E,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc;IAC5E,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB;IACvE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU;IAC/D,oBAAoB,EAAE,QAAQ,EAAE,cAAc;IAC9C,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK;CAC/D,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,iBAAiB,GAAgB,IAAI,GAAG,CAAS,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7G;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG;SACP,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,CAAC,GAAW,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CACtB,GAAQ,EACR,KAAqB,EACrB,KAAY,EACZ,IAAY,EACZ,QAAgB,EAAE,EAClB,SAAkB,KAAK;IAEvB,MAAM,GAAG,GAAmB,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACjE,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,2EAA2E;IAC3E,mDAAmD;IACnD,MAAM,IAAI,GAAuB,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IAChH,MAAM,UAAU,GAAY,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC;IAEtF,IAAI,IAAI,GAAW,EAAE,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAChE,IAAI,QAAQ,GAAW,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAU,EAAE;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,GAAG,GAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAuB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,KAAK,QAAQ,EAAE,EAAE,CAAC;YACtB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,SAAS,YAAY,CAAC,QAAwB,EAAE,QAAkB,EAAE,EAAS,EAAE,SAAkB,KAAK;QACpG,IAAI,GAAG,GAAW,CAAC,CAAC;QACpB,8EAA8E;QAC9E,oFAAoF;QACpF,IAAI,GAAG,GAAU,EAAE,CAAC;QACpB,MAAM,YAAY,GAAa,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjH,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxB,IAAI,IAAI,SAAS,CAAC,CAAC,8CAA8C;gBACjE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjG,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClD,GAAG,EAAE,CAAC;gBACN,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,qDAAqD;gBAC7E,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAChD,GAAG,EAAE,CAAC;QACR,CAAC;IACH,CAAC;IAED,SAAS,WAAW,CAAC,IAAiB,EAAE,EAAS;QAC/C,gFAAgF;QAChF,0EAA0E;QAC1E,MAAM,SAAS,GAAU,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,SAAS,UAAU,CAAC,IAAgB,EAAE,IAAc,EAAE,EAAS;QAC7D,IAAI,IAAI,SAAS,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,SAAS,OAAO,CAAC,IAAa,EAAE,IAAc,EAAE,EAAS;QACvD,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,SAAS,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC;IAC7G,CAAC;IAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,IAAc,EAAE,EAAS,EAAE,SAAkB,KAAK;QACtF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO;YACT,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,IAAI,SAAS,CAAC;gBAClB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CACR,QAAQ;oBACN,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI;oBAC3D,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CACvD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,SAAS;gBACZ,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;gBACpC,OAAO;YACT,KAAK,IAAI;gBACP,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvB,OAAO;YACT,KAAK,KAAK;gBACR,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,KAAK,OAAO;gBACV,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,OAAO;YACT,KAAK,OAAO;gBACV,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,OAAO;YACT,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,KAAK,KAAK;gBACR,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,KAAK,SAAS;gBACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,KAAK,KAAK;gBACR,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,SAAS,WAAW,CAAC,IAAiB,EAAE,IAAc,EAAE,EAAS,EAAE,SAAkB,KAAK;QACxF,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW;YAAE,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,SAAS;YAAE,IAAI,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB;QACpE,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ;YAAE,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB;QAC9E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,kBAAkB,CAAC,IAAiB,EAAE,IAAc,EAAE,EAAS;QACtE,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,MAAM,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,GAAW,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7E,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,MAAM,WAAW,OAAO,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtG,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,SAAS,WAAW,CAClB,IAAuC,EACvC,CAAS,EACT,EAAS,EACT,OAAiB,KAAK;QAEtB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,IAAI,CACP,QAAQ;oBACN,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI;oBAC/D,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAC3D,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChG,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBACjG,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBACrG,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC/E,MAAM;YACR,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,yEAAyE;gBACzE,mFAAmF;gBACnF,MAAM,EAAE,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;gBAC/C,MAAM,MAAM,GAAW,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC3F,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9E,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,+EAA+E;gBAC/E,oDAAoD;gBACpD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;oBACjG,MAAM;gBACR,CAAC;gBACD,MAAM,OAAO,GAAW,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAW,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9F,MAAM;YACR,CAAC;YACD,KAAK,KAAK;gBACR,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,oFAAoF;gBACpF,mFAAmF;gBACnF,mFAAmF;gBACnF,MAAM,MAAM,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,IAAI,KAAK,SAAS;oBACrB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,MAAM,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI;oBACnF,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAChD,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,oEAAoE;gBACpE,yEAAyE;gBACzE,uEAAuE;gBACvE,MAAM,IAAI,GAAkC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5H,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,IAAiB,EAAE,IAAc,EAAE,EAAS;QACjE,IAAI,IAAI,SAAS,CAAC,CAAC,qCAAqC;QACxD,MAAM,SAAS,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzC,oFAAoF;QACpF,wFAAwF;QACxF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAc,EAAE,CAAC,CAAC,mEAAmE;QAC/F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,QAAQ;oBACX,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,MAAM;oBACT,qEAAqE;oBACrE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;oBACrF,MAAM;gBACR,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,GAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5D,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,MAAM;gBACR,CAAC;gBACD,KAAK,KAAK;oBACR,+EAA+E;oBAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,GAAG,qDAAqD,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvG,uFAAuF;QACvF,MAAM,MAAM,GAAgC,IAAI,GAAG,EAA0B,CAAC;QAC9E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,MAAM,GAAiB,KAAK,CAAC;YACjC,IAAI,QAAQ,GAAW,SAAS,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAW,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACzF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACX,QAAQ,GAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAgB,CAAC,KAAK,CAAC;oBAChD,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,IAAI,GAAG,GAA+B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,GAAG,GAAG,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS,CAAC,kCAAkC;YAChF,MAAM,MAAM,GAAW,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,QAAQ,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,SAAS,GAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,QAAQ,GAAG,CAAC;QAE5E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,mFAAmF;QACnF,oFAAoF;QACpF,sFAAsF;QACtF,MAAM,OAAO,GAAW,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAW,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,MAAM,SAAS,GAAG,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;YAChD,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,OAAO,KAAK,MAAM,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI;gBACtF,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,OAAO,KAAK,MAAM,IAAI,CACtD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,QAAQ,CAAC,IAAiB,EAAE,IAAc,EAAE,EAAS;QAC5D,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,SAAS,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAqB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACpG,MAAM,IAAI,GAAW,QAAQ,CAAC,CAAC,CAAE,QAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,IAAI,QAAQ,GAAW,MAAM,CAAC;QAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAW,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CACR,uBAAuB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,mBAAmB,QAAQ,MAAM,CACtG,CAAC;IACJ,CAAC;IAED,SAAS,MAAM,CAAC,IAAY,EAAE,IAAc,EAAE,EAAS;QACrD,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,IAAI,GAAa,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,QAA4B,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,MAAM,WAAW,GAAa,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ;gBACrD,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,cAAc,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC/E,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gBACrG,KAAK,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QACpF,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEzC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,UAAU,CAAC,IAAgB,EAAE,IAAc,EAAE,EAAS;QAC7D,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9F,MAAM,KAAK,GAAa,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gBAC/F,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,SAAS,CAAC,IAAe,EAAE,IAAc,EAAE,EAAS;QAC3D,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,SAAS,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAEpE,IAAI,KAAK,GAAW,WAAW,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAW,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,SAAS,CAAC,IAAe,EAAE,IAAc,EAAE,EAAS;QAC3D,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,SAAS,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAW,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;QAEhE,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,CAAC,QAAoC,EAAE,KAAc,EAAU,EAAE;YAChF,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC;YACpE,MAAM,EAAE,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;YAC5B,4EAA4E;YAC5E,wEAAwE;YACxE,MAAM,KAAK,GAAU,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,UAAU,GAAW,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,OAAO,GAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAW,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,KAAK,MAAM,KAAK,UAAU,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC;IACzG,CAAC;IAED,SAAS,gBAAgB,CAAC,CAAe,EAAE,EAAS;QAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,6BAA6B,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YACnE,KAAK,OAAO;gBACV,OAAO,sBAAsB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YAC1D,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa,CAAC;YACnB,KAAK,OAAO,CAAC;YACb,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAa,EAAE,IAAc,EAAE,EAAS;QACvD,IAAI,IAAI,SAAS,CAAC;QAClB,MAAM,KAAK,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAU,UAAU,CAAC,EAAE,EAAE;YACrC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW;YACxB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAE9E,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAW,GAAG,CAAC,EAAE,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,QAAQ,GAAG,KAAK,OAAO,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,KAAK,GAAW,IAAI,IAAI,CAAC,IAAI,gBAAgB,KAAK,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,QAAQ,IAAI,CAAC,CAAC;IACxG,CAAC;IAED,OAAO;IACP,IAAI,UAAU;QAAE,WAAW,CAAC,IAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;;QACjD,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE1C,gFAAgF;IAChF,2EAA2E;IAC3E,kFAAkF;IAClF,8EAA8E;IAC9E,MAAM,MAAM,GAAkB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACxF,MAAM,OAAO,GAAY,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1E,MAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAW,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAa;QACrB,cAAc,IAAI,IAAI,MAAM,IAAI;QAChC,GAAG,SAAS;QACZ,GAAG,KAAK;QACR,YAAY;QACZ,GAAG,UAAU;KACd,CAAC;IACF,OAAO,YAAY,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACpF,CAAC;AAED,uCAAuC;AAEvC,SAAS,WAAW,CAAC,IAAe,EAAE,KAAY;IAChD,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,gBAAgB;YAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;aAC3D,IAAI,CAAC,KAAK,iBAAiB;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAClE,IAAI,CAAC,KAAK,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,SAAmB;IACpC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,KAAqB;IACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,CAAC,CAAC,CAAS;IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,0EAA0E;AAC1E,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,8DAA8D;AAC9D,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/component.d.ts
CHANGED
|
@@ -12,11 +12,17 @@
|
|
|
12
12
|
* into the same `{ script, template, styles }` triple the separate-file path
|
|
13
13
|
* passes directly.
|
|
14
14
|
*/
|
|
15
|
+
import { type PatchOp } from './patch.js';
|
|
15
16
|
export interface ComponentSource {
|
|
16
17
|
/** Setup module — user imports + `export function setup(props) { … return bindings }`. */
|
|
17
18
|
script?: string;
|
|
18
|
-
/** Template markup. */
|
|
19
|
+
/** Template markup. For a `#3` component-extension, this is the BASE template `patches` apply to. */
|
|
19
20
|
template: string;
|
|
21
|
+
/**
|
|
22
|
+
* RFC 0008 `#3` — declarative patch ops applied to `template` (the base template) before codegen.
|
|
23
|
+
* Present only for a component-file extension that patches its base rather than overriding it (#1).
|
|
24
|
+
*/
|
|
25
|
+
patches?: PatchOp[];
|
|
20
26
|
/** Component CSS (scoped to this component). */
|
|
21
27
|
styles?: string;
|
|
22
28
|
}
|
package/dist/component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,GAAE,gBAAqB,GAAG,iBAAiB,CA4CrG;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAe9D;AAuCD,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAYxD"}
|
package/dist/component.js
CHANGED
|
@@ -12,29 +12,55 @@
|
|
|
12
12
|
* into the same `{ script, template, styles }` triple the separate-file path
|
|
13
13
|
* passes directly.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import { compileTemplateAst } from './codegen.js';
|
|
16
16
|
import { parseTemplate } from './parser.js';
|
|
17
|
+
import { applyPatches } from './patch.js';
|
|
17
18
|
import { inferCtxNames } from './infer.js';
|
|
18
19
|
import { scopeCss, scopeAttr, hostAttr, hashCss } from './css.js';
|
|
19
20
|
const HAS_SETUP = /export\s+(?:async\s+)?function\s+setup\b|export\s+(?:const|let|var)\s+setup\b/;
|
|
21
|
+
/** A component-file EXTENSION declares `export const extend = Base` (RFC 0008, form A / mode #1). */
|
|
22
|
+
const HAS_EXTEND = /export\s+(?:const|let|var)\s+extend\b/;
|
|
23
|
+
/** Optional `export function extendProps(props)` — the pre-base props seam (RFC 0008). */
|
|
24
|
+
const HAS_EXTEND_PROPS = /export\s+(?:async\s+)?function\s+extendProps\b|export\s+(?:const|let|var)\s+extendProps\b/;
|
|
20
25
|
/** Compile a `{ script, template, styles }` triple into a component module + scoped CSS. */
|
|
21
26
|
export function compileComponent(src, opts = {}) {
|
|
22
27
|
const hash = opts.hash ?? hashCss(opts.filename ?? src.template);
|
|
23
28
|
const attr = scopeAttr(hash);
|
|
24
|
-
|
|
29
|
+
// Parse once; a `#3` extension patches the base template's AST before scope-inference + codegen.
|
|
30
|
+
let ast = parseTemplate(src.template);
|
|
31
|
+
if (src.patches?.length)
|
|
32
|
+
ast = applyPatches(ast, src.patches);
|
|
33
|
+
const scope = inferCtxNames(ast);
|
|
25
34
|
// Stamp the `:host` root marker only when the styles actually use `:host` (else zero cost).
|
|
26
35
|
const host = src.styles && /:host\b/.test(src.styles) ? hostAttr(hash) : undefined;
|
|
27
|
-
const compiled =
|
|
36
|
+
const compiled = compileTemplateAst(ast, { mode: 'module', scope, scopeAttr: attr, hostAttr: host });
|
|
28
37
|
// Demote the template module's default export to a local `render` we can wire up.
|
|
29
38
|
const renderBody = compiled.code.replace('export default function render', 'function render');
|
|
30
39
|
const css = src.styles ? scopeCss(src.styles, hash) : '';
|
|
31
40
|
const script = src.script ?? '';
|
|
32
|
-
const
|
|
41
|
+
const hasSetup = HAS_SETUP.test(script);
|
|
42
|
+
// A component-file EXTENSION (`export const extend = Base`, RFC 0008): the default export wraps
|
|
43
|
+
// its own setup with the base's via `extendSetup(extend, setup?, extendProps?)`, so an instance
|
|
44
|
+
// reuses the base's setup context and this component's `setup(props, base)` overrides/adds on top.
|
|
45
|
+
// Its own template is the full override (mode #1). A non-extension component is unchanged.
|
|
46
|
+
const isExtension = HAS_EXTEND.test(script);
|
|
47
|
+
let defaultExport;
|
|
48
|
+
let extendImport = '';
|
|
49
|
+
if (isExtension) {
|
|
50
|
+
const args = ['extend', hasSetup ? 'setup' : 'undefined'];
|
|
51
|
+
if (HAS_EXTEND_PROPS.test(script))
|
|
52
|
+
args.push('extendProps');
|
|
53
|
+
defaultExport = `export default defineComponent(render, extendSetup(${args.join(', ')}));`;
|
|
54
|
+
extendImport = ', extendSetup';
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
defaultExport = `export default defineComponent(${hasSetup ? 'render, setup' : 'render'});`;
|
|
58
|
+
}
|
|
33
59
|
const code = [
|
|
34
60
|
script.trim(),
|
|
35
|
-
|
|
61
|
+
`import { defineComponent${extendImport} } from "@weave-framework/runtime/dom";`,
|
|
36
62
|
renderBody,
|
|
37
|
-
|
|
63
|
+
defaultExport,
|
|
38
64
|
]
|
|
39
65
|
.filter(Boolean)
|
|
40
66
|
.join('\n\n');
|
package/dist/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAmB,kBAAkB,EAAsB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAsClE,MAAM,SAAS,GAAW,+EAA+E,CAAC;AAC1G,qGAAqG;AACrG,MAAM,UAAU,GAAW,uCAAuC,CAAC;AACnE,0FAA0F;AAC1F,MAAM,gBAAgB,GAAW,2FAA2F,CAAC;AAE7H,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,GAAoB,EAAE,OAAyB,EAAE;IAChF,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,IAAI,GAAW,SAAS,CAAC,IAAI,CAAC,CAAC;IAErC,iGAAiG;IACjG,IAAI,GAAG,GAAmB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM;QAAE,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAa,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,MAAM,IAAI,GAAuB,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,QAAQ,GAAkB,kBAAkB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpH,kFAAkF;IAClF,MAAM,UAAU,GAAW,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;IAEtG,MAAM,GAAG,GAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,MAAM,GAAW,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAY,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjD,gGAAgG;IAChG,gGAAgG;IAChG,mGAAmG;IACnG,2FAA2F;IAC3F,MAAM,WAAW,GAAY,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,aAAqB,CAAC;IAC1B,IAAI,YAAY,GAAW,EAAE,CAAC;IAC9B,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,GAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,aAAa,GAAG,sDAAsD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3F,YAAY,GAAG,eAAe,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,kCAAkC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;IAC9F,CAAC;IAED,MAAM,IAAI,GAAW;QACnB,MAAM,CAAC,IAAI,EAAE;QACb,2BAA2B,YAAY,yCAAyC;QAChF,UAAU;QACV,aAAa;KACd;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC9D,CAAC;AAqBD,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,MAAM,GAAwB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,KAAK,GAAwB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAW,MAAM,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YAAE,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS;QAClC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5C,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS;KAClC,CAAC;AACJ,CAAC;AAUD,SAAS,WAAW,CAAC,MAAc,EAAE,GAAW;IAC9C,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,EAAE,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,GAAW,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACnE,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM;QAClC,UAAU,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI;QACzB,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,UAAU,CAAC,CAAS,EAAE,KAAa,EAAE,GAAW;IACvD,IAAI,GAAG,GAAW,EAAE,CAAC;IACrB,KAAK,IAAI,CAAC,GAAW,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5E,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,MAAc;IACvC,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,MAAM,MAAM,GAAmC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAmC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAW,MAAM;SAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE,CAAC;IACV,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;QACjC,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,GAAW;IAC/C,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,MAAM,GAAG,GAAW,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACrF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* @weave-framework/compiler — turns Weave templates into fine-grained DOM code.
|
|
3
3
|
* M3: templates, interpolation, attribute/event/prop/class/ref bindings.
|
|
4
4
|
*/
|
|
5
|
-
export { compileTemplate, pascalToKebab, childImportCandidates, type CompileOptions, type CompileResult, } from './codegen.js';
|
|
5
|
+
export { compileTemplate, compileTemplateAst, pascalToKebab, childImportCandidates, type CompileOptions, type CompileResult, } from './codegen.js';
|
|
6
|
+
export { applyPatches, type PatchOp } from './patch.js';
|
|
6
7
|
export { parseTemplate, ParseError } from './parser.js';
|
|
7
8
|
export { scopeCss, scopeAttr, hostAttr, hashCss } from './css.js';
|
|
8
9
|
export { inferCtxNames } from './infer.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AACtB,mBAAmB,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AACtB,mBAAmB,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* @weave-framework/compiler — turns Weave templates into fine-grained DOM code.
|
|
3
3
|
* M3: templates, interpolation, attribute/event/prop/class/ref bindings.
|
|
4
4
|
*/
|
|
5
|
-
export { compileTemplate, pascalToKebab, childImportCandidates, } from './codegen.js';
|
|
5
|
+
export { compileTemplate, compileTemplateAst, pascalToKebab, childImportCandidates, } from './codegen.js';
|
|
6
|
+
export { applyPatches } from './patch.js';
|
|
6
7
|
export { parseTemplate, ParseError } from './parser.js';
|
|
7
8
|
export { scopeCss, scopeAttr, hostAttr, hashCss } from './css.js';
|
|
8
9
|
export { inferCtxNames } from './infer.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,GAKX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GAEd,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,GAKX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,WAAW,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GAEd,MAAM,cAAc,CAAC"}
|
package/dist/patch.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RFC 0008 `#3` — declarative template patches for component-file extensions.
|
|
3
|
+
*
|
|
4
|
+
* A `#3` extension does NOT write its own template; it declares `export const patch = [...]`,
|
|
5
|
+
* an array of ops that modify the BASE component's template. The loader resolves the base
|
|
6
|
+
* template, parses it, and this module applies the ops to the AST (matched by a small
|
|
7
|
+
* tag/class/attribute selector), then codegen compiles the patched AST directly — no
|
|
8
|
+
* round-trip through template text. Fail-loud: a selector that matches nothing throws.
|
|
9
|
+
*
|
|
10
|
+
* Ops are pure DATA (not a function), so the loader reads them statically without evaluating
|
|
11
|
+
* the extension module. Markup an op inserts (`html`) and the attribute an `attr` op adds
|
|
12
|
+
* (`attr`) are ordinary Weave template text, parsed by the SAME parser — so `{{ }}`, `on:`,
|
|
13
|
+
* `use:`, `@if`/`@for`, and nested components all work inside a patch.
|
|
14
|
+
*/
|
|
15
|
+
import type { TemplateNode } from './ast.js';
|
|
16
|
+
/** A declarative patch op. Authored as an entry of `export const patch = [ … ]`. */
|
|
17
|
+
export type PatchOp =
|
|
18
|
+
/** Add (or replace) an attribute/binding on matched elements. `attr` is markup, e.g. `on:dblclick={{ f(item) }}`. */
|
|
19
|
+
{
|
|
20
|
+
op: 'attr';
|
|
21
|
+
sel: string;
|
|
22
|
+
attr: string;
|
|
23
|
+
}
|
|
24
|
+
/** Remove a named attribute/binding from matched elements. */
|
|
25
|
+
| {
|
|
26
|
+
op: 'removeAttr';
|
|
27
|
+
sel: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}
|
|
30
|
+
/** Insert `html` as the first / last child of matched elements. */
|
|
31
|
+
| {
|
|
32
|
+
op: 'prepend' | 'append';
|
|
33
|
+
sel: string;
|
|
34
|
+
html: string;
|
|
35
|
+
}
|
|
36
|
+
/** Insert `html` as the previous / next sibling of matched elements. */
|
|
37
|
+
| {
|
|
38
|
+
op: 'before' | 'after';
|
|
39
|
+
sel: string;
|
|
40
|
+
html: string;
|
|
41
|
+
}
|
|
42
|
+
/** Replace matched elements with `html`. */
|
|
43
|
+
| {
|
|
44
|
+
op: 'replace';
|
|
45
|
+
sel: string;
|
|
46
|
+
html: string;
|
|
47
|
+
}
|
|
48
|
+
/** Wrap each matched element in `html` (its single root becomes the matched element's parent). */
|
|
49
|
+
| {
|
|
50
|
+
op: 'wrap';
|
|
51
|
+
sel: string;
|
|
52
|
+
html: string;
|
|
53
|
+
}
|
|
54
|
+
/** Remove matched elements. */
|
|
55
|
+
| {
|
|
56
|
+
op: 'remove';
|
|
57
|
+
sel: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Apply declarative patch ops to a base template AST (mutates a shallow copy). Fail-loud: a
|
|
61
|
+
* selector matching no element throws — a patch that no longer applies (the base restructured
|
|
62
|
+
* its markup) must not silently vanish.
|
|
63
|
+
*/
|
|
64
|
+
export declare function applyPatches(ast: TemplateNode[], ops: PatchOp[]): TemplateNode[];
|
|
65
|
+
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,UAAU,CAAC;AAE5E,oFAAoF;AACpF,MAAM,MAAM,OAAO;AACjB,qHAAqH;AACnH;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3C,8DAA8D;GAC5D;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACjD,mEAAmE;GACjE;IAAE,EAAE,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACzD,wEAAwE;GACtE;IAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACvD,4CAA4C;GAC1C;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC9C,kGAAkG;GAChG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3C,+BAA+B;GAC7B;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAqHlC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CA2ChF"}
|
package/dist/patch.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RFC 0008 `#3` — declarative template patches for component-file extensions.
|
|
3
|
+
*
|
|
4
|
+
* A `#3` extension does NOT write its own template; it declares `export const patch = [...]`,
|
|
5
|
+
* an array of ops that modify the BASE component's template. The loader resolves the base
|
|
6
|
+
* template, parses it, and this module applies the ops to the AST (matched by a small
|
|
7
|
+
* tag/class/attribute selector), then codegen compiles the patched AST directly — no
|
|
8
|
+
* round-trip through template text. Fail-loud: a selector that matches nothing throws.
|
|
9
|
+
*
|
|
10
|
+
* Ops are pure DATA (not a function), so the loader reads them statically without evaluating
|
|
11
|
+
* the extension module. Markup an op inserts (`html`) and the attribute an `attr` op adds
|
|
12
|
+
* (`attr`) are ordinary Weave template text, parsed by the SAME parser — so `{{ }}`, `on:`,
|
|
13
|
+
* `use:`, `@if`/`@for`, and nested components all work inside a patch.
|
|
14
|
+
*/
|
|
15
|
+
import { parseTemplate } from './parser.js';
|
|
16
|
+
const NODE_OPS = new Set(['prepend', 'append', 'before', 'after', 'replace', 'wrap', 'remove']);
|
|
17
|
+
/** The child-node arrays a template node contains (where matches live and edits happen). */
|
|
18
|
+
function childArrays(node) {
|
|
19
|
+
switch (node.type) {
|
|
20
|
+
case 'element':
|
|
21
|
+
return [node.children];
|
|
22
|
+
case 'if':
|
|
23
|
+
return node.branches.map((b) => b.children);
|
|
24
|
+
case 'for':
|
|
25
|
+
return node.empty ? [node.children, node.empty] : [node.children];
|
|
26
|
+
case 'switch':
|
|
27
|
+
return node.cases.map((c) => c.children);
|
|
28
|
+
case 'defer':
|
|
29
|
+
return node.placeholder ? [node.children, node.placeholder] : [node.children];
|
|
30
|
+
case 'await': {
|
|
31
|
+
const arrs = [];
|
|
32
|
+
for (const key of ['pending', 'children', 'then', 'catch']) {
|
|
33
|
+
const v = node[key];
|
|
34
|
+
if (Array.isArray(v))
|
|
35
|
+
arrs.push(v);
|
|
36
|
+
}
|
|
37
|
+
return arrs;
|
|
38
|
+
}
|
|
39
|
+
case 'key':
|
|
40
|
+
return [node.children];
|
|
41
|
+
case 'snippet':
|
|
42
|
+
return [node.children];
|
|
43
|
+
default:
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function parseSelector(sel) {
|
|
48
|
+
const s = sel.trim();
|
|
49
|
+
if (s.startsWith('.'))
|
|
50
|
+
return { className: s.slice(1) };
|
|
51
|
+
if (s.startsWith('[') && s.endsWith(']')) {
|
|
52
|
+
const inner = s.slice(1, -1);
|
|
53
|
+
const eq = inner.indexOf('=');
|
|
54
|
+
if (eq === -1)
|
|
55
|
+
return { attrName: inner.trim() };
|
|
56
|
+
return { attrName: inner.slice(0, eq).trim(), attrValue: inner.slice(eq + 1).trim().replace(/^["']|["']$/g, '') };
|
|
57
|
+
}
|
|
58
|
+
return { tag: s };
|
|
59
|
+
}
|
|
60
|
+
function staticAttr(node, name) {
|
|
61
|
+
return node.attrs.find((a) => a.type === 'static' && a.name === name);
|
|
62
|
+
}
|
|
63
|
+
function matches(node, sel) {
|
|
64
|
+
if (sel.tag !== undefined)
|
|
65
|
+
return node.tag === sel.tag;
|
|
66
|
+
if (sel.className !== undefined) {
|
|
67
|
+
const cls = staticAttr(node, 'class');
|
|
68
|
+
return !!cls && cls.value.split(/\s+/).includes(sel.className);
|
|
69
|
+
}
|
|
70
|
+
if (sel.attrName !== undefined) {
|
|
71
|
+
if (sel.attrValue !== undefined) {
|
|
72
|
+
const a = staticAttr(node, sel.attrName);
|
|
73
|
+
return !!a && a.value === sel.attrValue;
|
|
74
|
+
}
|
|
75
|
+
return node.attrs.some((a) => 'name' in a && a.name === sel.attrName);
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
/** All element nodes matching `sel`, deepest-first is not required — insertion re-locates by identity. */
|
|
80
|
+
function collectMatches(ast, sel) {
|
|
81
|
+
const out = [];
|
|
82
|
+
const walk = (nodes) => {
|
|
83
|
+
for (const n of nodes) {
|
|
84
|
+
if (n.type === 'element' && matches(n, sel))
|
|
85
|
+
out.push(n);
|
|
86
|
+
for (const arr of childArrays(n))
|
|
87
|
+
walk(arr);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
walk(ast);
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
/** Locate a node by identity: its containing array + index. */
|
|
94
|
+
function locate(ast, target) {
|
|
95
|
+
const walk = (nodes) => {
|
|
96
|
+
const i = nodes.indexOf(target);
|
|
97
|
+
if (i !== -1)
|
|
98
|
+
return { arr: nodes, index: i };
|
|
99
|
+
for (const n of nodes) {
|
|
100
|
+
for (const arr of childArrays(n)) {
|
|
101
|
+
const hit = walk(arr);
|
|
102
|
+
if (hit)
|
|
103
|
+
return hit;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
};
|
|
108
|
+
return walk(ast);
|
|
109
|
+
}
|
|
110
|
+
/** Parse a bare attribute string (e.g. `on:click={{ f }}`) by wrapping it in a dummy element. */
|
|
111
|
+
function parseAttr(attrText) {
|
|
112
|
+
const [el] = parseTemplate(`<w-patch ${attrText}/>`);
|
|
113
|
+
if (!el || el.type !== 'element' || el.attrs.length !== 1) {
|
|
114
|
+
throw new Error(`weave: patch attr must be a single attribute, got: ${attrText}`);
|
|
115
|
+
}
|
|
116
|
+
return el.attrs[0];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Apply declarative patch ops to a base template AST (mutates a shallow copy). Fail-loud: a
|
|
120
|
+
* selector matching no element throws — a patch that no longer applies (the base restructured
|
|
121
|
+
* its markup) must not silently vanish.
|
|
122
|
+
*/
|
|
123
|
+
export function applyPatches(ast, ops) {
|
|
124
|
+
const root = ast.slice();
|
|
125
|
+
for (const op of ops) {
|
|
126
|
+
const sel = parseSelector(op.sel);
|
|
127
|
+
const hits = collectMatches(root, sel);
|
|
128
|
+
if (hits.length === 0) {
|
|
129
|
+
throw new Error(`weave: patch selector '${op.sel}' matched no element in the base template (op '${op.op}').`);
|
|
130
|
+
}
|
|
131
|
+
for (const node of hits) {
|
|
132
|
+
if (op.op === 'attr') {
|
|
133
|
+
const next = parseAttr(op.attr);
|
|
134
|
+
const name = 'name' in next ? next.name : undefined;
|
|
135
|
+
node.attrs = node.attrs.filter((a) => !('name' in a && name !== undefined && a.name === name)).concat(next);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (op.op === 'removeAttr') {
|
|
139
|
+
node.attrs = node.attrs.filter((a) => !('name' in a && a.name === op.name));
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (op.op === 'prepend' || op.op === 'append') {
|
|
143
|
+
const frag = parseTemplate(op.html);
|
|
144
|
+
node.children = op.op === 'prepend' ? frag.concat(node.children) : node.children.concat(frag);
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
// sibling / self ops need the node's location in its parent array
|
|
148
|
+
if (NODE_OPS.has(op.op)) {
|
|
149
|
+
const loc = locate(root, node);
|
|
150
|
+
if (!loc)
|
|
151
|
+
continue; // already removed by a prior op in this batch
|
|
152
|
+
const frag = 'html' in op ? parseTemplate(op.html) : [];
|
|
153
|
+
if (op.op === 'before')
|
|
154
|
+
loc.arr.splice(loc.index, 0, ...frag);
|
|
155
|
+
else if (op.op === 'after')
|
|
156
|
+
loc.arr.splice(loc.index + 1, 0, ...frag);
|
|
157
|
+
else if (op.op === 'replace')
|
|
158
|
+
loc.arr.splice(loc.index, 1, ...frag);
|
|
159
|
+
else if (op.op === 'remove')
|
|
160
|
+
loc.arr.splice(loc.index, 1);
|
|
161
|
+
else if (op.op === 'wrap') {
|
|
162
|
+
const wrapper = frag.find((n) => n.type === 'element');
|
|
163
|
+
if (!wrapper)
|
|
164
|
+
throw new Error(`weave: patch 'wrap' html must contain an element, got: ${op.html}`);
|
|
165
|
+
wrapper.children = wrapper.children.concat(node);
|
|
166
|
+
loc.arr.splice(loc.index, 1, ...frag);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return root;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"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"}
|