@c9up/inker 0.1.5 → 0.1.7

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.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/dist/InkerProvider.d.ts +17 -9
  3. package/dist/InkerProvider.d.ts.map +1 -1
  4. package/dist/InkerProvider.js +56 -54
  5. package/dist/InkerProvider.js.map +1 -1
  6. package/dist/InkerRenderError.d.ts +1 -1
  7. package/dist/InkerRenderError.d.ts.map +1 -1
  8. package/dist/InkerRenderError.js.map +1 -1
  9. package/dist/InkerRenderer.d.ts +9 -0
  10. package/dist/InkerRenderer.d.ts.map +1 -1
  11. package/dist/InkerRenderer.js +13 -0
  12. package/dist/InkerRenderer.js.map +1 -1
  13. package/dist/Templates.d.ts +44 -0
  14. package/dist/Templates.d.ts.map +1 -1
  15. package/dist/Templates.js +271 -147
  16. package/dist/Templates.js.map +1 -1
  17. package/dist/globals.d.ts +10 -0
  18. package/dist/globals.d.ts.map +1 -0
  19. package/dist/globals.js +235 -0
  20. package/dist/globals.js.map +1 -0
  21. package/dist/identifierGuards.d.ts +2 -2
  22. package/dist/identifierGuards.js +2 -2
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/loadNapi.d.ts +6 -4
  27. package/dist/loadNapi.d.ts.map +1 -1
  28. package/dist/loadNapi.js +2 -2
  29. package/dist/loadNapi.js.map +1 -1
  30. package/dist/renderNode.d.ts +184 -0
  31. package/dist/renderNode.d.ts.map +1 -0
  32. package/dist/renderNode.js +479 -0
  33. package/dist/renderNode.js.map +1 -0
  34. package/index.darwin-arm64.node +0 -0
  35. package/index.darwin-x64.node +0 -0
  36. package/index.linux-arm64-gnu.node +0 -0
  37. package/index.linux-x64-gnu.node +0 -0
  38. package/index.win32-x64-msvc.node +0 -0
  39. package/package.json +3 -4
  40. package/scripts/copy-napi.mjs +0 -62
  41. package/src/InkerProvider.ts +0 -600
  42. package/src/InkerRenderError.ts +0 -49
  43. package/src/InkerRenderer.ts +0 -55
  44. package/src/SafeString.ts +0 -27
  45. package/src/Templates.ts +0 -1332
  46. package/src/helpers.ts +0 -76
  47. package/src/identifierGuards.ts +0 -49
  48. package/src/index.ts +0 -16
  49. package/src/loadNapi.ts +0 -270
  50. package/src/services/main.ts +0 -56
package/README.md CHANGED
@@ -38,7 +38,7 @@ The lex / parse / render hot path runs in Rust via napi-rs (Story 55.1). The Typ
38
38
 
39
39
  - **Build locally:** `pnpm --filter @c9up/inker build:napi` compiles the `inker-engine-napi` crate (release) and copies `index.<platform>.node` into the package root. The 5-platform NAPI CI matrix (`linux-x64-gnu`, `linux-arm64-gnu`, `darwin-x64`, `darwin-arm64`, `win32-x64-msvc`) builds these on native runners.
40
40
  - **No JS fallback.** If the binary is missing or fails to load, every render throws `E_INKER_NAPI_REQUIRED` with an actionable hint pointing at `pnpm --filter @c9up/inker build:napi`. Run that after a fresh checkout or a platform change.
41
- - **Helpers stay in TypeScript.** Custom helpers registered via `TemplatesOptions.helpers` (or `InkerProvider`) are plain TS functions. The renderer resolves them TS-side before the native render pass (collect invoke render no V8 callback), so no Rust knowledge is required to write one. Helpers must appear as a whole interpolation (`{{ helper(args) }}`) or a component-arg value; they are not supported inside `{% if %}` conditions, `{% each %}` iterables, operator expressions, or as nested-call arguments. Helper **arguments** are evaluated in the Rust engine and cross the NAPI boundary as JSON, so they are JSON-coerced before the helper runs: a `Date` arrives as a string, a `bigint` as a (possibly lossy) number, and `NaN`/`±Infinity` as `null`. Pass pre-stringified values for any type that does not survive JSON.
41
+ - **Helpers are plain TS functions in V8 scope.** Custom helpers registered via `TemplatesOptions.helpers` (or `InkerProvider`) and the core globals are in lexical scope when the Node renderer evaluates each expression in V8 (the Edge model; no Rust knowledge required to write one). They can be called **anywhere** an expression can: whole interpolations (`{{ helper(args) }}`), `@if()` conditions, `@each()` iterables, operator expressions, and nested-call / loop-scoped arguments (`{{ users.filter(u => can(u)) }}`). Arguments are the real JS values a `Date` stays a `Date`, a `Map` a `Map`, `bigint`/`NaN`/`±Infinity` untouched there is no NAPI/JSON coercion. A helper returning a `SafeString` is emitted raw.
42
42
 
