@alloy-js/core 0.22.0-dev.1 → 0.22.0-dev.3

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 (65) hide show
  1. package/dist/src/components/Block.d.ts.map +1 -1
  2. package/dist/src/components/Block.js +24 -7
  3. package/dist/src/components/Block.js.map +1 -1
  4. package/dist/src/components/Indent.d.ts.map +1 -1
  5. package/dist/src/components/Indent.js +2 -1
  6. package/dist/src/components/Indent.js.map +1 -1
  7. package/dist/src/components/Prose.d.ts.map +1 -1
  8. package/dist/src/components/Prose.js +2 -1
  9. package/dist/src/components/Prose.js.map +1 -1
  10. package/dist/src/content-slot.d.ts +51 -0
  11. package/dist/src/content-slot.d.ts.map +1 -0
  12. package/dist/src/content-slot.js +69 -0
  13. package/dist/src/content-slot.js.map +1 -0
  14. package/dist/src/content-slot.test.d.ts +2 -0
  15. package/dist/src/content-slot.test.d.ts.map +1 -0
  16. package/dist/src/content-slot.test.js +57 -0
  17. package/dist/src/content-slot.test.js.map +1 -0
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/reactivity.d.ts +15 -1
  23. package/dist/src/reactivity.d.ts.map +1 -1
  24. package/dist/src/reactivity.js +20 -8
  25. package/dist/src/reactivity.js.map +1 -1
  26. package/dist/src/render.d.ts +1 -0
  27. package/dist/src/render.d.ts.map +1 -1
  28. package/dist/src/render.js +66 -2
  29. package/dist/src/render.js.map +1 -1
  30. package/dist/src/symbols/decl.d.ts +8 -0
  31. package/dist/src/symbols/decl.d.ts.map +1 -0
  32. package/dist/src/symbols/decl.js +22 -0
  33. package/dist/src/symbols/decl.js.map +1 -0
  34. package/dist/src/symbols/index.d.ts +1 -0
  35. package/dist/src/symbols/index.d.ts.map +1 -1
  36. package/dist/src/symbols/index.js +1 -0
  37. package/dist/src/symbols/index.js.map +1 -1
  38. package/dist/src/utils.d.ts.map +1 -1
  39. package/dist/src/utils.js +212 -15
  40. package/dist/src/utils.js.map +1 -1
  41. package/dist/test/components/block.test.d.ts.map +1 -1
  42. package/dist/test/components/block.test.js +18 -1
  43. package/dist/test/components/block.test.js.map +1 -1
  44. package/dist/test/components/list.test.d.ts.map +1 -1
  45. package/dist/test/components/list.test.js +80 -1
  46. package/dist/test/components/list.test.js.map +1 -1
  47. package/dist/test/control-flow/for.test.js +32 -2
  48. package/dist/test/control-flow/for.test.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/src/components/Block.tsx +18 -6
  52. package/src/components/Indent.tsx +4 -2
  53. package/src/components/Prose.tsx +2 -1
  54. package/src/content-slot.test.tsx +65 -0
  55. package/src/content-slot.tsx +91 -0
  56. package/src/index.ts +1 -0
  57. package/src/reactivity.ts +38 -5
  58. package/src/render.ts +80 -3
  59. package/src/symbols/decl.ts +25 -0
  60. package/src/symbols/index.ts +1 -0
  61. package/src/utils.tsx +240 -16
  62. package/temp/api.json +469 -0
  63. package/test/components/block.test.tsx +21 -1
  64. package/test/components/list.test.tsx +76 -1
  65. package/test/control-flow/for.test.tsx +43 -2
