mancha 0.16.6 → 0.17.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.
Files changed (72) hide show
  1. package/README.md +22 -19
  2. package/dist/browser.d.ts +40 -3
  3. package/dist/browser.js +1 -1
  4. package/dist/browser.js.map +1 -1
  5. package/dist/cli.js +7 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/dome.d.ts +1 -2
  8. package/dist/dome.js +2 -0
  9. package/dist/dome.js.map +1 -1
  10. package/dist/expressions/ast.d.ts +79 -0
  11. package/dist/expressions/ast.js +6 -0
  12. package/dist/expressions/ast.js.map +1 -0
  13. package/dist/expressions/ast.test.d.ts +1 -0
  14. package/dist/expressions/ast.test.js +122 -0
  15. package/dist/expressions/ast.test.js.map +1 -0
  16. package/dist/expressions/ast_factory.d.ts +37 -0
  17. package/dist/expressions/ast_factory.js +119 -0
  18. package/dist/expressions/ast_factory.js.map +1 -0
  19. package/dist/expressions/ast_factory.test.d.ts +1 -0
  20. package/dist/expressions/ast_factory.test.js +88 -0
  21. package/dist/expressions/ast_factory.test.js.map +1 -0
  22. package/dist/expressions/constants.d.ts +6 -0
  23. package/dist/expressions/constants.js +72 -0
  24. package/dist/expressions/constants.js.map +1 -0
  25. package/dist/expressions/constants.test.d.ts +1 -0
  26. package/dist/expressions/constants.test.js +84 -0
  27. package/dist/expressions/constants.test.js.map +1 -0
  28. package/dist/expressions/eval.d.ts +101 -0
  29. package/dist/expressions/eval.js +375 -0
  30. package/dist/expressions/eval.js.map +1 -0
  31. package/dist/expressions/eval.test.d.ts +1 -0
  32. package/dist/expressions/eval.test.js +141 -0
  33. package/dist/expressions/eval.test.js.map +1 -0
  34. package/dist/expressions/expressions.test.d.ts +6 -0
  35. package/dist/expressions/expressions.test.js +7 -0
  36. package/dist/expressions/expressions.test.js.map +1 -0
  37. package/dist/expressions/index.d.ts +6 -0
  38. package/dist/expressions/index.js +7 -0
  39. package/dist/expressions/index.js.map +1 -0
  40. package/dist/expressions/parser.d.ts +32 -0
  41. package/dist/expressions/parser.js +336 -0
  42. package/dist/expressions/parser.js.map +1 -0
  43. package/dist/expressions/parser.test.d.ts +1 -0
  44. package/dist/expressions/parser.test.js +132 -0
  45. package/dist/expressions/parser.test.js.map +1 -0
  46. package/dist/expressions/tokenizer.d.ts +49 -0
  47. package/dist/expressions/tokenizer.js +253 -0
  48. package/dist/expressions/tokenizer.js.map +1 -0
  49. package/dist/expressions/tokenizer.test.d.ts +1 -0
  50. package/dist/expressions/tokenizer.test.js +99 -0
  51. package/dist/expressions/tokenizer.test.js.map +1 -0
  52. package/dist/mancha.d.ts +1 -1
  53. package/dist/mancha.js +1 -1
  54. package/dist/mancha.js.map +1 -1
  55. package/dist/renderer.d.ts +5 -2
  56. package/dist/renderer.js +2 -0
  57. package/dist/renderer.js.map +1 -1
  58. package/dist/safe_browser.d.ts +4 -3
  59. package/dist/safe_browser.js +1 -1
  60. package/dist/safe_browser.js.map +1 -1
  61. package/dist/store.d.ts +51 -11
  62. package/dist/store.js +89 -31
  63. package/dist/store.js.map +1 -1
  64. package/dist/trusted_attributes.d.ts +4 -0
  65. package/dist/trusted_attributes.js +28 -0
  66. package/dist/trusted_attributes.js.map +1 -0
  67. package/dist/type_checker.d.ts +1 -0
  68. package/dist/type_checker.js +92 -30
  69. package/dist/type_checker.js.map +1 -1
  70. package/docs/quickstart.md +36 -0
  71. package/gulpfile.js +5 -1
  72. package/package.json +18 -5