43
43
  ## Standalone use
44
44
 
@@ -6,17 +6,20 @@
6
6
  * surfaces immediately instead of silently rendering with an unconfigured
7
7
  * Templates instance).
8
8
  *
9
- * `start()` lazily imports `@c9up/ream/services/router` + `@c9up/rosetta`
10
- * (both declared as `peerDependenciesMeta.optional`), builds the four
11
- * canonical helper bodies (`t` / `csrfField` / `url` / `asset`) closing
12
- * over a single `AsyncLocalStorage<InkerHttpContext>`, constructs the
13
- * `Templates` instance + `InkerRenderer`, and primes `services/main`'s
14
- * Proxy via `setInker`.
9
+ * `start()` resolves the host router from the container (Ream registers it as
10
+ * `'router'`) + the `@c9up/rosetta` translator (declared as
11
+ * `peerDependenciesMeta.optional`), builds the four canonical helper bodies
12
+ * (`t` / `csrfField` / `url` / `asset`) closing over a single
13
+ * `AsyncLocalStorage<InkerHttpContext>`, constructs the `Templates` instance +
14
+ * `InkerRenderer`, and primes `services/main`'s Proxy via `setInker`.
15
+ *
16
+ * Reading the router from the container — not importing
17
+ * `@c9up/ream/services/router` — keeps inker runtime-agnostic: a non-Ream host
18
+ * never registers `'router'`, so Phase 1 silently degrades (warn-once).
15
19
  *
16
20
  * Mirrors the StationProvider / AuroraProvider shape — duck-typed
17
21
  * container / config / app-context interfaces, `loadBearingCast<T>` as the
18
- * single sanctioned cross-package narrowing site, `isModuleNotFound`
19
- * silent-degradation in Phase 1, `#started` idempotency.
22
+ * single sanctioned cross-package narrowing site, `#started` idempotency.
20
23
  */
21
24
  import { AsyncLocalStorage } from "node:async_hooks";
22
25
  import type { HelperFn } from "./helpers.js";
@@ -24,7 +27,8 @@ import type { InkerHttpContext } from "./InkerRenderer.js";
24
27
  import { type CacheMode } from "./Templates.js";
25
28
  interface InkerContainer {
26
29
  singleton<T>(token: unknown, factory: () => T): void;
27
- resolve<T = unknown>(token: unknown): T;
30
+ resolve<T = unknown>(token: unknown): Promise<T>;
31
+ has(token: unknown): boolean;
28
32
  }