@@ -1 +1 @@
1
- {"version":3,"names":["isRef","doc","prettier","useContext","SourceFileContext","shouldDebug","effect","getContext","getElementCache","isCustomContext","root","untrack","isRefkeyable","toRefkey","isComponentCreator","isRenderableObject","RENDERABLE","isIntrinsicElement","flushJobs","flushJobsAsync","trace","TracePhase","builders","align","breakParent","dedent","dedentToRoot","fill","group","hardline","indent","indentIfBreak","line","lineSuffix","lineSuffixBoundary","literalline","markAsRoot","softline","ifBreak","nodesToContext","WeakMap","getContextForRenderNode","node","get","printHookTag","Symbol","createRenderTreeHook","subtree","hooks","isPrintHook","type","render","children","options","tree","renderTree","sourceFilesForTree","renderAsync","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","printTree","printWidth","printOptions","tabWidth","useTabs","insertFinalNewLine","copyFile","sourcePath","cwd","child","rootElem","renderWorker","e","printRenderStack","worker","dumpChildren","set","flat","Infinity","appendChild","rawChild","debugPrintChild","normalizeChild","cache","has","useCustomContext","newNode","formatHookWithChildren","command","print","props","formatHook","name","groupId","negate","id","shouldBreak","width","string","flatContents","componentOwner","componentRoot","pushStack","component","popStack","toString","index","length","renderEffect","res","newNodes","map","value","refkey","sfContext","reference","bind","String","join","JSON","stringify","defaultPrintTreeOptions","Object","fromEntries","entries","filter","_","v","d","printTreeWorker","result","printer","printDocToString","formatted","endsWith","normalizedNode","split","flatMap","array","renderStack","pop","console","error","i","inspectProps","key","safeValue"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isRef","ref","doc","prettier","useContext","SourceFileContext","shouldDebug","effect","getContext","getElementCache","isCustomContext","root","untrack","isRefkeyable","toRefkey","isComponentCreator","isRenderableObject","RENDERABLE","isIntrinsicElement","flushJobs","flushJobsAsync","trace","TracePhase","builders","align","breakParent","dedent","dedentToRoot","fill","group","hardline","indent","indentIfBreak","line","lineSuffix","lineSuffixBoundary","literalline","markAsRoot","softline","ifBreak","nodesToContext","WeakMap","getContextForRenderNode","node","get","printHookTag","Symbol","createRenderTreeHook","subtree","hooks","isPrintHook","type","render","children","options","tree","renderTree","sourceFilesForTree","renderAsync","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","printTree","printWidth","printOptions","tabWidth","useTabs","insertFinalNewLine","copyFile","sourcePath","cwd","child","rootElem","renderWorker","e","printRenderStack","worker","dumpChildren","set","flat","Infinity","appendChild","contentAdded","childrenWithContent","notifyContentState","startContext","isEmpty","value","current","owner","rawChild","debugPrintChild","normalizeChild","cache","has","useCustomContext","newNode","formatHookWithChildren","command","print","props","formatHook","name","groupId","negate","id","shouldBreak","width","string","flatContents","componentOwner","componentRoot","pushStack","component","popStack","toString","index","length","renderEffect","res","newNodes","map","refkey","sfContext","reference","bind","String","join","JSON","stringify","defaultPrintTreeOptions","Object","fromEntries","entries","filter","_","v","d","printTreeWorker","result","printer","printDocToString","formatted","endsWith","normalizedNode","split","flatMap","array","renderStack","pop","console","error","i","inspectProps","key","safeValue"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,EAAEC,GAAG,QAAQ,iBAAiB;AAC5C,SAAcC,GAAG,QAAQ,UAAU;AACnC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,WAAW,QAAQ,YAAY;AACxC,SAGEC,MAAM,EACNC,UAAU,EACVC,eAAe,EACfC,eAAe,EACfC,IAAI,EACJC,OAAO,QACF,iBAAiB;AACxB,SAASC,YAAY,EAAEC,QAAQ,QAAQ,aAAa;AACpD,SAIEC,kBAAkB,EAClBC,kBAAkB,EAElBC,UAAU,QACL,wBAAwB;AAC/B,SAA2BC,kBAAkB,QAAQ,wBAAwB;AAC7E,SAASC,SAAS,EAAEC,cAAc,QAAQ,gBAAgB;AAC1D,SAASC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAE/C,MAAM;EACJC,QAAQ,EAAE;IACRC,KAAK;IACLC,WAAW;IACXC,MAAM;IACNC,YAAY;IACZC,IAAI;IACJC,KAAK;IACLC,QAAQ;IACRC,MAAM;IACNC,aAAa;IACbC,IAAI;IACJC,UAAU;IACVC,kBAAkB;IAClBC,WAAW;IACXC,UAAU;IACVC,QAAQ;IACRC;EACF;AACF,CAAC,GAAGpC,QAAQ;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA,MAAMqC,cAAc,GAAG,IAAIC,OAAO,CAA4B,CAAC;AAE/D,OAAO,SAASC,uBAAuBA,CAACC,IAAsB,EAAE;EAC9D,OAAOH,cAAc,CAACI,GAAG,CAACD,IAAI,CAAC;AACjC;AAEA,OAAO,MAAME,YAAY,GAAGC,MAAM,CAAC,CAAC;AAYpC,OAAO,SAASC,oBAAoBA,CAClCC,OAAyB,EACzBC,KAAuD,EAC5C;EACX,OAAO;IACL,CAACJ,YAAY,GAAG,IAAI;IACpBG,OAAO;IACP,GAAGC;EACL,CAAC;AACH;AAEA,OAAO,SAASC,WAAWA,CAACC,IAAa,EAAqB;EAC5D,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAIN,YAAY,IAAIM,IAAI;AAC1E;AAIA,OAAO,SAASC,MAAMA,CACpBC,QAAkB,EAClBC,OAA0B,EACT;EACjB,MAAMC,IAAI,GAAGC,UAAU,CAACH,QAAQ,CAAC;EACjClC,SAAS,CAAC,CAAC;EACX,OAAOsC,kBAAkB,CAACF,IAAI,EAAED,OAAO,CAAC;AAC1C;AAEA,OAAO,eAAeI,WAAWA,CAC/BL,QAAkB,EAClBC,OAA0B,EACA;EAC1B,MAAMC,IAAI,GAAGC,UAAU,CAACH,QAAQ,CAAC;EACjC,MAAMjC,cAAc,CAAC,CAAC;EACtB,OAAOqC,kBAAkB,CAACF,IAAI,EAAED,OAAO,CAAC;AAC1C;AAEA,OAAO,SAASG,kBAAkBA,CAChCF,IAAsB,EACtBD,OAA0B,EACT;EACjB,IAAIK,aAA0C,GAAGC,SAAS;EAE1DC,kBAAkB,CAACD,SAAS,EAAEL,IAAI,CAAC;EAEnC,IAAI,CAACI,aAAa,EAAE;IAClB,MAAM,IAAIG,KAAK,CACb,wEACF,CAAC;EACH;EAEA,OAAOH,aAAa;EAEpB,SAASE,kBAAkBA,CACzBE,gBAA6C,EAC7CpD,IAAsB,EACtB;IACA,IAAI,CAACqD,KAAK,CAACC,OAAO,CAACtD,IAAI,CAAC,EAAE;MACxB;IACF;IACA,MAAMuD,OAAO,GAAGxB,uBAAuB,CAAC/B,IAAI,CAAC;IAE7C,IAAI,CAACuD,OAAO,EAAE;MACZ,OAAOC,OAAO,CAACJ,gBAAgB,CAAC;IAClC;IAEA,IAAIG,OAAO,CAACE,IAAI,EAAEC,SAAS,EAAE;MAC3B,MAAMA,SAA0B,GAAG;QACjCC,IAAI,EAAE,WAAW;QACjBC,IAAI,EAAEL,OAAO,CAACE,IAAI,EAAEC,SAAS,CAACE,IAAI;QAClCC,QAAQ,EAAE;MACZ,CAAC;MAED,IAAIT,gBAAgB,EAAE;QACpBA,gBAAgB,CAACS,QAAQ,CAACC,IAAI,CAACJ,SAAS,CAAC;MAC3C,CAAC,MAAM;QACLV,aAAa,GAAGU,SAAS;MAC3B;MACAF,OAAO,CAACE,SAAS,CAAC;IACpB,CAAC,MAAM,IAAIH,OAAO,CAACE,IAAI,EAAEM,UAAU,EAAE;MACnC,IAAI,CAACX,gBAAgB,EAAE;QACrB;QACA,MAAM,IAAID,KAAK,CACb,0FACF,CAAC;MACH;MAEA,MAAMY,UAA6B,GAAG;QACpCJ,IAAI,EAAE,MAAM;QACZC,IAAI,EAAEL,OAAO,CAACE,IAAI,EAAEM,UAAU,CAACH,IAAI;QACnCI,QAAQ,EAAET,OAAO,CAACE,IAAI,EAAEM,UAAU,CAACC,QAAQ;QAC3CH,QAAQ,EAAEI,SAAS,CAACjE,IAAI,EAAE;UACxBkE,UAAU,EACRvB,OAAO,EAAEuB,UAAU,IAAIX,OAAO,CAACE,IAAI,EAAEU,YAAY,EAAED,UAAU;UAC/DE,QAAQ,EAAEzB,OAAO,EAAEyB,QAAQ,IAAIb,OAAO,CAACE,IAAI,EAAEU,YAAY,EAAEC,QAAQ;UACnEC,OAAO,EAAE1B,OAAO,EAAE0B,OAAO,IAAId,OAAO,CAACE,IAAI,EAAEU,YAAY,EAAEE,OAAO;UAChEC,kBAAkB,EAChB3B,OAAO,EAAE2B,kBAAkB,IAC3Bf,OAAO,CAACE,IAAI,EAAEU,YAAY,EAAEG,kBAAkB,IAC9C;QACJ,CAAC;MACH,CAAC;MAEDlB,gBAAgB,CAACS,QAAQ,CAACC,IAAI,CAACC,UAAU,CAAC;IAC5C,CAAC,MAAM,IAAIR,OAAO,CAACE,IAAI,EAAEc,QAAQ,EAAE;MACjC,IAAI,CAACnB,gBAAgB,EAAE;QACrB;QACA,MAAM,IAAID,KAAK,CACb,wFACF,CAAC;MACH;MAEA,MAAMY,UAA0B,GAAG;QACjCJ,IAAI,EAAE,MAAM;QACZC,IAAI,EAAEL,OAAO,CAACE,IAAI,EAAEc,QAAQ,CAACX,IAAI;QACjCY,UAAU,EAAEjB,OAAO,CAACE,IAAI,EAAEc,QAAQ,CAACC;MACrC,CAAC;MAEDpB,gBAAgB,CAACS,QAAQ,CAACC,IAAI,CAACC,UAAU,CAAC;IAC5C,CAAC,MAAM;MACLP,OAAO,CAACJ,gBAAgB,CAAC;IAC3B;IAEA,SAASI,OAAOA,CAACiB,GAAgC,EAAE;MACjD,KAAK,MAAMC,KAAK,IAAI1E,IAAI,EAAE;QACxBkD,kBAAkB,CAACuB,GAAG,EAAEC,KAAyB,CAAC;MACpD;IACF;EACF;AACF;AACA,OAAO,SAAS7B,UAAUA,CAACH,QAAkB,EAAE;EAC7C,MAAMiC,QAA0B,GAAG,EAAE;EACrC,IAAI;IACF3E,IAAI,CAAC,MAAM;MACT4E,YAAY,CAACD,QAAQ,EAAEjC,QAAQ,CAAC;IAClC,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOmC,CAAC,EAAE;IACVC,gBAAgB,CAAC,CAAC;IAClB,MAAMD,CAAC;EACT;EAEA,OAAOF,QAAQ;AACjB;AAEA,SAASC,YAAYA,CAAC5C,IAAsB,EAAEU,QAAkB,EAAE;EAChE,IAAI,CAAC7C,UAAU,CAAC,CAAC,EAAE;IACjB,MAAM,IAAIsD,KAAK,CACb,gFACF,CAAC;EACH;EACAzC,KAAK,CAACC,UAAU,CAAC8B,MAAM,CAACsC,MAAM,EAAE,MAAMC,YAAY,CAACtC,QAAQ,CAAC,CAAC;EAE7D,IAAIW,KAAK,CAACC,OAAO,CAACtB,IAAI,CAAC,EAAE;IACvBH,cAAc,CAACoD,GAAG,CAACjD,IAAI,EAAEnC,UAAU,CAAC,CAAE,CAAC;EACzC;EAEA,IAAIwD,KAAK,CAACC,OAAO,CAACZ,QAAQ,CAAC,EAAE;IAC3B,KAAK,MAAMgC,KAAK,IAAKhC,QAAQ,CAASwC,IAAI,CAACC,QAAQ,CAAC,EAAE;MACpDC,WAAW,CAACpD,IAAI,EAAE0C,KAAK,CAAC;IAC1B;EACF,CAAC,MAAM;IACLU,WAAW,CAACpD,IAAI,EAAEU,QAAQ,CAAC;EAC7B;AACF;AAEA,SAAS2C,YAAYA,CAAA,EAAG;EACtB,MAAM9B,OAAgB,GAAG1D,UAAU,CAAC,CAAE;EACtC0D,OAAO,CAAC+B,mBAAmB,EAAE;AAC/B;AAEA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnCtF,OAAO,CAAC,MAAM;IACZ,MAAMuF,YAAY,GAAG3F,UAAU,CAAC,CAAE;IAElC,IAAI2F,YAAY,CAACF,mBAAmB,KAAK,CAAC,EAAE;MAC1C,IAAIE,YAAY,CAACC,OAAO,CAAEC,KAAK,KAAK,IAAI,EAAE;QACxC;QACA;MACF;MAEA,IAAIF,YAAY,CAACC,OAAO,EAAE;QACxBD,YAAY,CAACC,OAAO,CAACC,KAAK,GAAG,IAAI;MACnC;;MAEA;MACA,IAAIC,OAAO,GAAGH,YAAY,CAACI,KAAK;MAChC,OAAOD,OAAO,EAAE;QACd,IAAIA,OAAO,CAACL,mBAAmB,KAAK,CAAC,EAAE;UACrC;QACF;QACAK,OAAO,CAACL,mBAAmB,EAAE;QAC7B,IAAIK,OAAO,CAACF,OAAO,EAAE;UACnBE,OAAO,CAACF,OAAO,CAACC,KAAK,GAAG,IAAI;QAC9B;QACAC,OAAO,GAAGA,OAAO,CAACC,KAAK;MACzB;IACF,CAAC,MAAM;MACL,IAAIJ,YAAY,CAACC,OAAO,CAAEC,KAAK,KAAK,KAAK,EAAE;QACzC;QACA;MACF;MAEA,IAAIF,YAAY,CAACC,OAAO,IAAID,YAAY,CAACC,OAAO,CAACC,KAAK,EAAE;QACtDF,YAAY,CAACC,OAAO,CAACC,KAAK,GAAG,KAAK;MACpC;;MAEA;MACA,IAAIC,OAAO,GAAGH,YAAY,CAACI,KAAK;MAChC,OAAOD,OAAO,EAAE;QACdA,OAAO,CAACL,mBAAmB,EAAE;QAC7B,IAAIK,OAAO,CAACL,mBAAmB,GAAG,CAAC,EAAE;UACnC;UACA;QACF;QAEA,IAAIK,OAAO,CAACF,OAAO,IAAIE,OAAO,CAACF,OAAO,CAACC,KAAK,EAAE;UAC5CC,OAAO,CAACF,OAAO,CAACC,KAAK,GAAG,KAAK;QAC/B;QAEAC,OAAO,GAAGA,OAAO,CAACC,KAAK;MACzB;IACF;EACF,CAAC,CAAC;AACJ;AAEA,SAASR,WAAWA,CAACpD,IAAsB,EAAE6D,QAAe,EAAE;EAC5DnF,KAAK,CAACC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAAE,MAAMU,eAAe,CAACD,QAAQ,CAAC,CAAC;EACrE,MAAMnB,KAAK,GAAGqB,cAAc,CAACF,QAAQ,CAAC;EAEtC,IAAI,OAAOnB,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAIA,KAAK,KAAK,EAAE,EAAE;MAChBW,YAAY,CAAC,CAAC;IAChB;IACArD,IAAI,CAAC8B,IAAI,CAACY,KAAK,CAAC;EAClB,CAAC,MAAM;IACL,MAAMsB,KAAK,GAAGlG,eAAe,CAAC,CAAC;IAC/B,IAAIkG,KAAK,CAACC,GAAG,CAACvB,KAAY,CAAC,EAAE;MAC3BhE,KAAK,CACHC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAC7B,MAAM,UAAU,GAAGU,eAAe,CAACpB,KAAK,CAC1C,CAAC;MACD1C,IAAI,CAAC8B,IAAI,CAACkC,KAAK,CAAC/D,GAAG,CAACyC,KAAY,CAAE,CAAC;MACnC;IACF;IACA,IAAI3E,eAAe,CAAC2E,KAAK,CAAC,EAAE;MAC1BhE,KAAK,CACHC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAC7B,MAAM,iBAAiB,GAAGU,eAAe,CAACpB,KAAK,CACjD,CAAC;MACDA,KAAK,CAACwB,gBAAgB,CAAExD,QAAQ,IAAK;QACnC,MAAMyD,OAAyB,GAAG,EAAE;QACpCvB,YAAY,CAACuB,OAAO,EAAEzD,QAAQ,CAAC;QAC/BV,IAAI,CAAC8B,IAAI,CAACqC,OAAO,CAAC;QAClBH,KAAK,CAACf,GAAG,CAACP,KAAK,EAAEyB,OAAO,CAAC;QACzBZ,kBAAkB,CAAC,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIhF,kBAAkB,CAACmE,KAAK,CAAC,EAAE;MACpChE,KAAK,CACHC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAC7B,MAAM,oBAAoB,GAAGU,eAAe,CAACpB,KAAK,CACpD,CAAC;MACD;MACA,MAAMyB,OAAyB,GAAG,EAAE;MAEpC,SAASC,sBAAsBA,CAACC,OAA0B,EAAE;QAC1DrE,IAAI,CAAC8B,IAAI,CACP1B,oBAAoB,CAAC+D,OAAO,EAAE;UAC5BG,KAAKA,CAAC1D,IAAI,EAAE0D,KAAK,EAAE;YACjB,OAAOD,OAAO,CAACC,KAAK,CAAC1D,IAAI,CAAC,CAAC;UAC7B;QACF,CAAC,CACH,CAAC;QACDgC,YAAY,CAACuB,OAAO,EAAGzB,KAAK,CAAS6B,KAAK,CAAC7D,QAAQ,CAAC;MACtD;MAEA,SAAS8D,UAAUA,CAACH,OAAY,EAAE;QAChC,OAAOrE,IAAI,CAAC8B,IAAI,CACd1B,oBAAoB,CAAC+D,OAAO,EAAE;UAC5BG,KAAKA,CAAA,EAAG;YACN,OAAOD,OAAO;UAChB;QACF,CAAC,CACH,CAAC;MACH;MAEA,QAAQ3B,KAAK,CAAC+B,IAAI;QAChB,KAAK,QAAQ;UACX,OAAOL,sBAAsB,CAAChF,MAAM,CAAC;QACvC,KAAK,eAAe;UAClBY,IAAI,CAAC8B,IAAI,CACP1B,oBAAoB,CAAC+D,OAAO,EAAE;YAC5BG,KAAKA,CAAC1D,IAAI,EAAE0D,KAAK,EAAE;cACjB,OAAOjF,aAAa,CAACiF,KAAK,CAAC1D,IAAI,CAAC,EAAE;gBAChC8D,OAAO,EAAEhC,KAAK,CAAC6B,KAAK,CAACG,OAAO;gBAC5BC,MAAM,EAAEjC,KAAK,CAAC6B,KAAK,CAACI;cACtB,CAAC,CAAC;YACJ;UACF,CAAC,CACH,CAAC;UACD/B,YAAY,CAACuB,OAAO,EAAEzB,KAAK,CAAC6B,KAAK,CAAC7D,QAAQ,CAAC;UAC3C;QACF,KAAK,MAAM;UACT,OAAO0D,sBAAsB,CAACnF,IAAW,CAAC;QAC5C,KAAK,OAAO;UACVe,IAAI,CAAC8B,IAAI,CACP1B,oBAAoB,CAAC+D,OAAO,EAAE;YAC5BG,KAAKA,CAAC1D,IAAI,EAAE0D,KAAK,EAAE;cACjB,OAAOpF,KAAK,CAACoF,KAAK,CAAC1D,IAAI,CAAC,EAAE;gBACxBgE,EAAE,EAAElC,KAAK,CAAC6B,KAAK,CAACK,EAAE;gBAClBC,WAAW,EAAEnC,KAAK,CAAC6B,KAAK,CAACM;cAC3B,CAAC,CAAC;YACJ;UACF,CAAC,CACH,CAAC;UACDjC,YAAY,CAACuB,OAAO,EAAEzB,KAAK,CAAC6B,KAAK,CAAC7D,QAAQ,CAAC;UAC3C;QACF,KAAK,MAAM;QACX,KAAK,IAAI;UACP,OAAO8D,UAAU,CAAClF,IAAI,CAAC;QACzB,KAAK,KAAK;QACV,KAAK,UAAU;UACb,OAAOkF,UAAU,CAACrF,QAAQ,CAAC;QAC7B,KAAK,KAAK;QACV,KAAK,UAAU;UACb,OAAOqF,UAAU,CAAC7E,QAAQ,CAAC;QAC7B,KAAK,aAAa;QAClB,KAAK,KAAK;UACR,OAAO6E,UAAU,CAAC/E,WAAW,CAAC;QAChC,KAAK,OAAO;UACVO,IAAI,CAAC8B,IAAI,CACP1B,oBAAoB,CAAC+D,OAAO,EAAE;YAC5BG,KAAKA,CAAC1D,IAAI,EAAE0D,KAAK,EAAE;cACjB,OAAOzF,KAAK,CACT6D,KAAK,CAAC6B,KAAK,CAASO,KAAK,IAAKpC,KAAK,CAAC6B,KAAK,CAASQ,MAAO,EAC1DT,KAAK,CAAC1D,IAAI,CACZ,CAAC;YACH;UACF,CAAC,CACH,CAAC;UACDgC,YAAY,CAACuB,OAAO,EAAGzB,KAAK,CAAS6B,KAAK,CAAC7D,QAAQ,CAAC;UACpD;QACF,KAAK,YAAY;UACf,OAAO0D,sBAAsB,CAAC7E,UAAU,CAAC;QAC3C,KAAK,oBAAoB;UACvB,OAAOiF,UAAU,CAAChF,kBAAkB,CAAC;QACvC,KAAK,aAAa;UAChB,OAAOgF,UAAU,CAAC1F,WAAW,CAAC;QAChC,KAAK,QAAQ;UACX,OAAOsF,sBAAsB,CAACrF,MAAM,CAAC;QACvC,KAAK,cAAc;UACjB,OAAOqF,sBAAsB,CAACpF,YAAY,CAAC;QAC7C,KAAK,YAAY;UACf,OAAOoF,sBAAsB,CAAC1E,UAAU,CAAC;QAC3C,KAAK,SAAS;UACZM,IAAI,CAAC8B,IAAI,CACP1B,oBAAoB,CAAC+D,OAAO,EAAE;YAC5BG,KAAKA,CAAC1D,IAAI,EAAE0D,KAAK,EAAE;cACjB,OAAO1E,OAAO,CACZ0E,KAAK,CAAE1D,IAAI,CAAwB,CAAC,CAAC,CAAC,EACtC0D,KAAK,CAAE1D,IAAI,CAAwB,CAAC,CAAC,CACvC,CAAC;YACH;UACF,CAAC,CACH,CAAC;UACDuD,OAAO,CAACrC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;UACpBc,YAAY,CACVuB,OAAO,CAAC,CAAC,CAAC,EACTzB,KAAK,CAAS6B,KAAK,CAAC7D,QACvB,CAAC;UACDkC,YAAY,CACVuB,OAAO,CAAC,CAAC,CAAC,EACTzB,KAAK,CAAS6B,KAAK,CAACS,YACvB,CAAC;UACD;QACF;UACE,MAAM,IAAI7D,KAAK,CAAC,2BAA2B,CAAC;MAChD;IACF,CAAC,MAAM,IAAI/C,kBAAkB,CAACsE,KAAK,CAAC,EAAE;MACpC;MACA9E,MAAM,CAAC,MAAM;QACXc,KAAK,CACHC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAC7B,MAAM,aAAa,GAAGU,eAAe,CAACpB,KAAK,CAC7C,CAAC;QACD,MAAMnB,OAAO,GAAG1D,UAAU,CAAC,CAAC;QAC5B0D,OAAO,CAAE+B,mBAAmB,GAAG,CAAC;QAChC/B,OAAO,CAAEkC,OAAO,KAAKnG,GAAG,CAAC,IAAI,CAAC;QAE9B,IAAIiE,OAAO,EAAEA,OAAO,CAAC0D,cAAc,GAAGvC,KAAK;QAC3C,MAAMwC,aAA+B,GAAG,EAAE;QAC1CC,SAAS,CAACzC,KAAK,CAAC0C,SAAS,EAAE1C,KAAK,CAAC6B,KAAK,CAAC;QACvC3B,YAAY,CAACsC,aAAa,EAAEjH,OAAO,CAACyE,KAAK,CAAC,CAAC;QAC3C2C,QAAQ,CAAC,CAAC;QACVrF,IAAI,CAAC8B,IAAI,CAACoD,aAAa,CAAC;QACxBlB,KAAK,CAACf,GAAG,CAACP,KAAK,EAAEwC,aAAa,CAAC;QAC/B3B,kBAAkB,CAAC,CAAC;QACpB7E,KAAK,CACHC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAC7B,MACE,kBAAkB,GAClBU,eAAe,CAACpB,KAAK,CAAC,GACtB,WAAW,GACXnB,OAAO,CAAEkC,OAAO,CAAEC,KACtB,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,OAAOhB,KAAK,KAAK,UAAU,EAAE;MACtChE,KAAK,CAACC,UAAU,CAAC8B,MAAM,CAAC2C,WAAW,EAAE,MAAM,QAAQ,GAAGV,KAAK,CAAC4C,QAAQ,CAAC,CAAC,CAAC;MACvE,MAAMC,KAAK,GAAGvF,IAAI,CAACwF,MAAM;MACzB5H,MAAM,CAAC,MAAM;QACXc,KAAK,CAACC,UAAU,CAAC8B,MAAM,CAACgF,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/C,IAAIC,GAAG,GAAGhD,KAAK,CAAC,CAAC;QACjB,OAAO,OAAOgD,GAAG,KAAK,UAAU,IAAI,CAACtH,kBAAkB,CAACsH,GAAG,CAAC,EAAE;UAC5DA,GAAG,GAAGA,GAAG,CAAC,CAAC;QACb;QACA,MAAMnE,OAAO,GAAG1D,UAAU,CAAC,CAAC;QAC5B0D,OAAO,CAAE+B,mBAAmB,GAAG,CAAC;QAChC/B,OAAO,CAAEkC,OAAO,KAAKnG,GAAG,CAAC,IAAI,CAAC;QAE9B,MAAMqI,QAA0B,GAAG,EAAE;QACrC/C,YAAY,CAAC+C,QAAQ,EAAED,GAAG,CAAC;QAC3B1F,IAAI,CAACuF,KAAK,CAAC,GAAGI,QAAQ;QACtB3B,KAAK,CAACf,GAAG,CAACP,KAAK,EAAEiD,QAAQ,CAAC;QAE1BpC,kBAAkB,CAAC,CAAC;QACpB,OAAOoC,QAAQ;MACjB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAM,IAAIxE,KAAK,CAAC,uBAAuB,CAAC;IAC1C;EACF;AACF;AASA,SAAS4C,cAAcA,CAACrB,KAAY,EAAsB;EACxD,IAAIrB,KAAK,CAACC,OAAO,CAACoB,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACkD,GAAG,CAAC7B,cAAc,CAAC;EAClC,CAAC,MAAM,IAAI,OAAOrB,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;IACnE,OAAOA,KAAK;EACd,CAAC,MAAM,IACL,OAAOA,KAAK,KAAK,WAAW,IAC5BA,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,KAAK,SAAS,EAC1B;IACA,OAAO,EAAE;EACX,CAAC,MAAM,IAAIrF,KAAK,CAACqF,KAAK,CAAC,EAAE;IACvB,OAAO,MAAMA,KAAK,CAACgB,KAAoB;EACzC,CAAC,MAAM,IAAIxF,YAAY,CAACwE,KAAK,CAAC,EAAE;IAC9B,MAAMmD,MAAM,GAAG1H,QAAQ,CAACuE,KAAK,CAAC;IAC9B,OAAO,MAAM;MACX,MAAMoD,SAAS,GAAGrI,UAAU,CAACC,iBAAiB,CAAC;MAC/C,IAAI,CAACoI,SAAS,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;QACtC,MAAM,IAAI5E,KAAK,CAAC,iDAAiD,CAAC;MACpE;MAEA,OAAO2E,SAAS,CAACC,SAAS,CAAC;QAAEF;MAAO,CAAC,CAAC;IACxC,CAAC;EACH,CAAC,MAAM,IAAIxH,kBAAkB,CAACqE,KAAK,CAAC,EAAE;IACpC;IACA,OAAOA,KAAK,CAACpE,UAAU,CAAC,CAAC0H,IAAI,CAACtD,KAAK,CAAC;EACtC,CAAC,MAAM,IAAI3E,eAAe,CAAC2E,KAAK,CAAC,EAAE;IACjC,OAAOA,KAAK;EACd,CAAC,MAAM,IAAInE,kBAAkB,CAACmE,KAAK,CAAC,EAAE;IACpC,OAAOA,KAAK;EACd,CAAC,MAAM;IACL,OAAOuD,MAAM,CAACvD,KAAK,CAAC;EACtB;AACF;AAEA,SAASM,YAAYA,CAACtC,QAAkB,EAAU;EAChD,IAAIW,KAAK,CAACC,OAAO,CAACZ,QAAQ,CAAC,EAAE;IAC3B,OAAO,KAAKA,QAAQ,CAACkF,GAAG,CAAC9B,eAAe,CAAC,CAACoC,IAAI,CAAC,IAAI,CAAC,IAAI;EAC1D;EACA,OAAOpC,eAAe,CAACpD,QAAQ,CAAC;AAClC;AAEA,SAASoD,eAAeA,CAACpB,KAAe,EAAU;EAChD,IAAItE,kBAAkB,CAACsE,KAAK,CAAC,EAAE;IAC7B,OAAO,GAAG,GAAGA,KAAK,CAAC0C,SAAS,CAACX,IAAI,GAAG,GAAG;EACzC,CAAC,MAAM,IAAI,OAAO/B,KAAK,KAAK,UAAU,EAAE;IACtC,OAAO,OAAO;EAChB,CAAC,MAAM,IAAIrF,KAAK,CAACqF,KAAK,CAAC,EAAE;IACvB,OAAO,MAAM;EACf,CAAC,MAAM,IAAInE,kBAAkB,CAACmE,KAAK,CAAC,EAAE;IACpC,OAAO,IAAIA,KAAK,CAAC+B,IAAI,GAAG;EAC1B,CAAC,MAAM,IAAIpG,kBAAkB,CAACqE,KAAK,CAAC,EAAE;IACpC,OAAO,sBAAsByD,IAAI,CAACC,SAAS,CAAC1D,KAAK,CAAC,GAAG;EACvD,CAAC,MAAM,IAAIxE,YAAY,CAACwE,KAAK,CAAC,EAAE;IAC9B,OAAO,QAAQ;EACjB,CAAC,MAAM;IACL,OAAOyD,IAAI,CAACC,SAAS,CAAC1D,KAAK,CAAC;EAC9B;AACF;AA0BA,MAAM2D,uBAAyC,GAAG;EAChDnE,UAAU,EAAE,EAAE;EACdE,QAAQ,EAAE;AACZ,CAAC;AAED,OAAO,SAASH,SAASA,CAACrB,IAAsB,EAAED,OAA0B,EAAE;EAC5EA,OAAO,GAAG;IACR,GAAG0F,uBAAuB;IAC1B,GAAGC,MAAM,CAACC,WAAW,CACnBD,MAAM,CAACE,OAAO,CAAC7F,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC8F,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAKA,CAAC,KAAK1F,SAAS,CAClE;EACF,CAAC;;EAED;EACAzC,SAAS,CAAC,CAAC;EAEX,MAAMoI,CAAC,GAAGC,eAAe,CAACjG,IAAI,CAAC;EAC/B,MAAMkG,MAAM,GAAGvJ,GAAG,CAACwJ,OAAO,CAACC,gBAAgB,CACzCJ,CAAC,EACDjG,OACF,CAAC,CAACsG,SAAS;EAEX,OAAOtG,OAAO,CAAC2B,kBAAkB,IAAI,CAACwE,MAAM,CAACI,QAAQ,CAAC,IAAI,CAAC,GACvD,GAAGJ,MAAM,IAAI,GACbA,MAAM;AACZ;AAEA,SAASD,eAAeA,CAACjG,IAAsB,EAAO;EACpD,MAAMrD,GAAQ,GAAG,EAAE;EACnB,KAAK,MAAMyC,IAAI,IAAIY,IAAI,EAAE;IACvB,IAAI,OAAOZ,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAMmH,cAAc,GAAGnH,IAAI,CACxBoH,KAAK,CAAC,OAAO,CAAC,CACdC,OAAO,CAAC,CAAC/H,IAAI,EAAEiG,KAAK,EAAE+B,KAAK,KAC1B/B,KAAK,GAAG+B,KAAK,CAAC9B,MAAM,GAAG,CAAC,GAAG,CAAClG,IAAI,EAAEH,QAAQ,CAAC,GAAG,CAACG,IAAI,CACrD,CAAC;MACH/B,GAAG,CAACuE,IAAI,CAACqF,cAAc,CAAC;IAC1B,CAAC,MAAM,IAAI5G,WAAW,CAACP,IAAI,CAAC,EAAE;MAC5BzC,GAAG,CAACuE,IAAI,CAAC9B,IAAI,CAACsE,KAAK,CAAEtE,IAAI,CAACK,OAAO,EAAEwG,eAAe,CAAC,CAAC;IACtD,CAAC,MAAM;MACLtJ,GAAG,CAACuE,IAAI,CAAC+E,eAAe,CAAC7G,IAAI,CAAC,CAAC;IACjC;EACF;EAEA,OAAOzC,GAAG;AACZ;AACA;AACA,MAAMgK,WAGH,GAAG,EAAE;AAER,OAAO,SAASpC,SAASA,CAACC,SAAyB,EAAEb,KAAY,EAAE;EACjE,IAAI,CAAC5G,WAAW,CAAC,CAAC,EAAE;EACpB4J,WAAW,CAACzF,IAAI,CAAC;IAAEsD,SAAS;IAAEb;EAAM,CAAC,CAAC;AACxC;AAEA,OAAO,SAASc,QAAQA,CAAA,EAAG;EACzB,IAAI,CAAC1H,WAAW,CAAC,CAAC,EAAE;EACpB4J,WAAW,CAACC,GAAG,CAAC,CAAC;AACnB;AAEA,OAAO,SAAS1E,gBAAgBA,CAAA,EAAG;EACjC,IAAI,CAACnF,WAAW,CAAC,CAAC,EAAE;;EAEpB;EACA8J,OAAO,CAACC,KAAK,CAAC,kBAAkB,CAAC;EACjC,KAAK,IAAIC,CAAC,GAAGJ,WAAW,CAAC/B,MAAM,GAAG,CAAC,EAAEmC,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAChD,MAAM;MAAEvC,SAAS;MAAEb;IAAM,CAAC,GAAGgD,WAAW,CAACI,CAAC,CAAC;IAC3C;IACAF,OAAO,CAACC,KAAK,CAAC,UAAUtC,SAAS,CAACX,IAAI,IAAImD,YAAY,CAACrD,KAAK,CAAC,GAAG,CAAC;EACnE;AACF;AAEA,SAASqD,YAAYA,CAACrD,KAAY,EAAE;EAClC,OAAO4B,IAAI,CAACC,SAAS,CACnBE,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAACjC,KAAK,CAAC,CAACqB,GAAG,CAAC,CAAC,CAACiC,GAAG,EAAEnE,KAAK,CAAC,KAAK;IAC1C,IAAIoE,SAAS;IACb,QAAQ,OAAOpE,KAAK;MAClB,KAAK,QAAQ;MACb,KAAK,QAAQ;MACb,KAAK,SAAS;QACZoE,SAAS,GAAGpE,KAAK;QACjB;MACF,KAAK,WAAW;QACdoE,SAAS,GAAG,WAAW;QACvB;MACF,KAAK,QAAQ;QACXA,SAAS,GAAGpE,KAAK,GAAG,OAAO,GAAG,IAAI;QAClC;MACF,KAAK,UAAU;QACboE,SAAS,GAAG,UAAU;QACtB;IACJ;IACA,OAAO,CAACD,GAAG,EAAEC,SAAS,CAAC;EACzB,CAAC,CACH,CACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { Namekey } from "../refkey.js";
2
+ /**
3
+ * Create a declaration in the current scope with the given namekey. Only works
4
+ * with basic scopes. Import `decl` from a specific language library for
5
+ * declaring language-specific symbols.
6
+ */
7
+ export declare function decl(namekey: Namekey): import("../runtime/component.js").ComponentCreator<{}>;
8
+ //# sourceMappingURL=decl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decl.d.ts","sourceRoot":"","sources":["../../../src/symbols/decl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,0DAYpC"}
@@ -0,0 +1,22 @@
1
+ import { toRef } from "@vue/reactivity";
2
+ import { useScope } from "../context/scope.js";
3
+ import { createComponent } from "../runtime/component.js";
4
+ import { BasicScope } from "./basic-scope.js";
5
+ import { BasicSymbol } from "./basic-symbol.js";
6
+
7
+ /**
8
+ * Create a declaration in the current scope with the given namekey. Only works
9
+ * with basic scopes. Import `decl` from a specific language library for
10
+ * declaring language-specific symbols.
11
+ */
12
+ export function decl(namekey) {
13
+ return createComponent(() => {
14
+ const currentScope = useScope();
15
+ if (!(currentScope instanceof BasicScope)) {
16
+ throw new Error(`Cannot declare symbol in non-basic scope: ${currentScope.constructor.name}. Use a language-specific 'decl' function instead.`);
17
+ }
18
+ const symbol = new BasicSymbol(namekey, currentScope.symbols);
19
+ return toRef(symbol, "name");
20
+ }, {});
21
+ }
22
+ //# sourceMappingURL=decl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toRef","useScope","createComponent","BasicScope","BasicSymbol","decl","namekey","currentScope","Error","constructor","name","symbol","symbols"],"sources":["../../../src/symbols/decl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAACC,OAAgB,EAAE;EACrC,OAAOJ,eAAe,CAAC,MAAM;IAC3B,MAAMK,YAAY,GAAGN,QAAQ,CAAC,CAAC;IAC/B,IAAI,EAAEM,YAAY,YAAYJ,UAAU,CAAC,EAAE;MACzC,MAAM,IAAIK,KAAK,CACb,6CAA6CD,YAAY,CAACE,WAAW,CAACC,IAAI,oDAC5E,CAAC;IACH;IACA,MAAMC,MAAM,GAAG,IAAIP,WAAW,CAACE,OAAO,EAAEC,YAAY,CAACK,OAAO,CAAC;IAE7D,OAAOZ,KAAK,CAACW,MAAM,EAAE,MAAM,CAAC;EAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;AACR","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export * from "./basic-scope.js";
2
2
  export * from "./basic-symbol.js";
3
+ export * from "./decl.js";
3
4
  export * from "./output-scope.js";
4
5
  export * from "./output-space.js";
5
6
  export * from "./output-symbol.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./basic-scope.js";
2
2
  export * from "./basic-symbol.js";
3
+ export * from "./decl.js";
3
4
  export * from "./output-scope.js";
4
5
  export * from "./output-space.js";
5
6
  export * from "./output-symbol.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,WAAW;AACzB,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import { toRaw } from "@vue/reactivity";
3
- import { createCustomContext, memo, onCleanup, root, untrack } from "./reactivity.js";
2
+ import { ref, toRaw } from "@vue/reactivity";
3
+ import { createCustomContext, effect, getContext, memo, onCleanup, root, untrack } from "./reactivity.js";
4
4
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
5
 
6
6
  import { isComponentCreator } from "./runtime/component.js";
@@ -45,17 +45,152 @@ const defaultJoinOptions = {
45
45
  */
46
46
 
47
47
  export function mapJoin(src, cb, rawOptions = {}) {
48
+ /**
49
+ * Strategy overview:
50
+ * - Initial render: collect a stable array of mapper outputs, cache
51
+ * per-index slot metadata, and create joiner `Ref`s for the gaps between
52
+ * items so the rendered list can be mutated without recreating siblings.
53
+ * - List mutations: diff the incoming iterable against slot metadata, reuse
54
+ * entries with matching keys, recycle disposers past the change point, and
55
+ * prune caches while recalculating first/last non-empty indices so we only
56
+ * edit joiners that are affected by the change.
57
+ * - Content transitions: each child renders inside a custom context that
58
+ * exposes an `isEmpty` flag; when a child gains or loses content we update
59
+ * neighbor joiner refs so separators appear and disappear reactively
60
+ * without re-running the mapper.
61
+ */
48
62
  const options = {
49
63
  ...defaultJoinOptions,
50
64
  ...rawOptions
51
65
  };
52
66
  const ender = options.ender === true ? options.joiner : options.ender || undefined;
53
- const currentItems = [];
54
- const disposables = [];
67
+ const itemSlots = [];
68
+ function getOrCreateSlot(index) {
69
+ let slot = itemSlots[index];
70
+ if (!slot) {
71
+ slot = {
72
+ isEmpty: ref(true)
73
+ };
74
+ itemSlots[index] = slot;
75
+ }
76
+ return slot;
77
+ }
78
+ const firstNonEmptyIndex = ref(-1);
79
+ const lastNonEmptyIndex = ref(-1);
55
80
  const mapped = [];
81
+ let enderMemo;
82
+
83
+ // Creates a ref placeholder that stores the joiner node for a boundary.
84
+ function createJoinerRef() {
85
+ return ref(undefined);
86
+ }
87
+
88
+ // Makes sure we have a joiner ref at the requested boundary index.
89
+ function ensureJoinerSlot(index) {
90
+ if (index === 0 || options.joiner === undefined) {
91
+ return;
92
+ }
93
+ const slot = getOrCreateSlot(index);
94
+ slot.joiner ??= createJoinerRef();
95
+ mapped[index * 2 - 1] = slot.joiner;
96
+ }
97
+
98
+ // Sets the joiner ref based on whether neighboring children have content.
99
+ function updateJoinerForIndex(index) {
100
+ if (index === 0 || options.joiner === undefined) {
101
+ return;
102
+ }
103
+ const slot = itemSlots[index];
104
+ const joinerRef = slot?.joiner;
105
+ if (!joinerRef) {
106
+ return;
107
+ }
108
+ if (index >= itemSlots.length) {
109
+ if (joinerRef.value !== undefined) {
110
+ joinerRef.value = undefined;
111
+ }
112
+ return;
113
+ }
114
+ const previousNonEmpty = findPrevNonEmpty(index - 1);
115
+ const rightSlot = itemSlots[index];
116
+ const shouldShow = previousNonEmpty !== -1 && rightSlot !== undefined && rightSlot.isEmpty.value === false;
117
+ const newValue = shouldShow ? options.joiner : undefined;
118
+ if (joinerRef.value !== newValue) {
119
+ joinerRef.value = newValue;
120
+ }
121
+ }
122
+
123
+ // Finds the next child that is not empty starting at or after `from`.
124
+ function findNextNonEmpty(from) {
125
+ for (let i = Math.max(from, 0); i < itemSlots.length; i++) {
126
+ const slot = itemSlots[i];
127
+ if (slot && slot.isEmpty.value === false) {
128
+ return i;
129
+ }
130
+ }
131
+ return -1;
132
+ }
133
+
134
+ // Finds the previous child that is not empty before or at `from`.
135
+ function findPrevNonEmpty(from) {
136
+ for (let i = Math.min(from, itemSlots.length - 1); i >= 0; i--) {
137
+ const slot = itemSlots[i];
138
+ if (slot && slot.isEmpty.value === false) {
139
+ return i;
140
+ }
141
+ }
142
+ return -1;
143
+ }
144
+
145
+ // Recomputes the cached first and last non-empty indices after changes.
146
+ function recalculateNonEmptyBounds() {
147
+ const first = findNextNonEmpty(0);
148
+ firstNonEmptyIndex.value = first;
149
+ lastNonEmptyIndex.value = first === -1 ? -1 : findPrevNonEmpty(itemSlots.length - 1);
150
+ refreshJoiners();
151
+ }
152
+
153
+ // Syncs all joiner refs after the structural shape of the list updates.
154
+ function refreshJoiners() {
155
+ if (options.joiner === undefined) {
156
+ return;
157
+ }
158
+ for (let i = 1; i < itemSlots.length; i++) {
159
+ const slot = itemSlots[i];
160
+ if (slot?.joiner) {
161
+ updateJoinerForIndex(i);
162
+ }
163
+ }
164
+ }
165
+
166
+ // Applies empty-state bookkeeping for an item and updates neighbor joiners.
167
+ function applyEmptyStateChange(index, isEmpty, wasEmpty) {
168
+ if (wasEmpty === isEmpty) {
169
+ return;
170
+ }
171
+ if (isEmpty) {
172
+ if (firstNonEmptyIndex.value === index) {
173
+ firstNonEmptyIndex.value = findNextNonEmpty(index + 1);
174
+ }
175
+ if (lastNonEmptyIndex.value === index) {
176
+ lastNonEmptyIndex.value = findPrevNonEmpty(index - 1);
177
+ }
178
+ } else {
179
+ if (firstNonEmptyIndex.value === -1 || index < firstNonEmptyIndex.value) {
180
+ firstNonEmptyIndex.value = index;
181
+ }
182
+ if (index > lastNonEmptyIndex.value) {
183
+ lastNonEmptyIndex.value = index;
184
+ }
185
+ }
186
+ updateJoinerForIndex(index);
187
+ updateJoinerForIndex(index + 1);
188
+ }
56
189
  let previousItemsLen = 0;
57
190
  onCleanup(() => {
58
- for (const d of disposables) d();
191
+ for (const slot of itemSlots) {
192
+ slot.disposer?.();
193
+ }
59
194
  });
60
195
  return () => {
61
196
  const itemsSource = src();
@@ -65,6 +200,10 @@ export function mapJoin(src, cb, rawOptions = {}) {
65
200
  if (options.skipFalsy) {
66
201
  items = items.filter(item => item !== null && item !== undefined && typeof item !== "boolean");
67
202
  }
203
+ const context = getContext();
204
+ if (context) {
205
+ context.isEmpty ??= ref(true);
206
+ }
68
207
  // this is important to access here in reactive context so we are
69
208
  // notified of new items from reactives.
70
209
  const itemsLen = items.length;
@@ -72,57 +211,115 @@ export function mapJoin(src, cb, rawOptions = {}) {
72
211
  const mapper = getMapperFunction(itemsSourceRaw);
73
212
  return untrack(() => {
74
213
  let startIndex = 0;
75
- for (; startIndex < itemsLen && startIndex < currentItems.length; startIndex++) {
76
- if (!compare(items[startIndex], currentItems[startIndex])) {
214
+ for (; startIndex < itemsLen && startIndex < itemSlots.length; startIndex++) {
215
+ const slot = itemSlots[startIndex];
216
+ if (!slot || !compare(items[startIndex], slot.item)) {
77
217
  break;
78
218
  }
79
219
  }
80
220
  if (startIndex > 0 && startIndex < itemsLen) {
81
221
  // need to update the previous joiner (might be ender or absent)
82
- mapped[startIndex * 2 - 1] = options.joiner;
222
+ ensureJoinerSlot(startIndex);
83
223
  }
84
224
  for (; startIndex < itemsLen; startIndex++) {
85
- currentItems[startIndex] = items[startIndex];
86
- if (disposables[startIndex]) {
87
- disposables[startIndex]();
225
+ const slot = getOrCreateSlot(startIndex);
226
+ slot.item = items[startIndex];
227
+ const emptyFlag = slot.isEmpty;
228
+ if (slot.disposer) {
229
+ if (emptyFlag.value === false) {
230
+ if (context) {
231
+ context.childrenWithContent--;
232
+ }
233
+ emptyFlag.value = true;
234
+ applyEmptyStateChange(startIndex, true, false);
235
+ }
236
+ slot.disposer();
88
237
  }
89
238
  const cleanupIndex = startIndex;
90
239
  mapped[startIndex * 2] = createCustomContext(cb => {
91
240
  return root(disposer => {
92
- disposables[cleanupIndex] = disposer;
241
+ const nestedContext = getContext();
242
+ const isEmptyFlag = nestedContext.isEmpty;
243
+ slot.disposer = disposer;
93
244
  disposer();
245
+ effect(prev => {
246
+ const isEmpty = isEmptyFlag.value;
247
+ return untrack(() => {
248
+ if (slot.isEmpty.value !== isEmpty) {
249
+ slot.isEmpty.value = isEmpty;
250
+ }
251
+ const wasEmpty = prev ?? true;
252
+ applyEmptyStateChange(cleanupIndex, isEmpty, wasEmpty);
253
+ return isEmpty;
254
+ });
255
+ });
94
256
  cb(mapper(items[cleanupIndex], cleanupIndex));
95
257
  });
96
258
  });
97
- mapped[startIndex * 2 + 1] = startIndex < items.length - 1 ? options.joiner : ender;
259
+ ensureJoinerSlot(startIndex);
98
260
  }
99
261
  mapped.length = startIndex * 2;
100
- mapped[mapped.length - 1] = ender;
262
+ if (mapped.length > 0) {
263
+ if (ender !== undefined) {
264
+ enderMemo ??= memo(() => lastNonEmptyIndex.value === -1 ? undefined : ender);
265
+ mapped[mapped.length - 1] = enderMemo;
266
+ } else {
267
+ mapped[mapped.length - 1] = undefined;
268
+ }
269
+ }
101
270
  for (; startIndex < previousItemsLen; startIndex++) {
102
- disposables[startIndex]?.();
271
+ const slot = itemSlots[startIndex];
272
+ if (!slot) {
273
+ continue;
274
+ }
275
+ slot.disposer?.();
276
+ if (slot.isEmpty.value === false) {
277
+ if (context) {
278
+ context.childrenWithContent--;
279
+ }
280
+ slot.isEmpty.value = true;
281
+ applyEmptyStateChange(startIndex, true, false);
282
+ }
283
+ }
284
+ if (previousItemsLen !== itemsLen) {
285
+ itemSlots.length = itemsLen;
286
+ recalculateNonEmptyBounds();
103
287
  }
104
288
  previousItemsLen = itemsLen;
105
289
  return mapped;
106
290
  });
107
291
  };
292
+
293
+ // Chooses the equality function based on the collection type in use.
108
294
  function getCompareFunction(itemsSource) {
109
295
  return Array.isArray(itemsSource) || isIterable(itemsSource) ? compareArray : compareMap;
110
296
  }
297
+
298
+ // Selects the mapper signature to match the collection type in use.
111
299
  function getMapperFunction(itemsSource) {
112
300
  return Array.isArray(itemsSource) || itemsSource instanceof Set || isIterable(itemsSource) ? mapArray : mapMap;
113
301
  }
302
+ // Strict equality check for array-like collections.
114
303
  function compareArray(elem1, elem2) {
115
304
  return elem1 === elem2;
116
305
  }
306
+
307
+ // Equality check for map entries that includes key and value.
117
308
  function compareMap(record1, record2) {
118
309
  return record1[0] === record2[0] && record1[1] === record2[1];
119
310
  }
311
+
312
+ // Invokes the user mapper for array-like collections.
120
313
  function mapArray(item, index) {
121
314
  return cb(item, index);
122
315
  }
316
+
317
+ // Invokes the user mapper for map collections.
123
318
  function mapMap(item, index) {
124
319
  return cb(item[0], item[1], index);
125
320
  }
321
+
322
+ // Runtime type guard for iterables returned from custom sources.
126
323
  function isIterable(x) {
127
324
  return typeof x.next === "function";
128
325
  }
@@ -1 +1 @@
1
- {"version":3,"names":["toRaw","createCustomContext","memo","onCleanup","root","untrack","isComponentCreator","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","currentItems","disposables","mapped","previousItemsLen","d","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","itemsLen","length","compare","getCompareFunction","mapper","getMapperFunction","startIndex","cleanupIndex","disposer","isIterable","compareArray","compareMap","Set","mapArray","mapMap","elem1","elem2","record1","record2","index","x","next","join","mergedOptions","joined","from","entries","push","children","fn","preserveFragments","map","collectChildren","flat","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ref","toRaw","createCustomContext","effect","getContext","memo","onCleanup","root","untrack","isComponentCreator","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","itemSlots","getOrCreateSlot","index","slot","isEmpty","firstNonEmptyIndex","lastNonEmptyIndex","mapped","enderMemo","createJoinerRef","ensureJoinerSlot","updateJoinerForIndex","joinerRef","length","value","previousNonEmpty","findPrevNonEmpty","rightSlot","shouldShow","newValue","findNextNonEmpty","from","i","Math","max","min","recalculateNonEmptyBounds","first","refreshJoiners","applyEmptyStateChange","wasEmpty","previousItemsLen","disposer","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","context","itemsLen","compare","getCompareFunction","mapper","getMapperFunction","startIndex","emptyFlag","childrenWithContent","cleanupIndex","nestedContext","isEmptyFlag","prev","isIterable","compareArray","compareMap","Set","mapArray","mapMap","elem1","elem2","record1","record2","x","next","join","mergedOptions","joined","entries","push","children","fn","preserveFragments","map","collectChildren","flat","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"block.test.d.ts","sourceRoot":"","sources":["../../../test/components/block.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
1
+ {"version":3,"file":"block.test.d.ts","sourceRoot":"","sources":["../../../test/components/block.test.tsx"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { ref } from "@vue/reactivity";
2
3
  import { expect, it } from "vitest";
3
4
  import { Block } from "../../src/components/Block.js";
5
+ import { printTree, renderTree } from "../../src/render.js";
4
6
  import "../../testing/extend-expect.js";
5
7
  it("renders properly with no children", () => {
6
8
  const template = _$createComponent(Block, {
@@ -31,7 +33,7 @@ it("renders properly with newline and no children", () => {
31
33
  class {}
32
34
  `);
33
35
  });
34
- it("renders properly with newline and no children", () => {
36
+ it("renders properly with newline and children", () => {
35
37
  const template = ["class", _$createComponent(Block, {
36
38
  newline: true,
37
39
  children: "contents!!"
@@ -43,4 +45,19 @@ it("renders properly with newline and no children", () => {
43
45
  }
44
46
  `);
45
47
  });
48
+ it("renders properly when content is added reactively", () => {
49
+ const contents = ref("");
50
+ const tree = renderTree(["class Foo ", _$createComponent(Block, {
51
+ children: contents
52
+ })]);
53
+ expect(printTree(tree)).toRenderTo(`
54
+ class Foo {}
55
+ `);
56
+ contents.value = "x = 12;";
57
+ expect(printTree(tree)).toRenderTo(`
58
+ class Foo {
59
+ x = 12;
60
+ }
61
+ `);
62
+ });
46
63
  //# sourceMappingURL=block.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["expect","it","Block","template","_$createComponent","children","toRenderTo","newline"],"sources":["../../../test/components/block.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK;AACd,OAAO,gCAAgC;AACvCD,EAAE,CAAC,mCAAmC,EAAE,MAAM;EAC5C,MAAME,QAAQ,GAAAC,iBAAA,CACXF,KAAK;IAAA,IAAAG,SAAA;MAAA;IAAA;EAAA,EAGP;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC;AAEFL,EAAE,CAAC,gCAAgC,EAAE,MAAM;EACzC,MAAME,QAAQ,GAAAC,iBAAA,CAAIF,KAAK;IAAAG,QAAA;EAAA,EAAmB;EAC1CL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAME,QAAQ,aAAAC,iBAAA,CAGTF,KAAK;IAACK,OAAO;IAAA,IAAAF,SAAA;MAAA;IAAA;EAAA,GAIjB;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAME,QAAQ,aAAAC,iBAAA,CAEJF,KAAK;IAACK,OAAO;IAAAF,QAAA;EAAA,GAEtB;EACDL,MAAM,CAACG,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ref","expect","it","Block","printTree","renderTree","template","_$createComponent","children","toRenderTo","newline","contents","tree","value"],"sources":["../../../test/components/block.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK;AACd,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAqB;AAC3D,OAAO,gCAAgC;AACvCH,EAAE,CAAC,mCAAmC,EAAE,MAAM;EAC5C,MAAMI,QAAQ,GAAAC,iBAAA,CACXJ,KAAK;IAAA,IAAAK,SAAA;MAAA;IAAA;EAAA,EAGP;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC;AAEFP,EAAE,CAAC,gCAAgC,EAAE,MAAM;EACzC,MAAMI,QAAQ,GAAAC,iBAAA,CAAIJ,KAAK;IAAAK,QAAA;EAAA,EAAmB;EAC1CP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,+CAA+C,EAAE,MAAM;EACxD,MAAMI,QAAQ,aAAAC,iBAAA,CAGTJ,KAAK;IAACO,OAAO;IAAA,IAAAF,SAAA;MAAA;IAAA;EAAA,GAIjB;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrD,MAAMI,QAAQ,aAAAC,iBAAA,CAEJJ,KAAK;IAACO,OAAO;IAAAF,QAAA;EAAA,GAEtB;EACDP,MAAM,CAACK,QAAQ,CAAC,CAACG,UAAU,CAAC;AAC9B;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,mDAAmD,EAAE,MAAM;EAC5D,MAAMS,QAAQ,GAAGX,GAAG,CAAC,EAAE,CAAC;EACxB,MAAMY,IAAI,GAAGP,UAAU,gBAAAE,iBAAA,CAERJ,KAAK;IAAAK,QAAA,EAAEG;EAAQ,GAE9B,CAAC;EACDV,MAAM,CAACG,SAAS,CAACQ,IAAI,CAAC,CAAC,CAACH,UAAU,CAAC;AACrC;AACA,GAAG,CAAC;EACFE,QAAQ,CAACE,KAAK,GAAG,SAAS;EAC1BZ,MAAM,CAACG,SAAS,CAACQ,IAAI,CAAC,CAAC,CAACH,UAAU,CAAC;AACrC;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../test/components/list.test.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC"}
1
+ {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../test/components/list.test.tsx"],"names":[],"mappings":"AASA,OAAO,gCAAgC,CAAC"}