@@ -0,0 +1,28 @@
1
+ export const TRUSTED_ATTRIBS = [
2
+ ":data",
3
+ ":for",
4
+ ":text",
5
+ ":html",
6
+ ":show",
7
+ ":class",
8
+ ":bind",
9
+ ":on:click",
10
+ ":on:click.prevent",
11
+ ":on:input",
12
+ ":on:input.prevent",
13
+ ":on:change",
14
+ ":on:change.prevent",
15
+ ":on:submit",
16
+ ":on:submit.prevent",
17
+ ":attr:src",
18
+ ":attr:href",
19
+ ":attr:title",
20
+ ":prop:checked",
21
+ ":prop:selected",
22
+ ":prop:disabled",
23
+ ];
24
+ const colonToData = (attr) => `data-${attr.slice(1).replace(":", "-")}`;
25
+ export const TRUSTED_DATA_ATTRIBS = TRUSTED_ATTRIBS.map((attr) => colonToData(attr));
26
+ export const ADDITIONAL_DATA_ATTRIBS = ["data-testid"];
27
+ export const SAFE_DATA_ATTRIBS = [...TRUSTED_DATA_ATTRIBS, ...ADDITIONAL_DATA_ATTRIBS];
28
+ //# sourceMappingURL=trusted_attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted_attributes.js","sourceRoot":"","sources":["../src/trusted_attributes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,mBAAmB;IACnB,WAAW;IACX,mBAAmB;IACnB,YAAY;IACZ,oBAAoB;IACpB,YAAY;IACZ,oBAAoB;IACpB,WAAW;IACX,YAAY;IACZ,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,aAAa,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,uBAAuB,CAAC,CAAC"}
@@ -2,5 +2,6 @@ import * as ts from "typescript";
2
2
  export interface TypeCheckOptions {
3
3
  strict: boolean;
4
4
  filePath?: string;
5
+ debug?: boolean;
5
6
  }
6
7
  export declare function typeCheck(html: string, options: TypeCheckOptions): Promise<ts.Diagnostic[]>;
@@ -2,35 +2,44 @@ import * as ts from "typescript";
2
2
  import * as fs from "fs/promises";
3
3
  import * as path from "path";
4
4
  import { JSDOM } from "jsdom";
5
- import * as jexpr from "jexpr";
5
+ import * as jexpr from "./expressions/index.js";
6
6
  import { getAttributeOrDataset } from "./dome.js";