29
33
  interface InkerConfigStore {
30
34
  get<T = unknown>(key: string): T | undefined;
@@ -44,7 +48,11 @@ export interface InkerProviderConfig {
44
48
  additionalHelpers?: Readonly<Record<string, HelperFn>>;
45
49
  }
46
50
  interface ReamRouter {
51
+ /** AdonisJS v7 name (`makeUrl` is the deprecated alias). */
52
+ urlFor(name: string, params?: Record<string, string>): string;
47
53
  makeUrl(name: string, params?: Record<string, string>): string;
54
+ /** Signed URL (HMAC via APP_KEY). AdonisJS v7 exposes it as `signedUrlFor`. */
55
+ makeSignedUrl(name: string, params?: Record<string, string>, options?: Record<string, unknown>): string;
48
56
  }
49
57
  interface RosettaTranslator {
50
58
  t(key: string, params?: Record<string, string | number | boolean | Date | null | undefined>, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"InkerProvider.d.ts","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InkerProvider.d.ts","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,20 @@
6
6
  * surfaces immediately instead of silently rendering with an unconfigured
7
7
  * Templates instance).
8
8
  *
9
- * `start()` lazily imports `@c9up/ream/services/router` + `@c9up/rosetta`
10
- * (both declared as `peerDependenciesMeta.optional`), builds the four
11
- * canonical helper bodies (`t` / `csrfField` / `url` / `asset`) closing
12
- * over a single `AsyncLocalStorage<InkerHttpContext>`, constructs the
13
- * `Templates` instance + `InkerRenderer`, and primes `services/main`'s
14
- * Proxy via `setInker`.
9
+ * `start()` resolves the host router from the container (Ream registers it as
10
+ * `'router'`) + the `@c9up/rosetta` translator (declared as
11
+ * `peerDependenciesMeta.optional`), builds the four canonical helper bodies
12
+ * (`t` / `csrfField` / `url` / `asset`) closing over a single
13
+ * `AsyncLocalStorage<InkerHttpContext>`, constructs the `Templates` instance +
14
+ * `InkerRenderer`, and primes `services/main`'s Proxy via `setInker`.
15
+ *
16
+ * Reading the router from the container — not importing
17
+ * `@c9up/ream/services/router` — keeps inker runtime-agnostic: a non-Ream host
18
+ * never registers `'router'`, so Phase 1 silently degrades (warn-once).
15
19
  *
16
20
  * Mirrors the StationProvider / AuroraProvider shape — duck-typed
17
21
  * container / config / app-context interfaces, `loadBearingCast<T>` as the
18
- * single sanctioned cross-package narrowing site, `isModuleNotFound`
19
- * silent-degradation in Phase 1, `#started` idempotency.
22
+ * single sanctioned cross-package narrowing site, `#started` idempotency.
20
23
  */
21
24
  import { AsyncLocalStorage } from "node:async_hooks";
22
25
  import * as fs from "node:fs";
@@ -68,35 +71,25 @@ export default class InkerProvider {
68
71
  async start() {
69
72
  if (this.#started)
70
73
  return;
71
- // Phase 1 — lazy peer imports. Both `@c9up/ream/services/router` and
72
- // `@c9up/rosetta` are optional peers. Module-not-found is the
73
- // degraded-host signal: silently return + warn-once. Anything else
74
- // re-throws.
75
- let router;
76
- let rosetta;
77
- try {
78
- // Variable specifier so tsc does not statically resolve the optional
79
- // `@c9up/ream` peer at build time (keeps inker standalone-buildable).
80
- const routerSpecifier = "@c9up/ream/services/router";
81
- const routerMod = await import(routerSpecifier);
82
- router = routerMod.default;
83
- const rosettaContainer = this.#resolveRosetta();
84
- if (rosettaContainer === undefined) {
85
- this.#warnPeerMissingOnce("`@c9up/rosetta` is available as a module but no Rosetta instance is registered in the container. The `t()` helper will throw at first render.");
86
- return;
87
- }
88
- rosetta = rosettaContainer;
74
+ // Phase 1 — resolve the host router + the Rosetta translator from the
75
+ // container. Reading both from the container — not importing
76
+ // `@c9up/ream/services/router` keeps inker runtime-agnostic: a non-Ream
77
+ // host never registers `'router'`. Either peer missing → warn-once + skip
78
+ // (rendering stays disabled until both are present). The container yields
79
+ // the real Router instance; factory-thrown errors propagate.
80
+ if (!this.app.container.has("router")) {
81
+ this.#warnPeerMissingOnce("No `'router'` registered in the container (host is not Ream, or the router is not wired). Inker rendering is disabled until a Ream router is present.");
82
+ return;
89
83
  }
90
- catch (err) {
91
- if (isModuleNotFound(err)) {
92
- this.#warnPeerMissingOnce("`@c9up/ream/services/router` or `@c9up/rosetta` is not installed. Inker rendering is disabled until both peers are present.");
93
- return;
94
- }
95
- throw err;
84
+ const router = await this.app.container.resolve("router");
85
+ const rosetta = await this.#resolveRosetta();
86
+ if (rosetta === undefined) {
87
+ this.#warnPeerMissingOnce("`@c9up/rosetta` is not registered in the container. Inker rendering is disabled until a Rosetta instance is present.");
88
+ return;
96
89
  }
97
90
  // Phase 2 — resolve config.
98
91
  const config = this.app.config.get("inker") ?? {};
99
- const appRoot = this.#readAppRoot();
92
+ const appRoot = await this.#readAppRoot();
100
93
  const templatesRoot = resolveTemplatesRoot(config.templatesRoot, appRoot);
101
94
  const cacheMode = resolveCacheMode(config.cacheMode);
102
95
  const assetManifest = loadAssetManifest(config.assetManifest, appRoot);
@@ -139,9 +132,9 @@ export default class InkerProvider {
139
132
  this.#peerWarnEmitted = true;
140
133
  console.warn(`[inker] ${detail} See https://ream.dev/modules/inker.`);
141
134
  }
142
- #readAppRoot() {
135
+ async #readAppRoot() {
143
136
  try {
144
- const raw = this.app.container.resolve("appRoot");
137
+ const raw = await this.app.container.resolve("appRoot");
145
138
  if (raw instanceof URL)
146
139
  return fileURLToPath(raw);
147
140
  if (typeof raw === "string")
@@ -160,7 +153,7 @@ export default class InkerProvider {
160
153
  }
161
154
  return process.cwd();
162
155
  }
163
- #resolveRosetta() {
156
+ async #resolveRosetta() {
164
157
  // Try container resolution under both the canonical "rosetta" alias
165
158
  // and the class binding. RosettaProvider binds both (per
166
159
  // `packages/rosetta/src/RosettaProvider.ts`).
@@ -173,7 +166,7 @@ export default class InkerProvider {
173
166
  const tokens = ["rosetta", "Rosetta"];
174
167
  for (const token of tokens) {
175
168
  try {
176
- const candidate = this.app.container.resolve(token);
169
+ const candidate = await this.app.container.resolve(token);
177
170
  if (isRosettaShape(candidate)) {
178
171
  return candidate;
179
172
  }
@@ -375,19 +368,21 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
375
368
  : loadBearingCast(params);
376
369
  return rosetta.t(key, rosettaParams, { locale: ctx.locale });
377
370
  });
371
+ // D6 (Shield parity): csrfField/csrfMeta DEGRADE — when there is no token
372
+ // (no request context, or CSRF not enabled), return an empty SafeString
373
+ // instead of throwing, so templates can write `{{ csrfField() }}`
374
+ // unconditionally (no `@if(csrfEnabled)` guard).
378
375
  helpers.set("csrfField", (..._args) => {
379
- const ctx = requireCtx("csrfField");
380
- const token = ctx.store.get("csrfToken");
376
+ const token = als.getStore()?.store.get("csrfToken");
381
377
  if (typeof token !== "string" || token.length === 0) {
382
- throw new Error("[inker] csrfField() requires the @c9up/blackhole middleware with csrf enabled (csrfToken not found in ctx.store).");
378
+ return new SafeString("");
383
379
  }
384
380
  return new SafeString(`<input type="hidden" name="_csrf" value="${escapeAttr(token)}">`);
385
381
  });
386
382
  helpers.set("csrfMeta", (..._args) => {
387
- const ctx = requireCtx("csrfMeta");
388
- const token = ctx.store.get("csrfToken");
383
+ const token = als.getStore()?.store.get("csrfToken");
389
384
  if (typeof token !== "string" || token.length === 0) {
390
- throw new Error("[inker] csrfMeta() requires the @c9up/blackhole middleware with csrf enabled (csrfToken not found in ctx.store).");
385
+ return new SafeString("");
391
386
  }
392
387
  return new SafeString(`<meta name="csrf-token" content="${escapeAttr(token)}">`);
393
388
  });
@@ -398,13 +393,24 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
398
393
  // `@nonce`), so an absent nonce yields an empty attribute, not an error.
399
394
  return typeof nonce === "string" ? nonce : "";
400
395
  });
401
- helpers.set("url", (...args) => {
396
+ // AdonisJS v7 URL builder parity: `urlFor` (v7; `makeUrl` is deprecated) and
397
+ // `signedUrlFor` (HMAC-signed). `url` is kept as a legacy alias of `urlFor`.
398
+ const buildUrl = (label, args) => {
402
399
  const [name, params] = args;
403
400
  if (typeof name !== "string") {
404
- throw new Error(`[inker] url() requires a string route name; got ${typeof name}.`);
401
+ throw new Error(`[inker] ${label}() requires a string route name; got ${typeof name}.`);
405
402
  }
406
- const coerced = coerceUrlParams(params);
407
- return router.makeUrl(name, coerced);
403
+ return router.urlFor(name, coerceUrlParams(params));
404
+ };
405
+ helpers.set("url", (...args) => buildUrl("url", args));
406
+ helpers.set("urlFor", (...args) => buildUrl("urlFor", args));
407
+ helpers.set("signedUrlFor", (...args) => {
408
+ const [name, params, options] = args;
409
+ if (typeof name !== "string") {
410
+ throw new Error(`[inker] signedUrlFor() requires a string route name; got ${typeof name}.`);
411
+ }
412
+ const opts = isPlainRecord(options) ? options : undefined;
413
+ return router.makeSignedUrl(name, coerceUrlParams(params), opts);
408
414
  });
409
415
  helpers.set("asset", (...args) => {
410
416
  const [name] = args;
@@ -416,18 +422,14 @@ export function buildCanonicalHelpers(als, rosetta, router, assetManifest) {
416
422
  return helpers;
417
423
  }
418
424
  // ─── Internal predicates / casts ──────────────────────────────────
425
+ function isPlainRecord(value) {
426
+ return value !== null && typeof value === "object" && !Array.isArray(value);
427
+ }
419
428
  function isRosettaShape(value) {
420
429
  return (value !== null &&
421
430
  typeof value === "object" &&
422
431
  typeof Reflect.get(value, "t") === "function");
423
432
  }
424
- /** Node's ERR_MODULE_NOT_FOUND surfaces on an Error subclass with `code`. */
425
- function isModuleNotFound(err) {
426
- if (err === null || typeof err !== "object" || !("code" in err))
427
- return false;
428
- const { code } = err;
429
- return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
430
- }
431
433
  /**
432
434
  * Ream's container throws a `ReamError` with `code === "CONTAINER_NOT_FOUND"`
433
435
  * when a token is unbound. Duck-typed here so `@c9up/ream` stays an optional
@@ -1 +1 @@
1
- {"version":3,"file":"InkerProvider.js","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgD3D,wEAAwE;AAExE,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB;IACtC,wBAAwB,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,oEAAoE;AAEpE,MAAM,CAAC,OAAO,OAAO,aAAa;IAeX;IAdtB,IAAI,CAAkD;IACtD,SAAS,CAA4B;IACrC,QAAQ,GAAG,KAAK,CAAC;IACjB,uEAAuE;IACvE,uEAAuE;IACvE,yEAAyE;IACzE,iCAAiC;IACxB,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,6EAA6E;IAC7E,4EAA4E;IAC5E,8CAA8C;IAC9C,gBAAgB,GAAG,KAAK,CAAC;IACzB,sBAAsB,GAAG,KAAK,CAAC;IAE/B,YAAsB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAE9C,QAAQ;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,CAChD,IAAI,CAAC,mBAAmB,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAgB,aAAa,CAAC,CACxD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACT,mEAAmE;QACnE,iEAAiE;QACjE,gDAAgD;IACjD,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,qEAAqE;QACrE,8DAA8D;QAC9D,mEAAmE;QACnE,aAAa;QACb,IAAI,MAAkB,CAAC;QACvB,IAAI,OAA0B,CAAC;QAC/B,IAAI,CAAC;YACJ,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,eAAe,GAAG,4BAA4B,CAAC;YACrD,MAAM,SAAS,GAA4B,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACzE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,oBAAoB,CACxB,+IAA+I,CAC/I,CAAC;gBACF,OAAO;YACR,CAAC;YACD,OAAO,GAAG,gBAAgB,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,oBAAoB,CACxB,6HAA6H,CAC7H,CAAC;gBACF,OAAO;YACR,CAAC;YACD,MAAM,GAAG,CAAC;QACX,CAAC;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEvE,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAoB,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,MAAM,SAAS,GAAG,qBAAqB,CACtC,GAAG,EACH,OAAO,EACP,MAAM,EACN,aAAa,CACb,CAAC;QAEF,wEAAwE;QACxE,MAAM,MAAM,GAAG,YAAY,CAC1B,SAAS,EACT,MAAM,CAAC,iBAAiB,EACxB,IAAI,CAAC,oBAAoB,CACzB,CAAC;QAEF,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC/B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,OAAO,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,KAAK,CAAC,QAAQ;QACb,sEAAsE;QACtE,mEAAmE;QACnE,0EAA0E;QAC1E,sEAAsE;QACtE,oEAAoE;QACpE,oEAAoE;IACrE,CAAC;IAED,mBAAmB;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACd,mEAAmE;gBAClE,sEAAsE,CACvE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,oBAAoB,CAAC,MAAc;QAClC,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACX,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAU,SAAS,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,GAAG;gBAAE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,kEAAkE;YAClE,8DAA8D;YAC9D,gBAAgB;YAChB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,IAAI,CACX,uQAAuQ,CACvQ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,eAAe;QACd,oEAAoE;QACpE,yDAAyD;QACzD,8CAA8C;QAC9C,EAAE;QACF,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,gEAAgE;QAChE,MAAM,MAAM,GAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAU,KAAK,CAAC,CAAC;gBAC7D,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,mBAAmB,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACvC,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AAED,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CACnC,QAA4B,EAC5B,OAAe;IAEf,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAwC;IAExC,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,sFAAsF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CACjH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAChC,QAAsD,EACtD,OAAe;IAEf,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAClE,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACJ,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,kEAAkE;QAClE,qEAAqE;QACrE,sEAAsE;QACtE,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,IAAI,GACT,GAAG,YAAY,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CACX,4CAA4C,YAAY,KAAK,IAAI,+EAA+E,CAChJ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC3B,SAAwC,EACxC,UAA0D;AAC1D,0EAA0E;AAC1E,wEAAwE;AACxE,gEAAgE;AAChE,uEAAuE;AACvE,6DAA6D;AAC7D,cAA2B,wBAAwB;IAEnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,6BAA6B,IAAI,4BAA4B,OAAO,EAAE,GAAG,CACzE,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CACX,6BAA6B,IAAI,8EAA8E,CAC/G,CAAC;QACH,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,GAAY;IAEZ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,oDAAoD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAChG,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,0EAA0E;IAC1E,wEAAwE;IACxE,mBAAmB;IACnB,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,4GAA4G,CAC5G,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,qCAAqC,CACvG,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,8DAA8D,CACvF,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,yDAAyD;QACzD,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACd,wBAAwB,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,uCAAuC,CAClI,CAAC;QACH,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACvC,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,UAAU;IACV,OAAO,KAAK;SACV,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACpC,GAAwC,EACxC,OAA0B,EAC1B,MAAkB,EAClB,aAA2D;IAE3D,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAoB,EAAE;QAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACd,WAAW,UAAU,yEAAyE,CAC9F,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QACxD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,GAAG,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,0DAA0D;QAC1D,kEAAkE;QAClE,kEAAkE;QAClE,MAAM,aAAa,GAClB,MAAM,KAAK,SAAS;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAEd,MAAM,CAAC,CAAC;QACb,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAyB,EAAc,EAAE;QACrE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACd,mHAAmH,CACnH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CACpB,4CAA4C,UAAU,CAAC,KAAK,CAAC,IAAI,CACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,KAAyB,EAAc,EAAE;QACpE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACd,kHAAkH,CAClH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,UAAU,CACpB,oCAAoC,UAAU,CAAC,KAAK,CAAC,IAAI,CACzD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,KAAyB,EAAU,EAAE;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,sEAAsE;QACtE,yEAAyE;QACzE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QAC1D,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,mDAAmD,OAAO,IAAI,GAAG,CACjE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAwB,EAAU,EAAE;QAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,qDAAqD,OAAO,IAAI,GAAG,CACnE,CAAC;QACH,CAAC;QACD,OAAO,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,qEAAqE;AAErE,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,CACN,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,UAAU,CAC7C,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,gBAAgB,CAAC,GAAY;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,OAAO,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACxC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,OAAO,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAI,KAAc;IACzC,OAAO,KAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"InkerProvider.js","sourceRoot":"","sources":["../src/InkerProvider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type InkerErrorCode = "E_INKER_TEMPLATE_NOT_FOUND" | "E_INKER_PARSE_ERROR" | "E_INKER_UNKNOWN_IDENTIFIER" | "E_INKER_INVALID_PATH" | "E_INKER_UNCLOSED_INTERPOLATION" | "E_INKER_UNCLOSED_BLOCK_TAG" | "E_INKER_UNKNOWN_DIRECTIVE" | "E_INKER_INVALID_LAYOUT_POSITION" | "E_INKER_DUPLICATE_LAYOUT" | "E_INKER_NESTED_LAYOUT_UNSUPPORTED" | "E_INKER_LAYOUT_IN_PARTIAL" | "E_INKER_CIRCULAR_INCLUDE" | "E_INKER_MISSING_SLOT" | "E_INKER_UNKNOWN_SLOT" | "E_INKER_DISK_REQUIRED" | "E_INKER_UNCLOSED_BLOCK" | "E_INKER_UNMATCHED_BLOCK_END" | "E_INKER_MISMATCHED_BLOCK_END" | "E_INKER_INVALID_EXPRESSION" | "E_INKER_INVALID_ITERABLE" | "E_INKER_UNKNOWN_HELPER" | "E_INKER_HELPER_THROW" | "E_INKER_NAPI_REQUIRED";
1
+ export type InkerErrorCode = "E_INKER_TEMPLATE_NOT_FOUND" | "E_INKER_PARSE_ERROR" | "E_INKER_UNKNOWN_IDENTIFIER" | "E_INKER_INVALID_PATH" | "E_INKER_UNCLOSED_INTERPOLATION" | "E_INKER_UNCLOSED_BLOCK_TAG" | "E_INKER_UNKNOWN_DIRECTIVE" | "E_INKER_INVALID_LAYOUT_POSITION" | "E_INKER_DUPLICATE_LAYOUT" | "E_INKER_NESTED_LAYOUT_UNSUPPORTED" | "E_INKER_LAYOUT_IN_PARTIAL" | "E_INKER_CIRCULAR_INCLUDE" | "E_INKER_MISSING_SLOT" | "E_INKER_UNKNOWN_SLOT" | "E_INKER_DISK_REQUIRED" | "E_INKER_DISK_COLLISION" | "E_INKER_UNCLOSED_BLOCK" | "E_INKER_UNMATCHED_BLOCK_END" | "E_INKER_MISMATCHED_BLOCK_END" | "E_INKER_INVALID_EXPRESSION" | "E_INKER_INVALID_ITERABLE" | "E_INKER_UNKNOWN_HELPER" | "E_INKER_HELPER_THROW" | "E_INKER_UNKNOWN_TAG" | "E_INKER_NAPI_REQUIRED";
2
2
  export interface InkerErrorContext {
3
3
  readonly templatePath?: string;
4
4
  readonly templateName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderError.d.ts","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,6BAA6B,GAC7B,8BAA8B,GAC9B,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,uBAAuB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAG7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO9B"}
1
+ {"version":3,"file":"InkerRenderError.d.ts","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,gCAAgC,GAChC,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,wBAAwB,GACxB,6BAA6B,GAC7B,8BAA8B,GAC9B,4BAA4B,GAC5B,0BAA0B,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAG7C,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderError.js","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACjC,IAAI,CAAiB;IACrB,OAAO,CAA8B;IAE9C,YACC,IAAoB,EACpB,OAAe,EACf,OAA2B,EAC3B,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CACD"}
1
+ {"version":3,"file":"InkerRenderError.js","sourceRoot":"","sources":["../src/InkerRenderError.ts"],"names":[],"mappings":"AAmCA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACjC,IAAI,CAAiB;IACrB,OAAO,CAA8B;IAE9C,YACC,IAAoB,EACpB,OAAe,EACf,OAA2B,EAC3B,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CACD"}
@@ -22,6 +22,15 @@ export declare class InkerRenderer {
22
22
  constructor(templates: Templates, als: AsyncLocalStorage<InkerHttpContext>);
23
23
  render(ctx: InkerHttpContext, name: string, data: Readonly<Record<string, unknown>>): Promise<void>;
24
24
  renderToString(ctx: InkerHttpContext, name: string, data: Readonly<Record<string, unknown>>): Promise<string>;
25
+ /**
26
+ * Mount a named templates disk on the shared engine (AdonisJS/Edge
27
+ * `edge.mount(name, dir)` parity). A package that ships its own templates
28
+ * mounts its directory under a namespace, then renders `name::template`.
29
+ * Delegates to the underlying `Templates` engine.
30
+ */
31
+ mount(diskName: string, dir: string): void;
32
+ /** Unmount a named disk (`edge.unmount(name)` parity). Delegates to Templates. */
33
+ unmount(diskName: string): void;
25
34
  /** @internal Test seam — access the underlying Templates for cache control. */
26
35
  get _templates(): Templates;
27
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderer.d.ts","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa;;gBAIb,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;IAKpE,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CACnB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB,+EAA+E;IAC/E,IAAI,UAAU,IAAI,SAAS,CAE1B;CACD"}
1
+ {"version":3,"file":"InkerRenderer.d.ts","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa;;gBAIb,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;IAKpE,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CACnB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,+EAA+E;IAC/E,IAAI,UAAU,IAAI,SAAS,CAE1B;CACD"}
@@ -13,6 +13,19 @@ export class InkerRenderer {
13
13
  async renderToString(ctx, name, data) {
14
14
  return this.#als.run(ctx, () => this.#templates.render(name, data));
15
15
  }
16
+ /**
17
+ * Mount a named templates disk on the shared engine (AdonisJS/Edge
18
+ * `edge.mount(name, dir)` parity). A package that ships its own templates
19
+ * mounts its directory under a namespace, then renders `name::template`.
20
+ * Delegates to the underlying `Templates` engine.
21
+ */
22
+ mount(diskName, dir) {
23
+ this.#templates.mount(diskName, dir);
24
+ }
25
+ /** Unmount a named disk (`edge.unmount(name)` parity). Delegates to Templates. */
26
+ unmount(diskName) {
27
+ this.#templates.unmount(diskName);
28
+ }
16
29
  /** @internal Test seam — access the underlying Templates for cache control. */
17
30
  get _templates() {
18
31
  return this.#templates;
@@ -1 +1 @@
1
- {"version":3,"file":"InkerRenderer.js","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,aAAa;IAChB,UAAU,CAAY;IACtB,IAAI,CAAsC;IAEnD,YAAY,SAAoB,EAAE,GAAwC;QACzE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,+EAA+E;IAC/E,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD"}
1
+ {"version":3,"file":"InkerRenderer.js","sourceRoot":"","sources":["../src/InkerRenderer.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,aAAa;IAChB,UAAU,CAAY;IACtB,IAAI,CAAsC;IAEnD,YAAY,SAAoB,EAAE,GAAwC;QACzE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAClC,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAAqB,EACrB,IAAY,EACZ,IAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAgB,EAAE,GAAW;QAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,kFAAkF;IAClF,OAAO,CAAC,QAAgB;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,+EAA+E;IAC/E,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;CACD"}
@@ -1,4 +1,5 @@
1
1
  import type { HelperFn } from "./helpers.js";
2
+ import { type InkerTag } from "./renderNode.js";
2
3
  export type CacheMode = "auto" | "mtime" | "never";
3
4
  export interface TemplatesOptions {
4
5
  root: string;
@@ -8,6 +9,49 @@ export interface TemplatesOptions {
8
9
  export declare class Templates {
9
10
  #private;
10
11
  constructor(options: TemplatesOptions);
12
+ /**
13
+ * Mount a named templates "disk" (AdonisJS/Edge `edge.mount(name, dir)`
14
+ * parity). Templates in a mounted disk are addressed as `name::template`
15
+ * (including from `@layout()` / `@include()` / `@component()`
16
+ * references); a BARE `template` name always resolves against the default
17
+ * root, exactly like Edge. `dir` is canonicalised (absolute + realpath) the
18
+ * same way the constructor root is, so each disk carries its own containment
19
+ * boundary.
20
+ *
21
+ * Re-mounting a name to the SAME canonicalised root is an idempotent no-op;
22
+ * re-mounting to a DIFFERENT root throws `E_INKER_DISK_COLLISION` (call
23
+ * `unmount` first for an intentional replacement). This is a NAMED deviation
24
+ * from Edge's silent overwrite: this engine is shared process-wide and
25
+ * consumed by multiple integration packages, so an accidental disk-name
26
+ * clash must fail loud rather than silently clobber another package's
27
+ * containment boundary.
28
+ */
29
+ mount(diskName: string, dir: string): void;
30
+ /**
31
+ * Unmount a named disk (AdonisJS/Edge `edge.unmount(name)` parity). No-op if
32
+ * the disk was never mounted. Does NOT clear the AST cache — cache keys are
33
+ * `(root, absPath)` pairs, so a later re-mount of a different directory
34
+ * resolves under a different root and cannot serve a stale entry, even when
35
+ * two directories canonicalise to overlapping absolute paths.
36
+ */
37
+ unmount(diskName: string): void;
38
+ /**
39
+ * Register a custom tag (AdonisJS/Edge `edge.registerTag` parity). The `tag`
40
+ * definition — `{ tagName, block, seekable, compile(parser, buffer, token) }` —
41
+ * makes the parser recognise `@<tagName>(jsArg)` in every template and emit a
42
+ * `CustomTag` node. At render time inker calls `compile`, whose `buffer`
43
+ * writes the output (`writeRaw` for verbatim markup, `outputExpression` to
44
+ * evaluate a template expression) and whose `token.properties.jsArg` is the
45
+ * verbatim argument source, e.g. an `@svg('icon')` or `@time()` tag.
46
+ *
47
+ * INKER DEVIATION (named): Edge runs `compile` once at compilation (it emits
48
+ * JS); inker parses in Rust and renders by walking the JSON AST, so `compile`
49
+ * runs at RENDER time. Only inline tags (`block: false`) are supported for now.
50
+ *
51
+ * Because tag names change how a template PARSES, registering (or overwriting)
52
+ * a tag clears the AST cache — call `registerTag` during boot, before rendering.
53
+ */
54
+ registerTag(tag: InkerTag): void;
11
55
  render(name: string, data: Readonly<Record<string, unknown>>): Promise<string>;
12
56
  renderString(source: string, data: Readonly<Record<string, unknown>>): string;
13
57
  clearCache(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Templates.d.ts","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAiB7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACxC;AAsiBD,qBAAa,SAAS;;gBAaT,OAAO,EAAE,gBAAgB;IA2B/B,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IAsElB,YAAY,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,MAAM;IA6HT,UAAU,IAAI,IAAI;CAggBlB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Templates.d.ts","sourceRoot":"","sources":["../src/Templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAY7C,OAAO,EAGN,KAAK,QAAQ,EAEb,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACxC;AAomBD,qBAAa,SAAS;;gBAyBT,OAAO,EAAE,gBAAgB;IA2BrC;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAa1C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAqE1B,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC;IA6ElB,YAAY,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,MAAM;IAgET,UAAU,IAAI,IAAI;CAmhBlB;AAED,eAAe,SAAS,CAAC"}