@marko/translator-default 5.20.9 → 5.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. package/dist/cdata/index.js +1 -2
  2. package/dist/cdata/index[html].js +1 -2
  3. package/dist/cdata/index[vdom].js +1 -2
  4. package/dist/class.js +1 -2
  5. package/dist/comment/index.js +1 -2
  6. package/dist/comment/index[html].js +1 -2
  7. package/dist/comment/index[vdom].js +1 -2
  8. package/dist/declaration/index.js +1 -2
  9. package/dist/declaration/index[html].js +1 -2
  10. package/dist/declaration/index[vdom].js +1 -2
  11. package/dist/document-type/index.js +1 -2
  12. package/dist/document-type/index[html].js +1 -2
  13. package/dist/document-type/index[vdom].js +1 -2
  14. package/dist/index.js +1 -2
  15. package/dist/placeholder/index.js +1 -2
  16. package/dist/placeholder/index[html].js +1 -2
  17. package/dist/placeholder/index[vdom].js +1 -2
  18. package/dist/scriptlet.js +1 -2
  19. package/dist/tag/attribute/directives/class.js +1 -2
  20. package/dist/tag/attribute/directives/index.js +1 -2
  21. package/dist/tag/attribute/directives/no-update-body-if.js +1 -2
  22. package/dist/tag/attribute/directives/no-update-body.js +1 -2
  23. package/dist/tag/attribute/directives/no-update-if.js +1 -2
  24. package/dist/tag/attribute/directives/no-update.js +1 -2
  25. package/dist/tag/attribute/directives/style.js +1 -2
  26. package/dist/tag/attribute/index.js +1 -2
  27. package/dist/tag/attribute/modifiers/index.js +1 -2
  28. package/dist/tag/attribute/modifiers/no-update.js +1 -2
  29. package/dist/tag/attribute/modifiers/scoped.js +1 -2
  30. package/dist/tag/attribute-tag.js +1 -2
  31. package/dist/tag/custom-tag.js +1 -2
  32. package/dist/tag/dynamic-tag.js +1 -2
  33. package/dist/tag/index.js +1 -2
  34. package/dist/tag/macro-tag.js +1 -2
  35. package/dist/tag/native-tag.js +1 -2
  36. package/dist/tag/native-tag[html]/attributes.js +1 -2
  37. package/dist/tag/native-tag[html]/index.js +1 -2
  38. package/dist/tag/native-tag[vdom]/index.js +1 -2
  39. package/dist/tag/util.js +1 -2
  40. package/dist/taglib/core/conditional/translate-else-if.js +1 -2
  41. package/dist/taglib/core/conditional/translate-else.js +1 -2
  42. package/dist/taglib/core/conditional/translate-if.js +1 -2
  43. package/dist/taglib/core/conditional/util.js +1 -2
  44. package/dist/taglib/core/index.js +1 -2
  45. package/dist/taglib/core/macro/parse.js +1 -2
  46. package/dist/taglib/core/macro/translate.js +1 -2
  47. package/dist/taglib/core/parse-class.js +1 -2
  48. package/dist/taglib/core/parse-export.js +1 -2
  49. package/dist/taglib/core/parse-import.js +1 -2
  50. package/dist/taglib/core/parse-module-code.js +1 -2
  51. package/dist/taglib/core/parse-static.js +1 -2
  52. package/dist/taglib/core/parse-style.js +1 -2
  53. package/dist/taglib/core/transform-style.js +1 -2
  54. package/dist/taglib/core/translate-await.js +1 -2
  55. package/dist/taglib/core/translate-body.js +1 -2
  56. package/dist/taglib/core/translate-for.js +1 -2
  57. package/dist/taglib/core/translate-html-comment.js +1 -2
  58. package/dist/taglib/core/translate-include-content.js +1 -2
  59. package/dist/taglib/core/translate-server-only.js +1 -2
  60. package/dist/taglib/core/translate-while.js +1 -2
  61. package/dist/taglib/index.js +1 -2
  62. package/dist/taglib/migrate/all-templates.js +1 -2
  63. package/dist/taglib/migrate/index.js +1 -2
  64. package/dist/text/index.js +1 -2
  65. package/dist/text/index[html].js +1 -2
  66. package/dist/text/index[vdom].js +1 -2
  67. package/dist/util/add-dependencies.js +1 -2
  68. package/dist/util/get-component-files.js +1 -2
  69. package/dist/util/html-out-write.js +1 -2
  70. package/dist/util/key-manager.js +1 -2
  71. package/dist/util/optimize-html-writes.js +1 -2
  72. package/dist/util/optimize-vdom-create.js +1 -2
  73. package/dist/util/plugin-hooks.js +1 -2
  74. package/dist/util/runtime-flags.js +1 -2
  75. package/dist/util/vdom-out-write.js +1 -2
  76. package/dist/util/with-previous-location.js +1 -2
  77. package/package.json +6 -7
  78. package/src/index.js +516 -0
  79. package/LICENSE +0 -21
  80. package/dist/cdata/index.js.map +0 -1
  81. package/dist/cdata/index[html].js.map +0 -1
  82. package/dist/cdata/index[vdom].js.map +0 -1
  83. package/dist/class.js.map +0 -1
  84. package/dist/comment/index.js.map +0 -1
  85. package/dist/comment/index[html].js.map +0 -1
  86. package/dist/comment/index[vdom].js.map +0 -1
  87. package/dist/declaration/index.js.map +0 -1
  88. package/dist/declaration/index[html].js.map +0 -1
  89. package/dist/declaration/index[vdom].js.map +0 -1
  90. package/dist/document-type/index.js.map +0 -1
  91. package/dist/document-type/index[html].js.map +0 -1
  92. package/dist/document-type/index[vdom].js.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/placeholder/index.js.map +0 -1
  95. package/dist/placeholder/index[html].js.map +0 -1
  96. package/dist/placeholder/index[vdom].js.map +0 -1
  97. package/dist/scriptlet.js.map +0 -1
  98. package/dist/tag/attribute/directives/class.js.map +0 -1
  99. package/dist/tag/attribute/directives/index.js.map +0 -1
  100. package/dist/tag/attribute/directives/no-update-body-if.js.map +0 -1
  101. package/dist/tag/attribute/directives/no-update-body.js.map +0 -1
  102. package/dist/tag/attribute/directives/no-update-if.js.map +0 -1
  103. package/dist/tag/attribute/directives/no-update.js.map +0 -1
  104. package/dist/tag/attribute/directives/style.js.map +0 -1
  105. package/dist/tag/attribute/index.js.map +0 -1
  106. package/dist/tag/attribute/modifiers/index.js.map +0 -1
  107. package/dist/tag/attribute/modifiers/no-update.js.map +0 -1
  108. package/dist/tag/attribute/modifiers/scoped.js.map +0 -1
  109. package/dist/tag/attribute-tag.js.map +0 -1
  110. package/dist/tag/custom-tag.js.map +0 -1
  111. package/dist/tag/dynamic-tag.js.map +0 -1
  112. package/dist/tag/index.js.map +0 -1
  113. package/dist/tag/macro-tag.js.map +0 -1
  114. package/dist/tag/native-tag.js.map +0 -1
  115. package/dist/tag/native-tag[html]/attributes.js.map +0 -1
  116. package/dist/tag/native-tag[html]/index.js.map +0 -1
  117. package/dist/tag/native-tag[vdom]/index.js.map +0 -1
  118. package/dist/tag/util.js.map +0 -1
  119. package/dist/taglib/core/conditional/translate-else-if.js.map +0 -1
  120. package/dist/taglib/core/conditional/translate-else.js.map +0 -1
  121. package/dist/taglib/core/conditional/translate-if.js.map +0 -1
  122. package/dist/taglib/core/conditional/util.js.map +0 -1
  123. package/dist/taglib/core/index.js.map +0 -1
  124. package/dist/taglib/core/macro/parse.js.map +0 -1
  125. package/dist/taglib/core/macro/translate.js.map +0 -1
  126. package/dist/taglib/core/parse-class.js.map +0 -1
  127. package/dist/taglib/core/parse-export.js.map +0 -1
  128. package/dist/taglib/core/parse-import.js.map +0 -1
  129. package/dist/taglib/core/parse-module-code.js.map +0 -1
  130. package/dist/taglib/core/parse-static.js.map +0 -1
  131. package/dist/taglib/core/parse-style.js.map +0 -1
  132. package/dist/taglib/core/transform-style.js.map +0 -1
  133. package/dist/taglib/core/translate-await.js.map +0 -1
  134. package/dist/taglib/core/translate-body.js.map +0 -1
  135. package/dist/taglib/core/translate-for.js.map +0 -1
  136. package/dist/taglib/core/translate-html-comment.js.map +0 -1
  137. package/dist/taglib/core/translate-include-content.js.map +0 -1
  138. package/dist/taglib/core/translate-server-only.js.map +0 -1
  139. package/dist/taglib/core/translate-while.js.map +0 -1
  140. package/dist/taglib/index.js.map +0 -1
  141. package/dist/taglib/migrate/all-templates.js.map +0 -1
  142. package/dist/taglib/migrate/index.js.map +0 -1
  143. package/dist/text/index.js.map +0 -1
  144. package/dist/text/index[html].js.map +0 -1
  145. package/dist/text/index[vdom].js.map +0 -1
  146. package/dist/util/add-dependencies.js.map +0 -1
  147. package/dist/util/get-component-files.js.map +0 -1
  148. package/dist/util/html-out-write.js.map +0 -1
  149. package/dist/util/key-manager.js.map +0 -1
  150. package/dist/util/optimize-html-writes.js.map +0 -1
  151. package/dist/util/optimize-vdom-create.js.map +0 -1
  152. package/dist/util/plugin-hooks.js.map +0 -1
  153. package/dist/util/runtime-flags.js.map +0 -1
  154. package/dist/util/vdom-out-write.js.map +0 -1
  155. package/dist/util/with-previous-location.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/transform-style.js"],"names":["STYLE_REG","tag","hub","node","deps","file","metadata","marko","rawValue","matchedBlock","exec","parentPath","isProgram","get","buildCodeFrameError","some","dep","style","styleFile","startContent","type","codeSartOffset","length","codeEndOffset","lastIndexOf","code","slice","base","path","basename","opts","filename","start","extra","nameStart","push","startPos","endPos","virtualPath","remove"],"mappings":"uJAAA;AACA;;AAEA,MAAMA,SAAS,GAAG,yCAAlB;;AAEe,kBAAUC,GAAV,EAAe;AAC5B,QAAM,EAAEC,GAAF,EAAOC,IAAP,KAAgBF,GAAtB;AACA,QAAM,EAAEG,IAAF,KAAWF,GAAG,CAACG,IAAJ,CAASC,QAAT,CAAkBC,KAAnC;AACA,QAAM,EAAEC,QAAF,KAAeL,IAArB;AACA,QAAMM,YAAY,GAAGT,SAAS,CAACU,IAAV,CAAeF,QAAf,CAArB;AACA,MAAI,CAACC,YAAL,EAAmB;AACjB;AACD;;AAED,MAAI,CAACR,GAAG,CAACU,UAAJ,CAAeC,SAAf,EAAL,EAAiC;AAC/B,UAAMX,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,8DAHE,CAAN;;AAKD;;AAED,MAAIV,IAAI,CAACW,IAAL,CAAU,CAAAC,GAAG,KAAIA,GAAG,CAACC,KAArB,CAAJ,EAAiC;AAC/B,UAAMhB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,gEAHE,CAAN;;AAKD;;AAED,MAAI,gCAAkBb,GAAlB,EAAuBiB,SAA3B,EAAsC;AACpC,UAAMjB,GAAG;AACNY,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,wGAHE,CAAN;;AAKD;;AAED,QAAM,CAACK,YAAD,EAAeC,IAAI,GAAG,MAAtB,IAAgCX,YAAtC;AACA,QAAMY,cAAc,GAAGF,YAAY,CAACG,MAApC;AACA,QAAMC,aAAa,GAAGf,QAAQ,CAACgB,WAAT,CAAqB,GAArB,CAAtB;AACA,QAAMC,IAAI,GAAGjB,QAAQ,CAACkB,KAAT,CAAeL,cAAf,EAA+BE,aAA/B,CAAb;AACA,QAAMI,IAAI,GAAGC,cAAKC,QAAL,CAAc3B,GAAG,CAACG,IAAJ,CAASyB,IAAT,CAAcC,QAA5B,CAAb;AACA,QAAMC,KAAK,GAAG7B,IAAI,CAAC8B,KAAL,IAAc9B,IAAI,CAAC8B,KAAL,CAAWC,SAAvC;;AAEA9B,EAAAA,IAAI,CAAC+B,IAAL,CAAU;AACRf,IAAAA,IAAI,EAAEA,IAAI,CAACM,KAAL,CAAW,CAAX,CADE;AAERD,IAAAA,IAFQ;AAGRR,IAAAA,KAAK,EAAE,IAHC;AAIRmB,IAAAA,QAAQ,EAAEJ,KAAK,GAAGX,cAJV;AAKRgB,IAAAA,MAAM,EAAEL,KAAK,GAAGT,aALR;AAMRK,IAAAA,IAAI,EAAG,KAAID,IAAK,EANR;AAORW,IAAAA,WAAW,EAAG,KAAIX,IAAI,GAAGP,IAAK,EAPtB,EAAV;;;AAUAnB,EAAAA,GAAG,CAACsC,MAAJ;AACD","sourcesContent":["import path from \"path\";\nimport getComponentFiles from \"../../util/get-component-files\";\n\nconst STYLE_REG = /^style((?:\\.[^\\s\\\\/:*?\"<>|({]+)+)?\\s*\\{/;\n\nexport default function (tag) {\n const { hub, node } = tag;\n const { deps } = hub.file.metadata.marko;\n const { rawValue } = node;\n const matchedBlock = STYLE_REG.exec(rawValue);\n if (!matchedBlock) {\n return;\n }\n\n if (!tag.parentPath.isProgram()) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"Style blocks must be at the root of your Marko template.\"\n );\n }\n\n if (deps.some(dep => dep.style)) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n \"A Marko file can only contain a single inline style block.\"\n );\n }\n\n if (getComponentFiles(tag).styleFile) {\n throw tag\n .get(\"name\")\n .buildCodeFrameError(\n 'A Marko file can either have an inline style block, or an external \"style.ext\" file, but not both.'\n );\n }\n\n const [startContent, type = \".css\"] = matchedBlock;\n const codeSartOffset = startContent.length;\n const codeEndOffset = rawValue.lastIndexOf(\"}\");\n const code = rawValue.slice(codeSartOffset, codeEndOffset);\n const base = path.basename(hub.file.opts.filename);\n const start = node.extra && node.extra.nameStart;\n\n deps.push({\n type: type.slice(1),\n code,\n style: true,\n startPos: start + codeSartOffset,\n endPos: start + codeEndOffset,\n path: `./${base}`,\n virtualPath: `./${base + type}`\n });\n\n tag.remove();\n}\n"],"file":"transform-style.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-await.js"],"names":["enter","path","args","get","length","buildCodeFrameError","loc","start","node","end","hub","file","provider","pushContainer","t","markoAttribute","some","attr","stringLiteral","toString","set","undefined"],"mappings":"6DAAA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,QAAMC,IAAI,GAAGD,IAAI,CAACE,GAAL,CAAS,WAAT,CAAb;;AAEA,MAAI,CAACD,IAAI,CAACE,MAAV,EAAkB;AAChB,UAAMH,IAAI;AACPE,IAAAA,GADG,CACC,MADD;AAEHE,IAAAA,mBAFG;AAGF,uFAHE,CAAN;;AAKD,GAND,MAMO,IAAIH,IAAI,CAACE,MAAL,GAAc,CAAlB,EAAqB;AAC1B,UAAM;AACJE,MAAAA,GAAG,EAAE,EAAEC,KAAF,EADD;AAEFL,IAAAA,IAAI,CAAC,CAAD,CAAJ,CAAQM,IAFZ;AAGA,UAAM;AACJF,MAAAA,GAAG,EAAE,EAAEG,GAAF,EADD;AAEFP,IAAAA,IAAI,CAACA,IAAI,CAACE,MAAL,GAAc,CAAf,CAAJ,CAAsBI,IAF1B;AAGA,UAAMP,IAAI,CAACS,GAAL,CAASC,IAAT,CAAcN,mBAAd;AACJ,MAAEC,GAAG,EAAE,EAAEC,KAAF,EAASE,GAAT,EAAP,EADI;AAEJ,0DAFI,CAAN;;AAID;;AAED,QAAM,CAACG,QAAD,IAAaV,IAAnB;AACAD,EAAAA,IAAI,CAACY,aAAL;AACE,cADF;AAEEC,kBAAEC,cAAF,CAAiB,WAAjB,EAA8BH,QAAQ,CAACJ,IAAvC,CAFF;;;AAKA,MAAI,CAACP,IAAI,CAACE,GAAL,CAAS,YAAT,EAAuBa,IAAvB,CAA4B,CAAAC,IAAI,KAAIA,IAAI,CAACd,GAAL,CAAS,MAAT,EAAiBK,IAAjB,KAA0B,MAA9D,CAAL,EAA4E;AAC1EP,IAAAA,IAAI,CAACY,aAAL;AACE,gBADF;AAEEC,oBAAEC,cAAF,CAAiB,OAAjB,EAA0BD,gBAAEI,aAAF,CAAgBN,QAAQ,CAACO,QAAT,EAAhB,CAA1B,CAFF;;AAID;;AAEDlB,EAAAA,IAAI,CAACmB,GAAL,CAAS,WAAT,EAAsBC,SAAtB;AACD","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport function enter(path) {\n const args = path.get(\"arguments\");\n\n if (!args.length) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n 'You must provide a promise argument to the \"<await>\" tag, eg: \"<await(promise)>\".'\n );\n } else if (args.length > 1) {\n const {\n loc: { start }\n } = args[1].node;\n const {\n loc: { end }\n } = args[args.length - 1].node;\n throw path.hub.file.buildCodeFrameError(\n { loc: { start, end } },\n 'You can only pass one argument to the \"<await>\" tag.'\n );\n }\n\n const [provider] = args;\n path.pushContainer(\n \"attributes\",\n t.markoAttribute(\"_provider\", provider.node)\n );\n\n if (!path.get(\"attributes\").some(attr => attr.get(\"name\").node === \"name\")) {\n path.pushContainer(\n \"attributes\",\n t.markoAttribute(\"_name\", t.stringLiteral(provider.toString()))\n );\n }\n\n path.set(\"arguments\", undefined);\n}\n"],"file":"translate-await.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-body.js"],"names":["enter","path","hub","file","markoOpts","output","body","get","pushContainer","t","markoTag","stringLiteral","markoTagBody"],"mappings":"6DAAA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7C,UAAMC,IAAI,GAAGL,IAAI,CAACM,GAAL,CAAS,MAAT,CAAb;;AAEAD,IAAAA,IAAI,CAACE,aAAL,CAAmB,MAAnB,EAA2B;AACzBC,oBAAEC,QAAF,CAAWD,gBAAEE,aAAF,CAAgB,iBAAhB,CAAX,EAA+C,EAA/C,EAAmDF,gBAAEG,YAAF,EAAnD,CADyB;AAEzBH,oBAAEC,QAAF,CAAWD,gBAAEE,aAAF,CAAgB,iBAAhB,CAAX,EAA+C,EAA/C,EAAmDF,gBAAEG,YAAF,EAAnD,CAFyB;AAGzBH,oBAAEC,QAAF;AACED,oBAAEE,aAAF,CAAgB,4BAAhB,CADF;AAEE,MAFF;AAGEF,oBAAEG,YAAF,EAHF,CAHyB,CAA3B;;;AASD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport function enter(path) {\n if (path.hub.file.markoOpts.output === \"html\") {\n const body = path.get(\"body\");\n\n body.pushContainer(\"body\", [\n t.markoTag(t.stringLiteral(\"init-components\"), [], t.markoTagBody()),\n t.markoTag(t.stringLiteral(\"await-reorderer\"), [], t.markoTagBody()),\n t.markoTag(\n t.stringLiteral(\"_preferred-script-location\"),\n [],\n t.markoTagBody()\n )\n ]);\n }\n}\n"],"file":"translate-body.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-for.js"],"names":["exit","path","node","attributes","body","params","namePath","get","ofAttr","findName","inAttr","fromAttr","toAttr","block","t","blockStatement","forNode","allowedAttributes","push","keyParam","valParam","buildCodeFrameError","unshift","variableDeclaration","variableDeclarator","memberExpression","value","forInStatement","ofAttrValue","loopParam","indexName","scope","generateUidIdentifier","name","numericLiteral","updateExpression","forOfStatement","stepAttr","stepValue","indexParam","stepsName","stepName","binaryExpression","forStatement","replaceWithMultiple","concat","arr","find","obj"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { assertAllowedAttributes } from \"@marko/babel-utils\";\n\nexport function exit(path) {\n const { node } = path;\n const {\n attributes,\n body: { body, params }\n } = node;\n const namePath = path.get(\"name\");\n const ofAttr = findName(attributes, \"of\");\n const inAttr = findName(attributes, \"in\");\n const fromAttr = findName(attributes, \"from\");\n const toAttr = findName(attributes, \"to\");\n const block = t.blockStatement(body);\n let forNode;\n let allowedAttributes = [\"by\"];\n\n if (inAttr) {\n allowedAttributes.push(\"in\");\n\n const [keyParam, valParam] = params;\n\n if (!keyParam) {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for in' tag, missing |key, value| params.\"\n );\n }\n\n if (valParam) {\n block.body.unshift(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n valParam,\n t.memberExpression(inAttr.value, keyParam, true)\n )\n ])\n );\n }\n\n forNode = t.forInStatement(\n t.variableDeclaration(\"const\", [t.variableDeclarator(keyParam)]),\n inAttr.value,\n block\n );\n } else if (ofAttr) {\n let ofAttrValue = ofAttr.value;\n allowedAttributes.push(\"of\");\n\n const [valParam, keyParam, loopParam] = params;\n\n if (!valParam) {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for of' tag, missing |value, index| params.\"\n );\n }\n\n forNode = [];\n\n if (keyParam) {\n const indexName = path.scope.generateUidIdentifier(keyParam.name);\n forNode.push(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(indexName, t.numericLiteral(0))\n ])\n );\n\n block.body.unshift(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(keyParam, t.updateExpression(\"++\", indexName))\n ])\n );\n }\n\n if (loopParam) {\n ofAttrValue = loopParam;\n forNode.push(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(loopParam, ofAttr.value)\n ])\n );\n }\n\n forNode.push(\n t.forOfStatement(\n t.variableDeclaration(\"const\", [t.variableDeclarator(valParam)]),\n ofAttrValue,\n block\n )\n );\n } else if (fromAttr && toAttr) {\n allowedAttributes.push(\"from\", \"to\", \"step\");\n\n const stepAttr = findName(attributes, \"step\") || {\n value: t.numericLiteral(1)\n };\n const stepValue = stepAttr ? stepAttr.value : t.numericLiteral(1);\n const [indexParam] = params;\n const stepsName = path.scope.generateUidIdentifier(\"steps\");\n const stepName = path.scope.generateUidIdentifier(\"step\");\n\n if (indexParam) {\n block.body.unshift(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n indexParam,\n t.binaryExpression(\n \"+\",\n fromAttr.value,\n t.binaryExpression(\"*\", stepName, stepValue)\n )\n )\n ])\n );\n }\n\n forNode = t.forStatement(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(\n stepsName,\n t.binaryExpression(\n \"/\",\n t.binaryExpression(\"-\", toAttr.value, fromAttr.value),\n stepValue\n )\n ),\n t.variableDeclarator(stepName, t.numericLiteral(0))\n ]),\n t.binaryExpression(\"<=\", stepName, stepsName),\n t.updateExpression(\"++\", stepName),\n block\n );\n } else {\n throw namePath.buildCodeFrameError(\n \"Invalid 'for' tag, missing an 'of', 'in' or 'to' attribute.\"\n );\n }\n\n assertAllowedAttributes(path, allowedAttributes);\n path.replaceWithMultiple([].concat(forNode));\n}\n\nfunction findName(arr, value) {\n return arr.find(obj => obj.name === value);\n}\n"],"file":"translate-for.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-html-comment.js"],"names":["enter","path","hub","file","markoOpts","output","replaceWithMultiple","node","body","remove"],"mappings":"kJAAA;;;;;AAKA;;AAEO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,gCAAaA,IAAb;AACA,kCAAeA,IAAf;AACA,sCAAmBA,IAAnB;;AAEA,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7CJ,IAAAA,IAAI,CAACK,mBAAL,CAAyB,CAAC,0BAAM,MAAP,EAAc,GAAGL,IAAI,CAACM,IAAL,CAAUC,IAAV,CAAeA,IAAhC,EAAsC,0BAAM,KAA5C,CAAzB;AACD,GAFD,MAEO;AACLP,IAAAA,IAAI,CAACQ,MAAL;AACD;AACF","sourcesContent":["import {\n assertNoArgs,\n assertNoParams,\n assertNoAttributes\n} from \"@marko/babel-utils\";\nimport write from \"../../util/html-out-write\";\n\nexport function enter(path) {\n assertNoArgs(path);\n assertNoParams(path);\n assertNoAttributes(path);\n\n if (path.hub.file.markoOpts.output === \"html\") {\n path.replaceWithMultiple([write`<!--`, ...path.node.body.body, write`-->`]);\n } else {\n path.remove();\n }\n}\n"],"file":"translate-html-comment.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-include-content.js"],"names":["enter","tag","hub","file","fs","markoOpts","fileSystem","tagName","get","node","value","tagExample","args","length","buildCodeFrameError","content","isStringLiteral","dir","path","dirname","opts","filename","fullPath","resolve","stat","statSync","isFile","Error","replaceWith","t","markoPlaceholder","stringLiteral","readFileSync","toString"],"mappings":"kJAAA;AACA;AACA;;AAEO,SAASA,KAAT,CAAeC,GAAf,EAAoB;AACzB,QAAM;AACJC,IAAAA,GAAG,EAAE,EAAEC,IAAF,EADD;AAEFF,EAAAA,GAFJ;AAGA,kCAAeA,GAAf;AACA,sCAAmBA,GAAnB;;AAEA,QAAMG,EAAE,GAAGD,IAAI,CAACE,SAAL,CAAeC,UAA1B;AACA,QAAMC,OAAO,GAAGN,GAAG,CAACO,GAAJ,CAAQ,MAAR,EAAgBC,IAAhB,CAAqBC,KAArC;AACA,QAAMC,UAAU,GAAI,IAAGJ,OAAQ,yBAA/B;AACA,QAAMK,IAAI,GAAGX,GAAG,CAACO,GAAJ,CAAQ,WAAR,CAAb;;AAEA,MAAII,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAMZ,GAAG,CAACa,mBAAJ;AACH,8CAAyCH,UAAW,GADjD,CAAN;;AAGD;;AAED,QAAM,CAACI,OAAD,IAAYH,IAAlB;;AAEA,MAAI,CAACG,OAAO,CAACC,eAAR,EAAL,EAAgC;AAC9B,UAAMD,OAAO,CAACD,mBAAR;AACH,uBAAkBH,UAAW,2BAD1B,CAAN;;AAGD;;AAED,QAAMM,GAAG,GAAGC,cAAKC,OAAL,CAAahB,IAAI,CAACiB,IAAL,CAAUC,QAAvB,CAAZ;AACA,QAAMC,QAAQ,GAAGJ,cAAKK,OAAL,CAAaN,GAAb,EAAkBF,OAAO,CAACN,IAAR,CAAaC,KAA/B,CAAjB;;AAEA,MAAI;AACF,UAAMc,IAAI,GAAGpB,EAAE,CAACqB,QAAH,CAAYH,QAAZ,CAAb;;AAEA,QAAI,CAACE,IAAI,CAACE,MAAL,EAAL,EAAoB;AAClB,YAAM,IAAIC,KAAJ,EAAN;AACD;AACF,GAND,CAME,MAAM;AACN,UAAMZ,OAAO,CAACD,mBAAR,CAA6B,4BAA2BP,OAAQ,IAAhE,CAAN;AACD;;AAEDN,EAAAA,GAAG,CAAC2B,WAAJ;AACEC,kBAAEC,gBAAF;AACED,kBAAEE,aAAF,CAAgB3B,EAAE,CAAC4B,YAAH,CAAgBV,QAAhB,EAA0BW,QAA1B,CAAmC,OAAnC,CAAhB,CADF;AAEE1B,EAAAA,OAAO,KAAK,cAFd,CADF;;;AAMD","sourcesContent":["import path from \"path\";\nimport { types as t } from \"@marko/compiler\";\nimport { assertNoParams, assertNoAttributes } from \"@marko/babel-utils\";\n\nexport function enter(tag) {\n const {\n hub: { file }\n } = tag;\n assertNoParams(tag);\n assertNoAttributes(tag);\n\n const fs = file.markoOpts.fileSystem;\n const tagName = tag.get(\"name\").node.value;\n const tagExample = `<${tagName}(\"./path-to-file.ext\")>`;\n const args = tag.get(\"arguments\");\n\n if (args.length !== 1) {\n throw tag.buildCodeFrameError(\n `A single path argument is required for ${tagExample}.`\n );\n }\n\n const [content] = args;\n\n if (!content.isStringLiteral()) {\n throw content.buildCodeFrameError(\n `The argument to ${tagExample} must be a static string.`\n );\n }\n\n const dir = path.dirname(file.opts.filename);\n const fullPath = path.resolve(dir, content.node.value);\n\n try {\n const stat = fs.statSync(fullPath);\n\n if (!stat.isFile()) {\n throw new Error();\n }\n } catch {\n throw content.buildCodeFrameError(`Unable to find file for <${tagName}>.`);\n }\n\n tag.replaceWith(\n t.markoPlaceholder(\n t.stringLiteral(fs.readFileSync(fullPath).toString(\"utf-8\")),\n tagName === \"include-text\"\n )\n );\n}\n"],"file":"translate-include-content.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-server-only.js"],"names":["enter","path","hub","file","markoOpts","output","remove"],"mappings":"6DAAO,SAASA,KAAT,CAAeC,IAAf,EAAqB;AAC1B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7CJ,IAAAA,IAAI,CAACK,MAAL;AACD;AACF","sourcesContent":["export function enter(path) {\n if (path.hub.file.markoOpts.output !== \"html\") {\n path.remove();\n }\n}\n"],"file":"translate-server-only.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/core/translate-while.js"],"names":["exit","path","arg","get","buildCodeFrameError","replaceWith","t","whileStatement","blockStatement","node","body"],"mappings":"gJAAA;AACA;;;;;AAKA;;AAEO,SAASA,IAAT,CAAcC,IAAd,EAAoB;AACzB,kCAAeA,IAAf;AACA,sCAAmBA,IAAnB;AACA,QAAMC,GAAG,GAAG,kCAAiBD,IAAjB,CAAZ;;AAEA,MAAI,CAACC,GAAL,EAAU;AACR,UAAMD,IAAI;AACPE,IAAAA,GADG,CACC,MADD;AAEHC,IAAAA,mBAFG;AAGF,6DAHE,CAAN;;AAKD;;AAEDH,EAAAA,IAAI,CAACI,WAAL;AACE;AACEC,kBAAEC,cAAF;AACE,oCAAiBN,IAAjB,CADF;AAEEK,kBAAEE,cAAF,CAAiBP,IAAI,CAACQ,IAAL,CAAUC,IAAV,CAAeA,IAAhC,CAFF,CADF;;AAKET,EAAAA,IAAI,CAACQ,IALP,CADF;;;AASD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n getArgOrSequence,\n assertNoAttributes,\n assertNoParams\n} from \"@marko/babel-utils\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nexport function exit(path) {\n assertNoParams(path);\n assertNoAttributes(path);\n const arg = getArgOrSequence(path);\n\n if (!arg) {\n throw path\n .get(\"name\")\n .buildCodeFrameError(\n \"A condition is required for the <while(condition)> tag.\"\n );\n }\n\n path.replaceWith(\n withPreviousLocation(\n t.whileStatement(\n getArgOrSequence(path),\n t.blockStatement(path.node.body.body)\n ),\n path.node\n )\n );\n}\n"],"file":"translate-while.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/taglib/index.js"],"names":["coreTaglib","migrateTaglib"],"mappings":"qJAAA;AACA,4D;AACe;AACb,CAAC,YAAD,EAAeA,aAAf,CADa;AAEb,CAAC,eAAD,EAAkBC,gBAAlB,CAFa,C","sourcesContent":["import coreTaglib from \"./core\";\nimport migrateTaglib from \"./migrate\";\nexport default [\n [\"marko/core\", coreTaglib],\n [\"marko/migrate\", migrateTaglib]\n];\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/migrate/all-templates.js"],"names":["ReferencedIdentifier","path","node","name","scope","hasBinding","replaceWith","t","identifier"],"mappings":"qJAAA;AACA,iG;;AAEe;AACbA,EAAAA,oBAAoB,CAACC,IAAD,EAAO;AACzB,QAAIA,IAAI,CAACC,IAAL,CAAUC,IAAV,KAAmB,MAAnB,IAA6B,CAACF,IAAI,CAACG,KAAL,CAAWC,UAAX,CAAsB,MAAtB,CAAlC,EAAiE;AAC/DJ,MAAAA,IAAI,CAACK,WAAL,CAAiB,mCAAqBC,gBAAEC,UAAF,CAAa,OAAb,CAArB,EAA4CP,IAAI,CAACC,IAAjD,CAAjB;AACD;AACF,GALY,E","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport withPreviousLocation from \"../../util/with-previous-location\";\n\nexport default {\n ReferencedIdentifier(path) {\n if (path.node.name === \"data\" && !path.scope.hasBinding(\"data\")) {\n path.replaceWith(withPreviousLocation(t.identifier(\"input\"), path.node));\n }\n }\n};\n"],"file":"all-templates.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/taglib/migrate/index.js"],"names":["migrator","migrateAllTemplates"],"mappings":"gEAAA,8E;AACe;AACb,eAAa,uBADA;AAEbA,EAAAA,QAAQ,EAAEC,mBAFG,E","sourcesContent":["import * as migrateAllTemplates from \"./all-templates\";\nexport default {\n \"taglib-id\": \"marko-default-migrate\",\n migrator: migrateAllTemplates\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/text/index.js"],"names":["path","hub","file","markoOpts","output"],"mappings":"uJAAA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,MAAIA,IAAI,CAACC,GAAL,CAASC,IAAT,CAAcC,SAAd,CAAwBC,MAAxB,KAAmC,MAAvC,EAA+C;AAC7C,4BAAcJ,IAAd;AACD,GAFD,MAEO;AACL,4BAAcA,IAAd;AACD;AACF","sourcesContent":["import translateHTML from \"./index[html]\";\nimport translateVDOM from \"./index[vdom]\";\n\nexport default function (path) {\n if (path.hub.file.markoOpts.output === \"html\") {\n translateHTML(path);\n } else {\n translateVDOM(path);\n }\n}\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/text/index[html].js"],"names":["path","node","replaceWith","t","stringLiteral","value"],"mappings":"uJAAA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE,qCAAqB,0BAAM,GAAEC,gBAAEC,aAAF,CAAgBH,IAAI,CAACI,KAArB,CAA4B,EAAzD,EAA4DJ,IAA5D,CADF;;AAGD","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport write from \"../util/html-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(write`${t.stringLiteral(node.value)}`, node)\n );\n}\n"],"file":"index[html].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/text/index[vdom].js"],"names":["path","node","replaceWith","t","stringLiteral","value","hub","file","_componentInstanceIdentifier"],"mappings":"uJAAA;AACA;AACA;AACA;;AAEe,kBAAUA,IAAV,EAAgB;AAC7B,QAAM,EAAEC,IAAF,KAAWD,IAAjB;;AAEAA,EAAAA,IAAI,CAACE,WAAL;AACE;AACE;AACE,KADF;AAEEC,kBAAEC,aAAF,CAAgB,gBAAOH,IAAI,CAACI,KAAZ,CAAhB,CAFF;AAGEL,EAAAA,IAAI,CAACM,GAAL,CAASC,IAAT,CAAcC,4BAHhB,CADF;;AAMEP,EAAAA,IANF,CADF;;;AAUD","sourcesContent":["import { decode } from \"he\";\nimport { types as t } from \"@marko/compiler\";\nimport write from \"../util/vdom-out-write\";\nimport withPreviousLocation from \"../util/with-previous-location\";\n\nexport default function (path) {\n const { node } = path;\n\n path.replaceWith(\n withPreviousLocation(\n write(\n \"t\",\n t.stringLiteral(decode(node.value)),\n path.hub.file._componentInstanceIdentifier\n ),\n node\n )\n );\n}\n"],"file":"index[vdom].js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/add-dependencies.js"],"names":["entryFile","isHydrate","modules","resolveVirtualDependency","hydrateIncludeImports","markoOpts","hydratedFiles","Set","program","path","shouldIncludeImport","toTestFn","addBrowserDeps","registerId","t","identifier","watchFiles","hasComponents","splitComponentIndex","set","skip","addHydrateDeps","metadata","marko","Array","from","initId","markoComponentsImport","importPath","resolvePath","specifiers","push","importSpecifier","unshiftContainer","pushContainer","expressionStatement","callExpression","runtimeId","stringLiteral","file","meta","resolved","opts","filename","has","add","component","basename","watchFile","imported","imports","tag","tags","endsWith","splitComponentId","splitComponentImport","importDefaultSpecifier","id","sourceMaps","s","dep","deps","virtualPath","code","map","startPos","undefined","MagicString","source","snip","endPos","generateMap","includeContent","style","toUrl","startsWith","req","join","importDeclaration","val","test","bind"],"mappings":"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","sourcesContent":["import path from \"path\";\nimport MagicString from \"magic-string\";\nimport { types as t } from \"@marko/compiler\";\nimport { loadFileForImport, resolveRelativePath } from \"@marko/babel-utils\";\n\nexport default (entryFile, isHydrate) => {\n const { modules, resolveVirtualDependency, hydrateIncludeImports } =\n entryFile.markoOpts;\n const hydratedFiles = new Set();\n const program = entryFile.path;\n const shouldIncludeImport = toTestFn(hydrateIncludeImports);\n\n if (!isHydrate) {\n addBrowserDeps(entryFile);\n return;\n }\n\n const registerId = t.identifier(\"register\");\n const watchFiles = new Set();\n let hasComponents = false;\n let splitComponentIndex = 0;\n program.set(\"body\", []);\n program.skip();\n\n addHydrateDeps(entryFile);\n entryFile.metadata.marko.watchFiles = Array.from(watchFiles);\n\n if (hasComponents) {\n const initId = t.identifier(\"init\");\n const markoComponentsImport = importPath(\n resolvePath(entryFile, \"marko/src/runtime/components/index.js\")\n );\n if (splitComponentIndex) {\n markoComponentsImport.specifiers.push(\n t.importSpecifier(registerId, registerId)\n );\n }\n markoComponentsImport.specifiers.push(t.importSpecifier(initId, initId));\n program.unshiftContainer(\"body\", markoComponentsImport);\n program.pushContainer(\n \"body\",\n t.expressionStatement(\n t.callExpression(\n initId,\n entryFile.markoOpts.runtimeId\n ? [t.stringLiteral(entryFile.markoOpts.runtimeId)]\n : []\n )\n )\n );\n }\n\n function addHydrateDeps(file) {\n const meta = file.metadata.marko;\n const resolved = resolveRelativePath(entryFile, file.opts.filename);\n if (hydratedFiles.has(resolved)) return;\n\n hydratedFiles.add(resolved);\n\n if (meta.component) {\n hasComponents = true;\n\n if (path.basename(meta.component) === path.basename(file.opts.filename)) {\n // Stateful component.\n program.pushContainer(\"body\", importPath(resolved));\n return;\n }\n }\n\n watchFiles.add(file.opts.filename);\n\n for (const watchFile of meta.watchFiles) {\n watchFiles.add(watchFile);\n }\n\n addBrowserDeps(file);\n\n for (const imported of meta.imports) {\n if (shouldIncludeImport(imported)) {\n program.pushContainer(\"body\", importPath(resolvePath(file, imported)));\n }\n }\n\n for (const tag of meta.tags) {\n if (tag.endsWith(\".marko\")) {\n if (!hydratedFiles.has(resolvePath(file, tag))) {\n addHydrateDeps(loadFileForImport(file, tag));\n }\n }\n }\n\n if (meta.component) {\n // Split component\n const splitComponentId = t.identifier(\n `component_${splitComponentIndex++}`\n );\n const splitComponentImport = importPath(\n resolvePath(file, meta.component)\n );\n splitComponentImport.specifiers.push(\n t.importDefaultSpecifier(splitComponentId)\n );\n program.pushContainer(\"body\", splitComponentImport);\n program.pushContainer(\n \"body\",\n t.expressionStatement(\n t.callExpression(registerId, [\n t.stringLiteral(meta.id),\n splitComponentId\n ])\n )\n );\n }\n }\n\n function addBrowserDeps(file) {\n const { filename, sourceMaps } = file.opts;\n let s;\n\n for (let dep of file.metadata.marko.deps) {\n if (typeof dep !== \"string\") {\n const { virtualPath } = dep;\n let { code } = dep;\n let map;\n\n if (sourceMaps && dep.startPos !== undefined) {\n s = s || new MagicString(file.code, { source: filename });\n map = s.snip(dep.startPos, dep.endPos).generateMap({\n source: filename,\n includeContent: true\n });\n\n if (sourceMaps === \"inline\" || sourceMaps === \"both\") {\n code += dep.style\n ? `\\n/*# sourceMappingURL=${map.toUrl()}*/`\n : `\\n//# sourceMappingURL=${map.toUrl()}`;\n\n if (sourceMaps === \"inline\") {\n map = undefined;\n }\n }\n }\n\n dep = resolveVirtualDependency(filename, {\n map,\n code,\n virtualPath\n });\n } else if (dep.startsWith(\"package:\")) {\n continue;\n }\n\n program.pushContainer(\"body\", importPath(resolvePath(file, dep)));\n }\n }\n\n function resolvePath(file, req) {\n return file === entryFile\n ? resolveRelativePath(file, req)\n : resolveRelativePath(\n entryFile,\n path.join(file.opts.filename, \"..\", req)\n );\n }\n\n function importPath(path) {\n if (modules === \"cjs\") {\n return t.expressionStatement(\n t.callExpression(t.identifier(\"require\"), [t.stringLiteral(path)])\n );\n }\n\n return t.importDeclaration([], t.stringLiteral(path));\n }\n};\n\nfunction toTestFn(val) {\n if (typeof val === \"function\") {\n return val;\n }\n\n return val.test.bind(val);\n}\n"],"file":"add-dependencies.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/get-component-files.js"],"names":["COMPONENT_FILES_KEY","Symbol","getComponentFiles","hub","file","meta","metadata","marko","filename","opts","fs","markoOpts","fileSystem","ext","path","extname","dirname","dirFiles","readdirSync","sort","nameNoExt","basename","isEntry","fileMatch","styleMatch","RegExp","componentMatch","splitComponentMatch","packageMatch","styleFile","packageFile","componentFile","componentBrowserFile","test","hasComponent","hasComponentBrowser"],"mappings":"gKAAA;AACA;;AAEA,MAAMA,mBAAmB,GAAGC,MAAM,EAAlC;;AAEe,SAASC,iBAAT,CAA2B,EAAEC,GAAG,EAAE,EAAEC,IAAF,EAAP,EAA3B,EAA8C;AAC3D,QAAMC,IAAI,GAAGD,IAAI,CAACE,QAAL,CAAcC,KAA3B;;AAEA,MAAIF,IAAI,CAACL,mBAAD,CAAR,EAA+B;AAC7B,WAAOK,IAAI,CAACL,mBAAD,CAAX;AACD;;AAED,QAAM,EAAEQ,QAAF,KAAeJ,IAAI,CAACK,IAA1B;AACA,QAAMC,EAAE,GAAGN,IAAI,CAACO,SAAL,CAAeC,UAA1B;AACA,QAAMC,GAAG,GAAGC,cAAKC,OAAL,CAAaP,QAAb,CAAZ;AACA,QAAMQ,OAAO,GAAGF,cAAKE,OAAL,CAAaR,QAAb,CAAhB;AACA,QAAMS,QAAQ,GAAGP,EAAE,CAACQ,WAAH,CAAeF,OAAf,EAAwBG,IAAxB,EAAjB;AACA,QAAMC,SAAS,GAAGN,cAAKO,QAAL,CAAcb,QAAd,EAAwBK,GAAxB,CAAlB;AACA,QAAMS,OAAO,GAAG,YAAYF,SAA5B;AACA,QAAMG,SAAS,GAAI,IAAG,iCAAaH,SAAb,CAAwB,MAAKE,OAAO,GAAG,GAAH,GAAS,EAAG,GAAtE;AACA,QAAME,UAAU,GAAG,IAAIC,MAAJ,CAAY,IAAGF,SAAU,eAAzB,CAAnB;AACA,QAAMG,cAAc,GAAG,IAAID,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAAvB;AACA,QAAMI,mBAAmB,GAAG,IAAIF,MAAJ;AACzB,MAAGF,SAAU,2BADY,CAA5B;;AAGA,QAAMK,YAAY,GAAG,IAAIH,MAAJ,CAAY,IAAGF,SAAU,mBAAzB,CAArB;AACA,MAAIM,SAAJ;AACA,MAAIC,WAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,oBAAJ;;AAEA,OAAK,MAAM5B,IAAX,IAAmBa,QAAnB,EAA6B;AAC3B,QAAI,CAACY,SAAD,IAAcL,UAAU,CAACS,IAAX,CAAgB7B,IAAhB,CAAlB,EAAyC;AACvCyB,MAAAA,SAAS,GAAI,KAAIzB,IAAK,EAAtB;AACD,KAFD,MAEO,IAAI,CAAC0B,WAAD,IAAgBF,YAAY,CAACK,IAAb,CAAkB7B,IAAlB,CAApB,EAA6C;AAClD0B,MAAAA,WAAW,GAAI,KAAI1B,IAAK,EAAxB;AACD,KAFM,MAEA,IAAI,CAAC2B,aAAD,IAAkBL,cAAc,CAACO,IAAf,CAAoB7B,IAApB,CAAtB,EAAiD;AACtD2B,MAAAA,aAAa,GAAI,KAAI3B,IAAK,EAA1B;AACAC,MAAAA,IAAI,CAAC6B,YAAL,GAAoB,IAApB;AACD,KAHM,MAGA,IAAI,CAACF,oBAAD,IAAyBL,mBAAmB,CAACM,IAApB,CAAyB7B,IAAzB,CAA7B,EAA6D;AAClE4B,MAAAA,oBAAoB,GAAI,KAAI5B,IAAK,EAAjC;AACAC,MAAAA,IAAI,CAAC8B,mBAAL,GAA2B,IAA3B;AACD;AACF;;AAED,SAAQ9B,IAAI,CAACL,mBAAD,CAAJ,GAA4B;AAClC6B,IAAAA,SADkC;AAElCC,IAAAA,WAFkC;AAGlCC,IAAAA,aAHkC;AAIlCC,IAAAA,oBAJkC,EAApC;;AAMD","sourcesContent":["import path from \"path\";\nimport escapeRegExp from \"escape-string-regexp\";\n\nconst COMPONENT_FILES_KEY = Symbol();\n\nexport default function getComponentFiles({ hub: { file } }) {\n const meta = file.metadata.marko;\n\n if (meta[COMPONENT_FILES_KEY]) {\n return meta[COMPONENT_FILES_KEY];\n }\n\n const { filename } = file.opts;\n const fs = file.markoOpts.fileSystem;\n const ext = path.extname(filename);\n const dirname = path.dirname(filename);\n const dirFiles = fs.readdirSync(dirname).sort();\n const nameNoExt = path.basename(filename, ext);\n const isEntry = \"index\" === nameNoExt;\n const fileMatch = `(${escapeRegExp(nameNoExt)}\\\\.${isEntry ? \"|\" : \"\"})`;\n const styleMatch = new RegExp(`^${fileMatch}style\\\\.\\\\w+$`);\n const componentMatch = new RegExp(`^${fileMatch}component\\\\.\\\\w+$`);\n const splitComponentMatch = new RegExp(\n `^${fileMatch}component-browser\\\\.\\\\w+$`\n );\n const packageMatch = new RegExp(`^${fileMatch}browser\\\\.\\\\json$`);\n let styleFile;\n let packageFile;\n let componentFile;\n let componentBrowserFile;\n\n for (const file of dirFiles) {\n if (!styleFile && styleMatch.test(file)) {\n styleFile = `./${file}`;\n } else if (!packageFile && packageMatch.test(file)) {\n packageFile = `./${file}`;\n } else if (!componentFile && componentMatch.test(file)) {\n componentFile = `./${file}`;\n meta.hasComponent = true;\n } else if (!componentBrowserFile && splitComponentMatch.test(file)) {\n componentBrowserFile = `./${file}`;\n meta.hasComponentBrowser = true;\n }\n }\n\n return (meta[COMPONENT_FILES_KEY] = {\n styleFile,\n packageFile,\n componentFile,\n componentBrowserFile\n });\n}\n"],"file":"get-component-files.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/html-out-write.js"],"names":["write","strings","expressions","template","t","expressionStatement","callExpression","memberExpression","identifier"],"mappings":"+DAAA;AACA;;AAEe,SAASA,KAAT,CAAeC,OAAf,EAAwB,GAAGC,WAA3B,EAAwC;AACrD,QAAMC,QAAQ,GAAG,yCAAwBF,OAAxB,EAAiC,GAAGC,WAApC,CAAjB;;AAEA,MAAIC,QAAJ,EAAc;AACZ,WAAOC,gBAAEC,mBAAF;AACLD,oBAAEE,cAAF;AACEF,oBAAEG,gBAAF,CAAmBH,gBAAEI,UAAF,CAAa,KAAb,CAAnB,EAAwCJ,gBAAEI,UAAF,CAAa,GAAb,CAAxC,CADF;AAEE,KAACL,QAAD,CAFF,CADK,CAAP;;;AAMD;AACF","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport { normalizeTemplateString } from \"@marko/babel-utils\";\n\nexport default function write(strings, ...expressions) {\n const template = normalizeTemplateString(strings, ...expressions);\n\n if (template) {\n return t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(\"w\")),\n [template]\n )\n );\n }\n}\n"],"file":"html-out-write.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/key-manager.js"],"names":["KeyManagerLookup","WeakMap","getKeyManager","path","hub","get","set","KeyManager","hasAutoKey","key","node","Boolean","_isAutoKey","hasUserKey","_hasUserKey","constructor","_nextKey","nextKey","Object","assign","t","stringLiteral","String","resolveKey","firstChildTag","find","child","isMarkoTag","firstChildKey","getUserKey","keyValueIdentifier","scope","generateUidIdentifier","insertBefore","variableDeclaration","variableDeclarator","crawl","parentKeyScope","getParentKeyScope","autoKey","binaryExpression","parentLoopTag","findParent","isLoopTag","getKeyScope","existingKeyScope","keyScopeIdentifier","firstChildKeyValue","valuePath","getOwnBinding","name","declarationPath","parentPath","pushContainer","keyValue","attributes","some","attr","body","params","numericLiteral","updateExpression","unshiftContainer","undefined","keyAttr","remove"],"mappings":"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","sourcesContent":["import { types as t } from \"@marko/compiler\";\nimport {\n normalizeTemplateString,\n isTransparentTag,\n isLoopTag\n} from \"@marko/babel-utils\";\nconst KeyManagerLookup = new WeakMap();\n\n/**\n * @returns {KeyManager}\n */\nexport function getKeyManager(path) {\n const { hub } = path;\n return (\n KeyManagerLookup.get(hub) ||\n KeyManagerLookup.set(hub, new KeyManager()).get(hub)\n );\n}\n\nexport function hasAutoKey(path) {\n const key = path.get(\"key\").node;\n return Boolean(key && key._isAutoKey);\n}\n\nexport function hasUserKey(path) {\n return path.node._hasUserKey;\n}\n\nclass KeyManager {\n constructor() {\n this._nextKey = 0;\n }\n\n nextKey() {\n return Object.assign(t.stringLiteral(String(this._nextKey++)), {\n _isAutoKey: true\n });\n }\n\n resolveKey(path) {\n if (isLoopTag(path)) {\n // Record the first child key if found under a loop.\n const firstChildTag = path\n .get(\"body.body\")\n .find(child => child.isMarkoTag());\n const firstChildKey = firstChildTag && getUserKey(firstChildTag);\n\n if (firstChildKey) {\n const keyValueIdentifier = path.scope.generateUidIdentifier(\"keyValue\");\n firstChildTag.set(\"key\", keyValueIdentifier);\n firstChildTag.insertBefore(\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(keyValueIdentifier, firstChildKey)\n ])\n );\n\n path.set(\"keyValue\", keyValueIdentifier);\n path.get(\"body\").scope.crawl();\n }\n return;\n }\n\n if (isTransparentTag(path)) {\n return;\n }\n\n if (getUserKey(path)) {\n return;\n }\n\n const parentKeyScope = getParentKeyScope(path);\n const autoKey = path.get(\"key\").node || this.nextKey();\n path.set(\n \"key\",\n parentKeyScope\n ? t.binaryExpression(\"+\", autoKey, parentKeyScope)\n : autoKey\n );\n }\n}\n\nfunction getParentKeyScope(path) {\n const parentLoopTag = path.findParent(isLoopTag);\n return parentLoopTag && getKeyScope(parentLoopTag);\n}\n\nfunction getKeyScope(path) {\n const existingKeyScope = path.get(\"keyScope\").node;\n if (existingKeyScope) {\n return existingKeyScope;\n }\n\n const keyScopeIdentifier = path.scope.generateUidIdentifier(\"keyScope\");\n const firstChildKeyValue = path.get(\"keyValue\").node;\n\n if (firstChildKeyValue) {\n const valuePath = path\n .get(\"body\")\n .scope.getOwnBinding(firstChildKeyValue.name).path;\n const declarationPath = valuePath.parentPath;\n declarationPath.pushContainer(\n \"declarations\",\n t.variableDeclarator(\n keyScopeIdentifier,\n normalizeTemplateString`[${firstChildKeyValue}]`\n )\n );\n } else {\n let keyValue;\n\n if (path.get(\"name.value\").node === \"for\") {\n if (path.node.attributes.some(attr => attr.name === \"of\")) {\n keyValue = path.node.body.params[1];\n } else {\n keyValue = path.node.body.params[0];\n }\n }\n\n if (!keyValue) {\n const keyValueIdentifier = path.scope.generateUidIdentifier(\"keyValue\");\n path.insertBefore(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(keyValueIdentifier, t.numericLiteral(0))\n ])\n );\n\n keyValue = t.updateExpression(\"++\", keyValueIdentifier);\n }\n\n const parentKeyScope = getParentKeyScope(path);\n if (parentKeyScope) {\n keyValue = t.binaryExpression(\"+\", keyValue, parentKeyScope);\n }\n\n path\n .get(\"body\")\n .unshiftContainer(\n \"body\",\n t.variableDeclaration(\"const\", [\n t.variableDeclarator(\n keyScopeIdentifier,\n normalizeTemplateString`[${keyValue}]`\n )\n ])\n );\n }\n\n path.set(\"keyScope\", keyScopeIdentifier);\n return keyScopeIdentifier;\n}\n\nfunction getUserKey(path) {\n if (hasAutoKey(path)) {\n return undefined;\n }\n\n let key = path.get(\"key\").node;\n if (key === undefined) {\n const keyAttr = path\n .get(\"attributes\")\n .find(attr => attr.get(\"name\").node === \"key\");\n\n if (keyAttr) {\n key = normalizeTemplateString`@${keyAttr.get(\"value\").node}`;\n path.node._hasUserKey = true;\n keyAttr.remove();\n } else {\n key = null;\n }\n\n path.set(\"key\", key);\n }\n\n return key;\n}\n"],"file":"key-manager.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/optimize-html-writes.js"],"names":["mergeWriteCallsVisitor","ExpressionStatement","path","curPath","quasis","expressions","removals","content","getOutContent","push","getNextSibling","forEach","removal","remove","length","get","replaceWith","optimizeHTMLWrites","hub","file","markoOpts","optimize","output","traverse","isExpressionStatement","isCallExpression","isMemberExpression","node"],"mappings":"uFAAA;;AAEA,MAAMA,sBAAsB,GAAG;AAC7BC,EAAAA,mBAAmB,CAACC,IAAD,EAAO;AACxB,QAAIC,OAAO,GAAGD,IAAd;AACA,UAAME,MAAM,GAAG,CAAC,EAAD,CAAf;AACA,UAAMC,WAAW,GAAG,EAApB;AACA,UAAMC,QAAQ,GAAG,EAAjB;;AAEA,OAAG;AACD,YAAMC,OAAO,GAAGC,aAAa,CAACL,OAAD,CAA7B;AACA,UAAI,CAACI,OAAL,EAAc;AACd,UAAIJ,OAAO,KAAKD,IAAhB,EAAsBI,QAAQ,CAACG,IAAT,CAAcN,OAAd;AACtBC,MAAAA,MAAM,CAACK,IAAP,CAAY,EAAZ;AACAJ,MAAAA,WAAW,CAACI,IAAZ,CAAiBF,OAAjB;AACD,KAND,QAMUJ,OAAO,GAAGA,OAAO,CAACO,cAAR,EANpB;;AAQAJ,IAAAA,QAAQ,CAACK,OAAT,CAAiB,CAAAC,OAAO,KAAIA,OAAO,CAACC,MAAR,EAA5B;;AAEA,QAAIR,WAAW,CAACS,MAAZ,GAAqB,CAAzB,EAA4B;AAC1BZ,MAAAA,IAAI;AACDa,MAAAA,GADH,CACO,wBADP;AAEGC,MAAAA,WAFH,CAEe,yCAAwBZ,MAAxB,EAAgC,GAAGC,WAAnC,CAFf;AAGD;AACF,GAtB4B,EAA/B;;;AAyBO,SAASY,kBAAT,CAA4Bf,IAA5B,EAAkC;AACvC,QAAM;AACJgB,IAAAA,GAAG,EAAE;AACHC,MAAAA,IAAI,EAAE,EAAEC,SAAF,EADH,EADD;;AAIFlB,EAAAA,IAJJ;;AAMA,MAAIkB,SAAS,CAACC,QAAV,IAAsBD,SAAS,CAACE,MAAV,KAAqB,MAA/C,EAAuD;AACrDpB,IAAAA,IAAI,CAACqB,QAAL,CAAcvB,sBAAd;AACD;AACF;;AAED,SAASQ,aAAT,CAAuBN,IAAvB,EAA6B;AAC3B,MAAIA,IAAI,CAACsB,qBAAL,EAAJ,EAAkC;AAChC,WAAOhB,aAAa,CAACN,IAAI,CAACa,GAAL,CAAS,YAAT,CAAD,CAApB;AACD;;AAED;AACEb,IAAAA,IAAI,CAACuB,gBAAL;AACAvB,IAAAA,IAAI,CAACa,GAAL,CAAS,QAAT,EAAmBW,kBAAnB,EADA;AAEAxB,IAAAA,IAAI,CAACa,GAAL,CAAS,oBAAT,EAA+BY,IAA/B,KAAwC,KAFxC;AAGAzB,IAAAA,IAAI,CAACa,GAAL,CAAS,sBAAT,EAAiCY,IAAjC,KAA0C,GAH1C;AAIAzB,IAAAA,IAAI,CAACa,GAAL,CAAS,aAAT,EAAwBY,IAL1B;;AAOD","sourcesContent":["import { normalizeTemplateString } from \"@marko/babel-utils\";\n\nconst mergeWriteCallsVisitor = {\n ExpressionStatement(path) {\n let curPath = path;\n const quasis = [\"\"];\n const expressions = [];\n const removals = [];\n\n do {\n const content = getOutContent(curPath);\n if (!content) break;\n if (curPath !== path) removals.push(curPath);\n quasis.push(\"\");\n expressions.push(content);\n } while ((curPath = curPath.getNextSibling()));\n\n removals.forEach(removal => removal.remove());\n\n if (expressions.length > 1) {\n path\n .get(\"expression.arguments.0\")\n .replaceWith(normalizeTemplateString(quasis, ...expressions));\n }\n }\n};\n\nexport function optimizeHTMLWrites(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n\n if (markoOpts.optimize && markoOpts.output === \"html\") {\n path.traverse(mergeWriteCallsVisitor);\n }\n}\n\nfunction getOutContent(path) {\n if (path.isExpressionStatement()) {\n return getOutContent(path.get(\"expression\"));\n }\n\n return (\n path.isCallExpression() &&\n path.get(\"callee\").isMemberExpression() &&\n path.get(\"callee.object.name\").node === \"out\" &&\n path.get(\"callee.property.name\").node === \"w\" &&\n path.get(\"arguments.0\").node\n );\n}\n"],"file":"optimize-html-writes.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/optimize-vdom-create.js"],"names":["staticNodes","WeakSet","mergeStaticCreateVisitor","MarkoText","path","state","node","currentRoot","t","callExpression","memberExpression","identifier","stringLiteral","value","MarkoPlaceholder","get","evaluate","toString","MarkoTag","attributes","find","a","name","resolveKey","writeArgs","analyzeStaticVisitor","add","escape","confident","enter","skip","exit","isStatic","body","params","length","arguments","tagDef","translator","every","attr","isMarkoAttribute","modifier","directives","attrValue","exclude","isObjectExpression","isArrayExpression","isRegExpLiteral","has","optimizeStaticVDOM","hub","file","shouldRun","markoOpts","parentPath","scope","generateUidIdentifier","traverse","d","variableDeclaration","variableDeclarator","push","replaceWith","_componentInstanceIdentifier","analyzeStaticVDOM","optimize","output"],"mappings":"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","sourcesContent":["import { decode } from \"he\";\nimport { types as t } from \"@marko/compiler\";\nimport {\n importDefault,\n isNativeTag,\n isLoopTag,\n getTagDef\n} from \"@marko/babel-utils\";\nimport { getKeyManager } from \"./key-manager\";\nimport write from \"./vdom-out-write\";\nimport { tagArguments } from \"../tag/native-tag[vdom]\";\nimport directives from \"../tag/attribute/directives\";\n\nconst staticNodes = new WeakSet();\n\nconst mergeStaticCreateVisitor = {\n MarkoText(path, state) {\n const { node } = path;\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"t\")),\n [t.stringLiteral(decode(node.value))]\n );\n },\n MarkoPlaceholder(path, state) {\n const { value } = path.get(\"value\").evaluate();\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"t\")),\n [t.stringLiteral(value != null ? value.toString() : \"\")]\n );\n },\n MarkoTag(path, state) {\n if (path.node.attributes.find(a => a.name === \"key\"))\n getKeyManager(path).resolveKey(path);\n const writeArgs = tagArguments(path, true);\n state.currentRoot = t.callExpression(\n t.memberExpression(state.currentRoot, t.identifier(\"e\")),\n writeArgs\n );\n }\n};\n\nconst analyzeStaticVisitor = {\n MarkoText(path) {\n staticNodes.add(path.node);\n },\n MarkoPlaceholder(path) {\n if (path.node.escape) {\n const { confident } = path.get(\"value\").evaluate();\n if (confident) {\n staticNodes.add(path.node);\n }\n }\n },\n MarkoTag: {\n enter(path) {\n // needed to handle global keys on elements that don't have specific key attributes\n if (isLoopTag(path)) path.skip();\n },\n exit(path) {\n // check name\n let isStatic =\n isNativeTag(path) &&\n !path.node.body.params.length &&\n !path.node.arguments;\n\n const tagDef = getTagDef(path);\n isStatic = isStatic && !tagDef.translator;\n\n // check attributes\n isStatic =\n isStatic &&\n path.get(\"attributes\").every(attr => {\n if (\n !t.isMarkoAttribute(attr) ||\n attr.node.arguments ||\n attr.node.modifier ||\n directives[attr.node.name]\n )\n return false;\n\n const attrValue = attr.get(\"value\");\n const exclude =\n t.isObjectExpression(attrValue) ||\n t.isArrayExpression(attrValue) ||\n t.isRegExpLiteral(attrValue);\n if (exclude) return false;\n const { confident } = attrValue.evaluate();\n return confident;\n });\n\n // check children\n isStatic =\n isStatic &&\n path\n .get(\"body\")\n .get(\"body\")\n .every(t => staticNodes.has(t.node));\n\n if (isStatic) staticNodes.add(path.node);\n }\n }\n};\n\nexport function optimizeStaticVDOM(path) {\n const {\n hub: { file }\n } = path;\n\n if (\n !shouldRun(file.markoOpts) ||\n !staticNodes.has(path.node) ||\n staticNodes.has(path.parentPath.parentPath.node)\n ) {\n return;\n }\n\n const identifier = path.scope.generateUidIdentifier(\"marko_node\");\n const writeArgs = tagArguments(path, true);\n const state = {\n currentRoot: t.callExpression(\n importDefault(\n file,\n \"marko/src/runtime/vdom/helpers/v-element.js\",\n \"marko_createElement\"\n ),\n writeArgs\n )\n };\n\n path.traverse(mergeStaticCreateVisitor, state);\n\n const d = t.variableDeclaration(\"const\", [\n t.variableDeclarator(identifier, state.currentRoot)\n ]);\n file.path.node.body.push(d);\n path.replaceWith(write(\"n\", identifier, file._componentInstanceIdentifier));\n path.skip();\n}\n\nexport function analyzeStaticVDOM(path) {\n if (shouldRun(path.hub.file.markoOpts)) {\n path.traverse(analyzeStaticVisitor);\n }\n}\n\nfunction shouldRun(markoOpts) {\n return markoOpts.optimize && markoOpts.output !== \"html\";\n}\n"],"file":"optimize-vdom-create.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/plugin-hooks.js"],"names":["enter","plugin","args","fn","default","exit","undefined"],"mappings":"kFAAA;;AAEO,SAASA,KAAT,CAAeC,MAAf,EAAuB,GAAGC,IAA1B,EAAgC;AACrC,QAAMC,EAAE;AACLF,EAAAA,MAAM;AACJA,EAAAA,MAAM,CAACD,KAAP;AACEC,EAAAA,MAAM,CAACG,OAAP,IAAkBH,MAAM,CAACG,OAAP,CAAeJ,KADnC;AAECC,EAAAA,MAAM,CAACG,OAHJ,CAAP;AAIAH,EAAAA,MALF;AAMA,MAAI,OAAOE,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF;;AAEM,SAASG,IAAT,CAAcJ,MAAd,EAAsB,GAAGC,IAAzB,EAA+B;AACpC,QAAMC,EAAE;AACNF,EAAAA,MAAM;AACLA,EAAAA,MAAM,CAACI,IAAP,KAAgBJ,MAAM,CAACG,OAAP,GAAiBH,MAAM,CAACG,OAAP,CAAeC,IAAhC,GAAuCC,SAAvD,CADK,CADR;AAGA,MAAI,OAAOH,EAAP,KAAc,UAAlB,EAA8B;AAC5BA,IAAAA,EAAE,CAAC,GAAGD,IAAJ,CAAF;AACD;AACF","sourcesContent":["// Utilities for executing multi step compiler hooks (code generators in this package).\n\nexport function enter(plugin, ...args) {\n const fn =\n (plugin &&\n (plugin.enter ||\n (plugin.default && plugin.default.enter) ||\n plugin.default)) ||\n plugin;\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n\nexport function exit(plugin, ...args) {\n const fn =\n plugin &&\n (plugin.exit || (plugin.default ? plugin.default.exit : undefined));\n if (typeof fn === \"function\") {\n fn(...args);\n }\n}\n"],"file":"plugin-hooks.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/runtime-flags.js"],"names":["HAS_SIMPLE_ATTRS","IS_CUSTOM_ELEMENT","SPREAD_ATTRS"],"mappings":"4HAAO,MAAMA,gBAAgB,GAAG,CAAzB,C;AACA,MAAMC,iBAAiB,GAAG,CAA1B,C,CAA6B;8CAC7B,MAAMC,YAAY,GAAG,CAArB,C,CAAwB","sourcesContent":["export const HAS_SIMPLE_ATTRS = 1;\nexport const IS_CUSTOM_ELEMENT = 2; // TODO: impl custom elements.\nexport const SPREAD_ATTRS = 4; // TODO: impl custom elements.\n"],"file":"runtime-flags.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/vdom-out-write.js"],"names":["write","method","args","t","expressionStatement","callExpression","memberExpression","identifier"],"mappings":"+DAAA;;AAEe,SAASA,KAAT,CAAeC,MAAf,EAAuB,GAAGC,IAA1B,EAAgC;AAC7C,SAAOC,gBAAEC,mBAAF;AACLD,kBAAEE,cAAF;AACEF,kBAAEG,gBAAF,CAAmBH,gBAAEI,UAAF,CAAa,KAAb,CAAnB,EAAwCJ,gBAAEI,UAAF,CAAaN,MAAb,CAAxC,CADF;AAEEC,EAAAA,IAFF,CADK,CAAP;;;AAMD","sourcesContent":["import { types as t } from \"@marko/compiler\";\n\nexport default function write(method, ...args) {\n return t.expressionStatement(\n t.callExpression(\n t.memberExpression(t.identifier(\"out\"), t.identifier(method)),\n args\n )\n );\n}\n"],"file":"vdom-out-write.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/util/with-previous-location.js"],"names":["withPreviousLocation","newNode","originalNode","start","loc","end"],"mappings":"8EAAe,SAASA,oBAAT,CAA8BC,OAA9B,EAAuCC,YAAvC,EAAqD;AAClED,EAAAA,OAAO,CAACE,KAAR,GAAgBD,YAAY,CAACC,KAA7B;AACAF,EAAAA,OAAO,CAACG,GAAR,GAAcF,YAAY,CAACE,GAA3B;AACAH,EAAAA,OAAO,CAACI,GAAR,GAAcH,YAAY,CAACG,GAA3B;AACA,SAAOJ,OAAP;AACD","sourcesContent":["export default function withPreviousLocation(newNode, originalNode) {\n newNode.start = originalNode.start;\n newNode.loc = originalNode.loc;\n newNode.end = originalNode.end;\n return newNode;\n}\n"],"file":"with-previous-location.js"}