7
+ import { TRUSTED_DATA_ATTRIBS } from "./trusted_attributes.js";
7
8
  async function getDiagnostics(content, options) {
8
9
  // Create temp file in the same directory as the HTML file (or cwd if no filePath)
9
10
  // This allows TypeScript's module resolution to find node_modules properly
10
11
  const baseDir = options.filePath ? path.dirname(path.resolve(options.filePath)) : process.cwd();
11
12
  const tempFilePath = path.join(baseDir, `temp_type_check_${Math.random().toString(36).substring(2, 15)}.ts`);
12
13
  await fs.writeFile(tempFilePath, content);
13
- const compilerOptions = {
14
- noEmit: true,
15
- strict: options.strict,
16
- strictNullChecks: options.strict,
17
- target: ts.ScriptTarget.ES2022,
18
- module: ts.ModuleKind.ESNext,
19
- moduleResolution: ts.ModuleResolutionKind.Bundler,
20
- baseUrl: baseDir,
21
- lib: ["ES2022", "DOM"],
22
- skipLibCheck: true,
23
- skipDefaultLibCheck: false,
24
- allowImportingTsExtensions: true,
25
- resolveJsonModule: true,
26
- allowSyntheticDefaultImports: true,
27
- };
28
- const host = ts.createCompilerHost(compilerOptions);
29
- const program = ts.createProgram([tempFilePath], compilerOptions, host);
30
- const allDiagnostics = ts.getPreEmitDiagnostics(program);
31
- await fs.unlink(tempFilePath);
32
- // Filter out irrelevant diagnostics (keep semantic errors 2000-2999 and strict mode errors 18000-18999)
33
- return allDiagnostics.filter((d) => (d.code >= 2000 && d.code < 3000) || (d.code >= 18000 && d.code < 19000));
14
+ try {
15
+ const compilerOptions = {
16
+ noEmit: true,
17
+ strict: options.strict,
18
+ strictNullChecks: options.strict,
19
+ target: ts.ScriptTarget.ES2022,
20
+ module: ts.ModuleKind.ESNext,
21
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
22
+ baseUrl: baseDir,
23
+ lib: ["lib.es2022.full.d.ts", "lib.dom.d.ts"],
24
+ skipLibCheck: true,
25
+ skipDefaultLibCheck: false,
26
+ allowImportingTsExtensions: true,
27
+ resolveJsonModule: true,
28
+ allowSyntheticDefaultImports: true,
29
+ };
30
+ const host = ts.createCompilerHost(compilerOptions);
31
+ const program = ts.createProgram([tempFilePath], compilerOptions, host);
32
+ const allDiagnostics = ts.getPreEmitDiagnostics(program);
33
+ // Filter diagnostics:
34
+ // 1. Only keep semantic errors (2000-2999) and strict mode errors (18000-18999)
35
+ // 2. Only keep diagnostics from our temp file (ignore errors from imported type definitions)
36
+ const diagnostics = allDiagnostics.filter((d) => ((d.code >= 2000 && d.code < 3000) || (d.code >= 18000 && d.code < 19000)) &&
37
+ d.file?.fileName === tempFilePath);
38
+ return { diagnostics, tempFilePath };
39
+ }
40
+ finally {
41
+ await fs.unlink(tempFilePath);
42
+ }
34
43
  }
35
44
  const AST_FACTORY = new jexpr.EvalAstFactory();
36
45
  function parseWithJexpr(expression) {
@@ -288,7 +297,26 @@ async function processTypesElement(element, parentTypes, options, processedEleme
288
297
  allDiagnostics.push(...jexprDiagnostics);
289
298
  // Type check expressions in this scope
290
299
  const { source, expressionMap } = buildTypeScriptSource(mergedTypes, scope, baseDir);
291
- const rawDiagnostics = await getDiagnostics(source, options);
300
+ if (options.debug) {
301
+ console.log("\n=== Generated TypeScript Source ===");
302
+ console.log(source);
303
+ console.log("\n=== Expression Map (TS offset -> HTML range) ===");
304
+ for (const [offset, entry] of expressionMap.entries()) {
305
+ console.log(` TS offset ${offset}: "${entry.expression}" -> HTML range ${JSON.stringify(entry.range)}`);
306
+ }
307
+ console.log(`\n=== HTML Length: ${html.length} ===\n`);
308
+ }
309
+ const { diagnostics: rawDiagnostics, tempFilePath } = await getDiagnostics(source, options);
310
+ if (options.debug && rawDiagnostics.length > 0) {
311
+ console.log("=== Raw TypeScript Diagnostics ===");
312
+ console.log(` Generated source length: ${source.length}`);
313
+ console.log(` Temp file: ${tempFilePath}`);
314
+ for (const diag of rawDiagnostics) {
315
+ const msg = ts.flattenDiagnosticMessageText(diag.messageText, "\n");
316
+ console.log(` start=${diag.start}, length=${diag.length}, code=${diag.code}`);
317
+ console.log(` message: ${msg}`);
318
+ }
319
+ }
292
320
  // Remap diagnostics to original source locations
293
321
  for (const diag of rawDiagnostics) {
294
322
  if (diag.start === undefined) {
@@ -304,11 +332,19 @@ async function processTypesElement(element, parentTypes, options, processedEleme
304
332
  }
305
333
  }
306
334
  if (bestMatch && bestMatch.entry.range) {
307
- const { range } = bestMatch.entry; // HTML range of the full expression
308
- const tsOffsetInGeneratedCode = diag.start - bestMatch.offset; // Offset of the error within the generated `(expression);`
309
- // Adjust the HTML start and length based on the offset within the generated code
335
+ const { range } = bestMatch.entry;
336
+ const tsOffsetInGeneratedCode = diag.start - bestMatch.offset;
310
337
  const newStart = range.start + tsOffsetInGeneratedCode;
311
- const newLength = diag.length; // The length from TS diagnostic is usually correct for the error part
338
+ const newLength = diag.length;
339
+ if (options.debug) {
340
+ const msg = ts.flattenDiagnosticMessageText(diag.messageText, "\n");
341
+ console.log(`=== Remapping diagnostic ===`);
342
+ console.log(` TS start=${diag.start}, matched offset=${bestMatch.offset}`);
343
+ console.log(` Expression: "${bestMatch.entry.expression}"`);
344
+ console.log(` HTML range: ${JSON.stringify(range)}`);
345
+ console.log(` newStart=${newStart}, newLength=${newLength}, in bounds: ${newStart < html.length}`);
346
+ console.log(` Message: ${msg}`);
347
+ }
312
348
  allDiagnostics.push({
313
349
  ...diag,
314
350
  file: htmlSourceFile,
@@ -317,6 +353,12 @@ async function processTypesElement(element, parentTypes, options, processedEleme
317
353
  });
318
354
  }
319
355
  else {
356
+ if (options.debug) {
357
+ const msg = ts.flattenDiagnosticMessageText(diag.messageText, "\n");
358
+ console.log(`=== Unmapped diagnostic ===`);
359
+ console.log(` TS start=${diag.start}, length=${diag.length}`);
360
+ console.log(` Message: ${msg}`);
361
+ }
320
362
  allDiagnostics.push(diag);
321
363
  }
322
364
  }
@@ -348,6 +390,7 @@ async function processTypesElement(element, parentTypes, options, processedEleme
348
390
  return allDiagnostics;
349
391
  }
350
392
  // Find nested :types elements that are direct descendants (not grandchildren through other :types)
393
+ const TRUSTED_DATA_ATTRIBUTE_SET = new Set(TRUSTED_DATA_ATTRIBS.map((attr) => attr.toLowerCase()));
351
394
  function findDirectNestedTypesElements(element) {
352
395
  const result = [];
353
396
  const walker = element.ownerDocument.createTreeWalker(element, 1); // 1 = SHOW_ELEMENT
@@ -374,6 +417,19 @@ function findDirectNestedTypesElements(element) {
374
417
  }
375
418
  return result;
376
419
  }
420
+ function isExpressionAttribute(attrName) {
421
+ const normalized = attrName.toLowerCase();
422
+ if (normalized === ":types" || normalized === "data-types") {
423
+ return false;
424
+ }
425
+ if (normalized.startsWith(":")) {
426
+ return true;
427
+ }
428
+ if (!normalized.startsWith("data-")) {
429
+ return false;
430
+ }
431
+ return TRUSTED_DATA_ATTRIBUTE_SET.has(normalized);
432
+ }
377
433
  // Get expressions excluding those in nested :types elements
378
434
  function getExpressionsExcludingNestedTypes(root, dom, html) {
379
435
  const scope = { expressions: [], forLoops: [] };
@@ -418,9 +474,7 @@ function getExpressionsExcludingNestedTypes(root, dom, html) {
418
474
  else {
419
475
  // Process attributes
420
476
  for (const attr of Array.from(element.attributes)) {
421
- if ((attr.name.startsWith(":") || attr.name.startsWith("data-")) &&
422
- attr.name !== ":types" &&
423
- attr.name !== "data-types") {
477
+ if (isExpressionAttribute(attr.name)) {
424
478
  currentScope.expressions.push({
425
479
  expression: attr.value,
426
480
  source: {
@@ -541,6 +595,14 @@ export async function typeCheck(html, options) {
541
595
  const diagnostics = await processTypesElement(node, new Map(), options, processedElements, dom, html, htmlSourceFile);
542
596
  allDiagnostics.push(...diagnostics);
543
597
  }
598
+ const documentRoot = dom.window.document.documentElement ??
599
+ dom.window.document.body ??
600
+ dom.window.document.firstElementChild;
601
+ if (documentRoot) {
602
+ const globalScope = getExpressionsExcludingNestedTypes(documentRoot, dom, html);
603
+ const globalJexprDiagnostics = validateExpressionsWithJexpr(globalScope, htmlSourceFile);
604
+ allDiagnostics.push(...globalJexprDiagnostics);
605
+ }
544
606
  return allDiagnostics;
545
607
  }
546
608
  //# sourceMappingURL=type_checker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type_checker.js","sourceRoot":"","sources":["../src/type_checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type_checker.js","sourceRoot":"","sources":["../src/type_checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAa/D,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,OAAyB;IAEzB,kFAAkF;IAClF,2EAA2E;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,OAAO,EACP,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CACpE,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,eAAe,GAAuB;YAC1C,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,gBAAgB,EAAE,OAAO,CAAC,MAAM;YAChC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;YAC5B,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO;YACjD,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,CAAC,sBAAsB,EAAE,cAAc,CAAC;YAC7C,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,KAAK;YAC1B,0BAA0B,EAAE,IAAI;YAChC,iBAAiB,EAAE,IAAI;YACvB,4BAA4B,EAAE,IAAI;SACnC,CAAC;QAEF,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEzD,sBAAsB;QACtB,gFAAgF;QAChF,6FAA6F;QAC7F,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,YAAY,CACpC,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAO/C,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,cAAc,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA+BD,6EAA6E;AAC7E,+CAA+C;AAC/C,SAAS,mBAAmB,CAAC,UAAkB,EAAE,OAAgB;IAC/D,OAAO,UAAU,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;QACrG,kFAAkF;QAClF,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACvD,OAAO,WAAW,YAAY,MAAM,QAAQ,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,WAAW,UAAU,MAAM,QAAQ,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,OAAe;IACxD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAmB,EAAE,OAA2B,EAAE,GAAW;IAC3F,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,WAAW,GACf,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;YACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,gCAAgC,WAAW,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,OAA2B;IACnE,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA0B,EAC1B,KAAsB,EACtB,OAAgB;IAEhB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,2BAA2B;IAElD,sCAAsC;IACtC,MAAM,aAAa,GAAG,6DAA6D,CAAC;IAEpF,6DAA6D;IAC7D,MAAM,cAAc,GAAG;QACrB,+BAA+B;QAC/B,8BAA8B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,wDAAwD;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,eAAe,GAAG,KAAK,YAAY,GAAG,CAAC;IAChD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,uBAAuB;IACvB,MAAM,mBAAmB,GAAG;QAC1B,6CAA6C;QAC7C,kBAAkB;QAClB,sBAAsB;QACtB,GAAG;QACH,EAAE;QACF,qBAAqB;QACrB,gGAAgG;QAChG,qDAAqD;QACrD,GAAG;QACH,EAAE;QACF,sBAAsB;QACtB,gGAAgG;QAChG,qDAAqD;QACrD,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,MAAM,GAAG,GAAG,aAAa,KAAK,mBAAmB,eAAe,SAAS,OAAO,cAAc,KAAK,YAAY,IAAI,CAAC;IAC1H,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACzD,IAAI,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAElC,sCAAsC;IACtC,MAAM,WAAW,GAAG,CAAC,YAA6B,EAAE,SAAiB,EAAE,EAAU,EAAE;QACjF,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,mCAAmC;QACnC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,gBAAgB,GAAG,GAAG,MAAM,GAAG,CAAC;YACtC,MAAM,IAAI,GAAG,GAAG,gBAAgB,GAAG,KAAK,CAAC,UAAU,MAAM,CAAC;YAC1D,aAAa,CAAC,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,IAAI,IAAI,CAAC;YACf,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,gBAAgB,GAAG,GAAG,MAAM,cAAc,OAAO,CAAC,QAAQ,OAAO,CAAC;YACxE,MAAM,aAAa,GAAG,GAAG,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,QAAQ,CAAC;YACvF,aAAa,CAAC,GAAG,CAAC,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAEpF,MAAM,IAAI,aAAa,CAAC;YACxB,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC;YAEtC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YAEpD,MAAM,YAAY,GAAG,GAAG,MAAM,KAAK,CAAC;YACpC,MAAM,IAAI,YAAY,CAAC;YACvB,aAAa,IAAI,YAAY,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAgB,EAChB,aAAqB,EACrB,SAAiB,EACjB,cAAsB,EACtB,GAAU,EACV,IAAY,EACZ,sBAA+B;IAE/B,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAQ,CAAC;IACzD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,YAAY,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACxG,CAAC;IAED,IAAI,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC,EAAE,CAAC;QAChE,MAAM,EAAE,CAAC;IACX,CAAC;IAED,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACvF,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,iBAAiB,GAAG,sBAAsB,CAAC;IAC/C,IAAI,iBAAiB,IAAI,IAAI,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACvD,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1B,iBAAiB,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,iBAAiB,GAAG,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,iBAAiB,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,GAAG,UAAU,GAAG,iBAAiB,CAAC;IACxE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAc,EACd,KAAuB,EACvB,iBAAyB,EACzB,GAAU;IAEV,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAQ,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC;IAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,OAAgB;IACxC,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACnC,OAAO,MAAM,EAAE,CAAC;QACd,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,SAAS,0BAA0B,CAAC,SAAiB;IACnD,wDAAwD;IACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,+CAA+C;IAC/C,iGAAiG;IACjG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,SAAS,iBAAiB,CAAC,OAAgB,EAAE,QAA6B;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,IAAI,OAAO,GAAmB,OAAO,CAAC,aAAa,CAAC;IAEpD,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,oDAAoD;YACpD,8DAA8D;YAC9D,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBACvD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7C,uEAAuE;gBACvE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBACvD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,8DAA8D;gBAC9D,kCAAkC;gBAClC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACtD,IAAI,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,0DAA0D;oBAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;oBAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,4DAA4D;oBAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,eAAe,CAAC,CAAC,CAAC;oBAC/E,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACrC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;wBACtD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,IAAI,OAAO,KAAK,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM;QACR,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,mBAAmB,CAChC,OAAgB,EAChB,WAAgC,EAChC,OAAyB,EACzB,iBAA+B,EAC/B,GAAU,EACV,IAAY,EACZ,cAA6B;IAE7B,4BAA4B;IAC5B,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS;QAAE,OAAO,cAAc,CAAC;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;IAE/E,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7D,gEAAgE;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;QAE/D,yEAAyE;QACzE,MAAM,KAAK,GAAG,kCAAkC,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAErE,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7E,cAAc,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEzC,uCAAuC;QACvC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,MAAM,KAAK,CAAC,UAAU,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5F,IAAI,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,IAAI,SAAiE,CAAC;YACtE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;wBAC5C,SAAS,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;gBAClC,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,uBAAuB,CAAC;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE9B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,eAAe,SAAS,gBAAgB,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;gBACnC,CAAC;gBAED,cAAc,CAAC,IAAI,CAAC;oBAClB,GAAG,IAAI;oBACP,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACnE,KAAK,MAAM,aAAa,IAAI,mBAAmB,EAAE,CAAC;YAChD,kDAAkD;YAClD,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAErE,kFAAkF;YAClF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;YAEvE,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CACjD,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,cAAc,CACf,CAAC;YACF,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;QAC5D,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,EACP,aAAa,EACb,SAAS,EACT,SAAS,EACT,GAAG,EACH,IAAI,EACJ,CAAC,CACF,CAAC;QAEF,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC5C,KAAK,EAAE,SAAS,EAAE,KAAK;YACvB,MAAM,EAAE,SAAS,EAAE,MAAM;YACzB,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,iCAAiC,OAAO,MAAM,OAAO,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,mGAAmG;AACnG,MAAM,0BAA0B,GAAG,IAAI,GAAG,CACxC,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;AAEF,SAAS,6BAA6B,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;IAEtF,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAsB,CAAC;QAC3C,IAAI,IAAI,KAAK,OAAO;YAAE,SAAS;QAE/B,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,SAAS,EAAE,CAAC;YACd,mFAAmF;YACnF,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;YAChC,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,OAAO,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACpC,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBAChD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,MAAM;gBACR,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE1C,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,4DAA4D;AAC5D,SAAS,kCAAkC,CAAC,IAAa,EAAE,GAAU,EAAE,IAAY;IACjF,MAAM,KAAK,GAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAW,CAAC;IAEhD,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,YAA6B,EAAE,EAAE;QACzE,+CAA+C;QAC/C,IAAI,OAAO,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO;YAC9C,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBAChD,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;oBAChC,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,MAAM,CAAC;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAE1D,MAAM,oBAAoB,GAAoB;gBAC5C,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,OAAO;oBACP,aAAa;oBACb,aAAa,EAAE,WAAW;iBAC3B;gBACD,KAAK,EAAE,sBAAsB,CAC3B,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,GAAG,EACH,IAAI,EACJ,UAAU,CACX;aACF,CAAC;YAEF,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAoB,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACpE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClD,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC5B,UAAU,EAAE,IAAI,CAAC,KAAK;wBACtB,MAAM,EAAE;4BACN,IAAI,EAAE,WAAW;4BACjB,OAAO;4BACP,aAAa,EAAE,IAAI,CAAC,IAAI;4BACxB,aAAa,EAAE,SAAS;yBACzB;wBACD,KAAK,EAAE,sBAAsB,CAC3B,OAAO,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,GAAG,EACH,IAAI,EACJ,CAAC,CACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACzB,cAAc,CAAC,KAAgB,EAAE,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAChC,eAAe,CAAC,KAAa,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,YAA6B,EAAE,EAAE;QAC7E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACzB,cAAc,CAAC,KAAgB,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,eAAe,CAAC,KAAa,EAAE,YAAY,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAc,EAAE,YAA6B,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,iBAAiB;oBAAE,SAAS;gBACjC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;oBAC5B,UAAU,EAAE,iBAAiB;oBAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,6BAA6B;IAC7B,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAsB,EAAE,SAA4B,EAAE;IAChF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAwB;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;QACnE,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;YACzC,OAAO,6BAA6B,OAAO,GAAG,CAAC;QACjD,CAAC;QACD,OAAO,cAAc,MAAM,CAAC,aAAa,SAAS,OAAO,GAAG,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACpE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,8BAA8B,SAAS,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAsB,EACtB,KAAc,EACd,cAA6B;IAE7B,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC;IACtE,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,qCAAqC,iBAAiB,QAAQ,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,YAAY,EAAE,CAAC;IACxI,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK;QACzB,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM;QAC3B,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,qBAAqB;QAC7B,WAAW,EAAE,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAsB,EAAE,cAA6B;IACzF,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,CAAC;YACH,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,OAAyB;IACrE,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,EAAE,CAAC,gBAAgB,CACxC,OAAO,CAAC,QAAQ,IAAI,eAAe,EACnC,IAAI,EACJ,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,KAAK,EACL,EAAE,CAAC,UAAU,CAAC,OAAO,CACtB,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAW,CAAC;IAE7C,kEAAkE;IAClE,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7F,mEAAmE;IACnE,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAC3C,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,OAAO,EACP,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,cAAc,CACf,CAAC;QACF,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,YAAY,GAChB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe;QACnC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QACvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAoC,CAAC;IAE5D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,kCAAkC,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAChF,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACzF,cAAc,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -279,6 +279,42 @@ describe("My Component", () => {
279
279
  });
280
280
  ```
281
281
 
282
+ ## TypeScript Support
283
+
284
+ The `Renderer` and `SignalStore` classes support generic type parameters for type-safe state access:
285
+
286
+ ```typescript
287
+ import { Renderer } from "mancha";
288
+
289
+ interface AppState {
290
+ user: { name: string; email: string } | null;
291
+ count: number;
292
+ items: string[];
293
+ }
294
+
295
+ const renderer = new Renderer<AppState>({
296
+ user: null,
297
+ count: 0,
298
+ items: ["a", "b"],
299
+ });
300
+
301
+ // Type-safe access via the $ proxy
302
+ const count: number = renderer.$.count;
303
+ const items: string[] = renderer.$.items;
304
+
305
+ // Type-safe assignment
306
+ renderer.$.count = 42;
307
+ renderer.$.user = { name: "Alice", email: "alice@example.com" };
308
+ ```
309
+
310
+ The `$` proxy provides typed access to store values. Without a type parameter, the store accepts any properties:
311
+
312
+ ```typescript
313
+ // Untyped store (default behavior)
314
+ const renderer = new Renderer({ foo: "bar" });
315
+ renderer.$.foo; // works, but no type inference
316
+ ```
317
+
282
318
  ## Type Checking (Experimental)
283
319
 
284
320
  **⚠️ This feature is experimental and may change in future versions.**
package/gulpfile.js CHANGED
@@ -24,6 +24,10 @@ GulpClient.task("clean", function (done) {
24
24
 
25
25
  GulpClient.task("ts", execTask("tsec -m ES2022 -p ."));
26
26
 
27
+ GulpClient.task("chmod", function (done) {
28
+ return fs.chmod("dist/cli.js", 0o755).then(done);
29
+ });
30
+
27
31
  GulpClient.task("css", function () {
28
32
  return GulpClient.src("src/**/*.css").pipe(csso()).pipe(GulpClient.dest("dist"));
29
33
  });
@@ -36,5 +40,5 @@ GulpClient.task("fixtures", function () {
36
40
  });
37
41
 
38
42
  GulpClient.task("webpack", GulpClient.series("webpack:main", "webpack:esmodule"));
39
- GulpClient.task("build", GulpClient.series("ts", "css", "webpack", "fixtures"));
43
+ GulpClient.task("build", GulpClient.series("ts", "chmod", "css", "webpack", "fixtures"));
40
44
  GulpClient.task("default", GulpClient.series("build"));
package/package.json CHANGED
@@ -1,16 +1,30 @@
1
1
  {
2
2
  "name": "mancha",
3
- "version": "0.16.6",
3
+ "version": "0.17.0",
4
4
  "description": "Javscript HTML rendering engine",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
8
8
  "unpkg": "dist/mancha.js",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./browser": {
15
+ "types": "./dist/browser.d.ts",
16
+ "default": "./dist/browser.js"
17
+ },
18
+ "./dist/*.js": {
19
+ "types": "./dist/*.d.ts",
20
+ "default": "./dist/*.js"
21
+ }
22
+ },
9
23
  "scripts": {
10
24
  "clean": "rm -rf dist/",
11
25
  "build": "gulp build",
12
26
  "pretest": "npm run build",
13
- "test:node": "mocha dist/*.test.js",
27
+ "test:node": "mocha \"dist/**/*.test.js\" --ignore \"dist/browser.test.js\"",
14
28
  "test:browser": "web-test-runner dist/*browser.test.js --node-resolve --compatibility all --playwright --browsers chromium --no-sandbox",
15
29
  "test": "npm run test:node && npm run test:browser",
16
30
  "check_size": "brotli -c dist/mancha.js | wc -c",
@@ -33,24 +47,23 @@
33
47
  "license": "MIT",
34
48
  "dependencies": {
35
49
  "dom-serializer": "^2.0.0",
50
+ "glob": "^10.3.10",
36
51
  "htmlparser2": "^9.1.0",
37
- "jexpr": "^1.0.0-pre.9",
38
52
  "jsdom": "^27.0.1",
39
53
  "safevalues": "^0.6.0",
40
54
  "typescript": "^5.9.3",
41
- "glob": "^10.3.10",
42
55
  "yargs": "^17.7.2"
43
56
  },
44
57
  "devDependencies": {
45
58
  "@types/chai": "^5.2.3",
46
59
  "@types/chai-as-promised": "^8.0.1",
60
+ "@types/glob": "^8.1.0",
47
61
  "@types/jsdom": "^21.1.6",
48
62
  "@types/mocha": "^10.0.10",
49
63
  "@types/node": "^20.12.11",
50
64
  "@types/path-browserify": "^1.0.1",
51
65
  "@types/trusted-types": "^2.0.7",
52
66
  "@types/yargs": "^17.0.29",
53
- "@types/glob": "^8.1.0",
54
67
  "@web/test-runner": "^0.19.0",
55
68
  "@web/test-runner-playwright": "^0.11.1",
56
69
  "chai": "^5.3.3",