marko 4.25.0 → 4.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. package/bin/markoc.js +18 -18
  2. package/dist/compiler/CompileContext.js +3 -8
  3. package/dist/core-tags/components/init-components-tag.js +1 -52
  4. package/dist/core-tags/components/package.json +1 -3
  5. package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
  6. package/dist/core-tags/components/preserve-tag.js +1 -27
  7. package/dist/core-tags/core/await/AsyncValue.js +20 -20
  8. package/dist/core-tags/core/await/renderer.js +11 -12
  9. package/dist/core-tags/core/await/reorderer-renderer.js +11 -6
  10. package/dist/index.js +1 -39
  11. package/dist/node-require/index.js +11 -0
  12. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +12 -0
  13. package/dist/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +14 -14
  14. package/dist/node_modules/@internal/components-beginComponent/package.json +11 -0
  15. package/dist/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +47 -47
  16. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  17. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  18. package/dist/node_modules/@internal/components-endComponent/index.js +11 -0
  19. package/dist/node_modules/@internal/components-endComponent/package.json +11 -0
  20. package/dist/node_modules/@internal/components-entry/index-browser.js +9 -0
  21. package/dist/node_modules/@internal/components-entry/index.js +285 -0
  22. package/dist/node_modules/@internal/components-entry/package.json +11 -0
  23. package/dist/{runtime/components/legacy → node_modules/@internal/components-entry-legacy}/index-browser.js +14 -15
  24. package/dist/node_modules/@internal/components-entry-legacy/index.js +14 -0
  25. package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
  26. package/dist/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +180 -79
  27. package/dist/node_modules/@internal/components-registry/index.js +34 -0
  28. package/dist/node_modules/@internal/components-registry/package.json +11 -0
  29. package/dist/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +23 -24
  30. package/dist/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +10 -12
  31. package/dist/node_modules/@internal/components-util/package.json +11 -0
  32. package/dist/node_modules/@internal/create-readable/index-browser.js +25 -0
  33. package/dist/node_modules/@internal/create-readable/index.js +52 -0
  34. package/dist/node_modules/@internal/create-readable/package.json +11 -0
  35. package/dist/node_modules/@internal/init-components-tag/index.js +52 -0
  36. package/dist/node_modules/@internal/init-components-tag/package.json +11 -0
  37. package/dist/{loader/index-default.js → node_modules/@internal/loader/index.js} +1 -1
  38. package/dist/node_modules/@internal/loader/package.json +11 -0
  39. package/dist/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +8 -8
  40. package/dist/node_modules/@internal/preserve-tag/index.js +27 -0
  41. package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
  42. package/dist/node_modules/@internal/set-immediate/index-browser.js +17 -0
  43. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -0
  44. package/dist/node_modules/@internal/set-immediate/index.js +2 -0
  45. package/dist/node_modules/@internal/set-immediate/package.json +11 -0
  46. package/dist/runtime/RenderResult.js +24 -19
  47. package/dist/runtime/components/Component.js +154 -151
  48. package/dist/runtime/components/ComponentDef.js +28 -28
  49. package/dist/runtime/components/ComponentsContext.js +19 -19
  50. package/dist/runtime/components/GlobalComponentsContext.js +4 -4
  51. package/dist/runtime/components/KeySequence.js +3 -3
  52. package/dist/runtime/components/ServerComponent.js +13 -13
  53. package/dist/runtime/components/State.js +28 -28
  54. package/dist/runtime/components/attach-detach.js +9 -9
  55. package/dist/runtime/components/defineComponent.js +5 -5
  56. package/dist/runtime/components/dom-data.js +6 -6
  57. package/dist/runtime/components/event-delegation.js +15 -16
  58. package/dist/runtime/components/index.js +1 -285
  59. package/dist/runtime/components/legacy/browser.json +1 -1
  60. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
  61. package/dist/runtime/components/legacy/defineRenderer-legacy.js +18 -19
  62. package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -18
  63. package/dist/runtime/components/legacy/dependencies/html.js +1 -1
  64. package/dist/runtime/components/legacy/dependencies/index.js +9 -9
  65. package/dist/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  66. package/dist/runtime/components/legacy/index.js +1 -14
  67. package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
  68. package/dist/runtime/components/registry.js +1 -34
  69. package/dist/runtime/components/renderer.js +38 -38
  70. package/dist/runtime/components/update-manager.js +10 -10
  71. package/dist/runtime/createOut.js +1 -1
  72. package/dist/runtime/dom-insert.js +6 -6
  73. package/dist/runtime/helpers/_change-case.js +2 -2
  74. package/dist/runtime/helpers/assign.js +3 -2
  75. package/dist/runtime/helpers/dynamic-tag.js +14 -16
  76. package/dist/runtime/helpers/load-template.js +1 -1
  77. package/dist/runtime/helpers/merge.js +3 -1
  78. package/dist/runtime/helpers/style-value.js +2 -2
  79. package/dist/runtime/html/AsyncStream.js +61 -52
  80. package/dist/runtime/html/BufferedWriter.js +5 -1
  81. package/dist/runtime/html/StringWriter.js +7 -3
  82. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  83. package/dist/runtime/html/helpers/attr.js +4 -4
  84. package/dist/runtime/html/helpers/attrs.js +3 -3
  85. package/dist/runtime/html/helpers/data-marko.js +4 -6
  86. package/dist/runtime/html/helpers/escape-quotes.js +2 -2
  87. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  88. package/dist/runtime/html/helpers/props-script.js +1 -1
  89. package/dist/runtime/html/index.js +15 -12
  90. package/dist/runtime/renderable.js +5 -5
  91. package/dist/runtime/vdom/AsyncVDOMBuilder.js +102 -103
  92. package/dist/runtime/vdom/VComment.js +7 -7
  93. package/dist/runtime/vdom/VComponent.js +5 -5
  94. package/dist/runtime/vdom/VDocumentFragment.js +8 -8
  95. package/dist/runtime/vdom/VElement.js +55 -54
  96. package/dist/runtime/vdom/VFragment.js +9 -9
  97. package/dist/runtime/vdom/VNode.js +30 -30
  98. package/dist/runtime/vdom/VText.js +7 -7
  99. package/dist/runtime/vdom/helpers/v-element.js +1 -1
  100. package/dist/runtime/vdom/helpers/v-text.js +1 -1
  101. package/dist/runtime/vdom/index.js +12 -22
  102. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  103. package/dist/runtime/vdom/morphdom/helpers.js +3 -3
  104. package/dist/runtime/vdom/morphdom/index.js +72 -68
  105. package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
  106. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  107. package/dist/runtime/vdom/vdom.js +19 -21
  108. package/docs/body-content.md +2 -2
  109. package/docs/class-components.md +3 -3
  110. package/docs/express.md +1 -1
  111. package/docs/lasso.md +3 -6
  112. package/docs/marko-v4.md +5 -5
  113. package/docs/redux.md +1 -1
  114. package/docs/server-side-rendering.md +2 -2
  115. package/docs/why-is-marko-fast.md +2 -10
  116. package/package.json +1 -1
  117. package/src/browser-refresh.js +2 -2
  118. package/src/compiler/CodeWriter.js +1 -3
  119. package/src/compiler/CompileContext.js +3 -8
  120. package/src/compiler/Compiler.js +4 -4
  121. package/src/compiler/HtmlJsParser.js +1 -1
  122. package/src/compiler/Migrator.js +1 -1
  123. package/src/compiler/Parser.js +3 -3
  124. package/src/compiler/ast/CustomTag.js +9 -11
  125. package/src/compiler/ast/HtmlAttribute/html/generateCode.js +2 -2
  126. package/src/compiler/ast/HtmlAttribute/index.js +1 -1
  127. package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
  128. package/src/compiler/ast/HtmlElement/vdom/generateCode.js +1 -1
  129. package/src/compiler/ast/TemplateRoot.js +1 -1
  130. package/src/compiler/ast/Text/html/generateCode.js +3 -3
  131. package/src/compiler/ast/Text/vdom/generateCode.js +1 -1
  132. package/src/compiler/index.js +4 -4
  133. package/src/compiler/modules.js +4 -4
  134. package/src/compiler/util/finger-print.js +1 -1
  135. package/src/compiler/util/parseExpression.js +1 -1
  136. package/src/compiler/util/parseStatement.js +1 -1
  137. package/src/compiler/util/removeDashes.js +1 -1
  138. package/src/compiler/util/safeVarName.js +1 -1
  139. package/src/compiler/util/tokenizer.js +1 -1
  140. package/src/core-tags/cache/cached-fragment-tag-transformer.js +1 -1
  141. package/src/core-tags/cache/cached-fragment-tag.js +4 -4
  142. package/src/core-tags/cache/default-cache-manager.js +3 -3
  143. package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +1 -1
  144. package/src/core-tags/components/TransformHelper/convertToComponent.js +1 -1
  145. package/src/core-tags/components/TransformHelper/handleComponentPreserveAttrs.js +1 -1
  146. package/src/core-tags/components/init-components-tag.js +1 -54
  147. package/src/core-tags/components/package.json +1 -3
  148. package/src/core-tags/components/preferred-script-location-tag.js +1 -1
  149. package/src/core-tags/components/preserve-tag.js +1 -27
  150. package/src/core-tags/components/util/getTransformHelper.js +1 -1
  151. package/src/core-tags/core/await/AsyncValue.js +3 -3
  152. package/src/core-tags/core/await/noop-render.js +1 -1
  153. package/src/core-tags/core/await/renderer.js +8 -7
  154. package/src/core-tags/core/await/reorderer-renderer.js +35 -14
  155. package/src/core-tags/core/await/transformer.js +1 -1
  156. package/src/core-tags/core/core-transformer.js +2 -2
  157. package/src/core-tags/migrate/all-tags/index.js +1 -1
  158. package/src/core-tags/migrate/all-templates/index.js +1 -1
  159. package/src/core-tags/migrate/include-tag.js +3 -2
  160. package/src/core-tags/migrate/util/parseFor.js +3 -2
  161. package/src/core-tags/migrate/util/printJS.js +1 -1
  162. package/src/defineRenderer.js +1 -1
  163. package/src/express.js +1 -1
  164. package/src/hot-reload.js +5 -5
  165. package/src/index.js +1 -41
  166. package/src/legacy-helpers/notEmpty.js +1 -1
  167. package/src/node-require/index.js +12 -1
  168. package/src/{runtime/components/beginComponent-browser.js → node_modules/@internal/components-beginComponent/index-browser.js} +1 -1
  169. package/src/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +2 -2
  170. package/src/node_modules/@internal/components-beginComponent/package.json +11 -0
  171. package/src/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +21 -23
  172. package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  173. package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  174. package/src/{runtime/components/endComponent.js → node_modules/@internal/components-endComponent/index.js} +1 -1
  175. package/src/node_modules/@internal/components-endComponent/package.json +11 -0
  176. package/src/node_modules/@internal/components-entry/index-browser.js +9 -0
  177. package/src/node_modules/@internal/components-entry/index.js +301 -0
  178. package/src/node_modules/@internal/components-entry/package.json +11 -0
  179. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  180. package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
  181. package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
  182. package/src/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +240 -75
  183. package/src/node_modules/@internal/components-registry/index.js +44 -0
  184. package/src/node_modules/@internal/components-registry/package.json +11 -0
  185. package/src/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +11 -10
  186. package/src/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +0 -2
  187. package/src/node_modules/@internal/components-util/package.json +11 -0
  188. package/src/node_modules/@internal/create-readable/index-browser.js +30 -0
  189. package/src/node_modules/@internal/create-readable/index.js +57 -0
  190. package/src/node_modules/@internal/create-readable/package.json +11 -0
  191. package/src/node_modules/@internal/init-components-tag/index.js +54 -0
  192. package/src/node_modules/@internal/init-components-tag/package.json +11 -0
  193. package/src/{loader/index-default.js → node_modules/@internal/loader/index.js} +2 -2
  194. package/src/node_modules/@internal/loader/package.json +11 -0
  195. package/src/node_modules/@internal/preserve-tag/index.js +27 -0
  196. package/src/node_modules/@internal/preserve-tag/package.json +11 -0
  197. package/src/node_modules/@internal/set-immediate/index-browser.js +17 -0
  198. package/src/node_modules/@internal/set-immediate/index-worker.js +2 -0
  199. package/src/node_modules/@internal/set-immediate/index.js +2 -0
  200. package/src/node_modules/@internal/set-immediate/package.json +11 -0
  201. package/src/runtime/RenderResult.js +20 -18
  202. package/src/runtime/components/Component.js +44 -41
  203. package/src/runtime/components/ComponentDef.js +9 -9
  204. package/src/runtime/components/ComponentsContext.js +4 -5
  205. package/src/runtime/components/GlobalComponentsContext.js +2 -1
  206. package/src/runtime/components/KeySequence.js +1 -1
  207. package/src/runtime/components/State.js +6 -6
  208. package/src/runtime/components/attach-detach.js +4 -4
  209. package/src/runtime/components/defineComponent.js +1 -1
  210. package/src/runtime/components/event-delegation.js +10 -10
  211. package/src/runtime/components/index.js +1 -301
  212. package/src/runtime/components/jquery.js +2 -2
  213. package/src/runtime/components/legacy/browser.json +1 -1
  214. package/src/runtime/components/legacy/defineRenderer-legacy.js +5 -6
  215. package/src/runtime/components/legacy/defineWidget-legacy.js +1 -18
  216. package/src/runtime/components/legacy/dependencies/html.js +1 -1
  217. package/src/runtime/components/legacy/dependencies/index.js +3 -3
  218. package/src/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  219. package/src/runtime/components/legacy/index.js +1 -15
  220. package/src/runtime/components/legacy/renderer-legacy.js +7 -7
  221. package/src/runtime/components/ready.js +2 -2
  222. package/src/runtime/components/registry.js +1 -44
  223. package/src/runtime/components/renderer.js +4 -4
  224. package/src/runtime/components/update-manager.js +1 -1
  225. package/src/runtime/dom-insert.js +8 -8
  226. package/src/runtime/helpers/_weak-map.js +2 -2
  227. package/src/runtime/helpers/assign.js +3 -1
  228. package/src/runtime/helpers/bind-component.js +2 -2
  229. package/src/runtime/helpers/dynamic-tag.js +2 -4
  230. package/src/runtime/helpers/for-in.js +1 -1
  231. package/src/runtime/helpers/load-nested-tag.js +1 -1
  232. package/src/runtime/helpers/load-template.js +1 -1
  233. package/src/runtime/helpers/merge.js +3 -1
  234. package/src/runtime/helpers/noop.js +1 -1
  235. package/src/runtime/helpers/style-value.js +1 -1
  236. package/src/runtime/helpers/to-string.js +1 -1
  237. package/src/runtime/html/AsyncStream.js +90 -76
  238. package/src/runtime/html/BufferedWriter.js +6 -2
  239. package/src/runtime/html/StringWriter.js +15 -9
  240. package/src/runtime/html/helpers/attrs.js +3 -3
  241. package/src/runtime/html/helpers/data-marko.js +0 -2
  242. package/src/runtime/html/helpers/escape-quotes.js +1 -1
  243. package/src/runtime/html/helpers/escape-xml.js +1 -1
  244. package/src/runtime/html/index.js +23 -13
  245. package/src/runtime/queueMicrotask.js +2 -2
  246. package/src/runtime/renderable.js +9 -9
  247. package/src/runtime/vdom/AsyncVDOMBuilder.js +46 -51
  248. package/src/runtime/vdom/VComment.js +3 -3
  249. package/src/runtime/vdom/VDocumentFragment.js +3 -3
  250. package/src/runtime/vdom/VElement.js +17 -13
  251. package/src/runtime/vdom/VFragment.js +1 -1
  252. package/src/runtime/vdom/VNode.js +2 -2
  253. package/src/runtime/vdom/VText.js +3 -3
  254. package/src/runtime/vdom/helpers/attrs.js +1 -1
  255. package/src/runtime/vdom/helpers/const.js +2 -2
  256. package/src/runtime/vdom/helpers/v-element.js +1 -1
  257. package/src/runtime/vdom/helpers/v-text.js +1 -1
  258. package/src/runtime/vdom/index.js +21 -23
  259. package/src/runtime/vdom/morphdom/fragment.js +8 -7
  260. package/src/runtime/vdom/morphdom/index.js +19 -9
  261. package/src/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  262. package/src/runtime/vdom/parse-html.js +4 -4
  263. package/src/runtime/vdom/preserve-attrs.js +1 -1
  264. package/src/runtime/vdom/vdom.js +5 -7
  265. package/src/taglib/taglib-finder/index.js +1 -1
  266. package/src/taglib/taglib-loader/Tag.js +5 -5
  267. package/src/taglib/taglib-loader/Taglib.js +2 -2
  268. package/src/taglib/taglib-loader/json-file-reader.js +1 -1
  269. package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
  270. package/src/taglib/taglib-loader/loadTagFromProps.js +5 -6
  271. package/src/taglib/taglib-loader/tag-def-from-code.js +2 -1
  272. package/src/taglib/taglib-lookup/TaglibLookup.js +2 -2
  273. package/src/taglib/taglib-lookup/index.js +1 -1
  274. package/dist/core-tags/core/await/client-reorder-browser.js +0 -1
  275. package/dist/core-tags/core/await/client-reorder-runtime.min.js +0 -5
  276. package/dist/core-tags/core/await/client-reorder.js +0 -11
  277. package/dist/core-tags/core/await/package.json +0 -6
  278. package/dist/index-browser.js +0 -4
  279. package/dist/loader/index.js +0 -7
  280. package/dist/loader/package.json +0 -5
  281. package/dist/node-require/index-browser.js +0 -1
  282. package/dist/package.json +0 -5
  283. package/dist/runtime/components/beginComponent-browser.js +0 -12
  284. package/dist/runtime/components/endComponent.js +0 -11
  285. package/dist/runtime/components/index-browser.js +0 -14
  286. package/dist/runtime/components/init-components.js +0 -1
  287. package/dist/runtime/components/legacy/package.json +0 -6
  288. package/dist/runtime/components/package.json +0 -12
  289. package/dist/runtime/components/registry-browser.js +0 -73
  290. package/dist/runtime/html/Template.js +0 -63
  291. package/dist/runtime/package.json +0 -5
  292. package/dist/runtime/setImmediate.js +0 -19
  293. package/src/core-tags/core/await/client-reorder-browser.js +0 -1
  294. package/src/core-tags/core/await/client-reorder-runtime.min.js +0 -1
  295. package/src/core-tags/core/await/client-reorder.js +0 -14
  296. package/src/core-tags/core/await/package.json +0 -6
  297. package/src/index-browser.js +0 -3
  298. package/src/loader/index.js +0 -7
  299. package/src/loader/package.json +0 -5
  300. package/src/node-require/index-browser.js +0 -1
  301. package/src/package.json +0 -5
  302. package/src/runtime/components/index-browser.js +0 -15
  303. package/src/runtime/components/init-components.js +0 -1
  304. package/src/runtime/components/legacy/index-browser.js +0 -73
  305. package/src/runtime/components/legacy/package.json +0 -6
  306. package/src/runtime/components/package.json +0 -12
  307. package/src/runtime/components/registry-browser.js +0 -103
  308. package/src/runtime/html/Template.js +0 -62
  309. package/src/runtime/package.json +0 -5
  310. package/src/runtime/setImmediate.js +0 -21
  311. /package/dist/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  312. /package/dist/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  313. /package/dist/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  314. /package/src/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  315. /package/src/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  316. /package/src/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  317. /package/src/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +0 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -1,27 +1,114 @@
1
- "use strict";
2
-
3
1
  var complain;
4
2
  var warp10Finalize = require("warp10/finalize");
5
- var eventDelegation = require("./event-delegation");
6
- var win = window;
7
- var defaultDocument = document;
8
- var createFragmentNode = require("../vdom/morphdom/fragment").au_;
9
- var componentsUtil = require("./util-browser");
10
- var componentLookup = componentsUtil.I_;
11
- var addComponentRootToKeyedElements = componentsUtil.av_;
12
- var ComponentDef = require("./ComponentDef");
13
- var registry = require("./registry");
14
- var domData = require("./dom-data");
15
- var keyedElementsByComponentId = domData.L_;
16
- var componentsByDOMNode = domData.K_;
3
+ var queueMicrotask = require("../../../runtime/queueMicrotask");
4
+ var defineComponent = require("../../../runtime/components/defineComponent");
5
+ var eventDelegation = require("../../../runtime/components/event-delegation");
6
+ var createFragmentNode = require("../../../runtime/vdom/morphdom/fragment")._m_;
7
+ var ComponentDef = require("../../../runtime/components/ComponentDef");
8
+ var domData = require("../../../runtime/components/dom-data");
9
+ var componentsUtil = require("@internal/components-util");
10
+ var componentLookup = componentsUtil._n_;
11
+ var addComponentRootToKeyedElements = componentsUtil._o_;
12
+ var keyedElementsByComponentId = domData._p_;
13
+ var componentsByDOMNode = domData._q_;
17
14
  var serverComponentRootNodes = {};
18
15
  var serverRenderedMeta = {};
16
+ var win = window;
19
17
 
20
18
  var DEFAULT_RUNTIME_ID = "M";
21
19
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
22
20
  // var FLAG_HAS_RENDER_BODY = 2;
23
- // var FLAG_IS_LEGACY = 4;
24
- // var FLAG_OLD_HYDRATE_NO_CREATE = 8;
21
+
22
+ var registered = {};
23
+ var loaded = {};
24
+ var componentTypes = {};
25
+ var deferredDefs;
26
+ var pendingDefs;
27
+
28
+ function register(type, def) {
29
+ var pendingForType;
30
+ if (pendingDefs) {
31
+ pendingForType = pendingDefs[type];
32
+ }
33
+ registered[type] = def;
34
+ delete loaded[type];
35
+ delete componentTypes[type];
36
+
37
+ if (pendingForType) {
38
+ delete pendingDefs[type];
39
+ queueMicrotask(function () {
40
+ pendingForType.forEach(function (args) {
41
+ tryHydrateComponent(args[0], args[1], args[2], args[3])();
42
+ });
43
+ });
44
+ }
45
+
46
+ return type;
47
+ }
48
+
49
+ function addPendingDef(def, type, meta, host, runtimeId) {
50
+ if (!pendingDefs) {
51
+ pendingDefs = {};
52
+
53
+ // eslint-disable-next-line no-constant-condition
54
+ }
55
+ (pendingDefs[type] = pendingDefs[type] || []).push([def, meta, host, runtimeId]);
56
+ }
57
+
58
+ function load(typeName, isLegacy) {
59
+ var target = loaded[typeName];
60
+ if (!target) {
61
+ target = registered[typeName];
62
+
63
+ if (target) {
64
+ target = target();
65
+ } else if (isLegacy) {
66
+ target = exports._j_.load(typeName);
67
+ } else {
68
+ target = loader(typeName);
69
+ // eslint-disable-next-line no-constant-condition
70
+ }
71
+
72
+ if (!target) {
73
+ throw Error("Component not found: " + typeName);
74
+ }
75
+
76
+ loaded[typeName] = target;
77
+ }
78
+
79
+ return target;
80
+ }
81
+
82
+ function getComponentClass(typeName, isLegacy) {
83
+ var ComponentClass = componentTypes[typeName];
84
+
85
+ if (ComponentClass) {
86
+ return ComponentClass;
87
+ }
88
+
89
+ ComponentClass = load(typeName, isLegacy);
90
+
91
+ ComponentClass = ComponentClass.Component || ComponentClass;
92
+
93
+ if (!ComponentClass.A_) {
94
+ ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
95
+ }
96
+
97
+ // Make the component "type" accessible on each component instance
98
+ ComponentClass.prototype.e_ = typeName;
99
+
100
+ // eslint-disable-next-line no-constant-condition
101
+
102
+
103
+ componentTypes[typeName] = ComponentClass;
104
+
105
+ return ComponentClass;
106
+ }
107
+
108
+ function createComponent(typeName, id, isLegacy) {
109
+ var ComponentClass = getComponentClass(typeName, isLegacy);
110
+ return new ComponentClass(id);
111
+ }
25
112
 
26
113
  function indexServerComponentBoundaries(node, runtimeId, stack) {
27
114
  var componentId;
@@ -63,7 +150,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
63
150
  ownerId = parts[1];
64
151
  componentId = parts[0];
65
152
  if (ownerComponent = componentLookup[ownerId]) {
66
- keyedElements = ownerComponent.q_;
153
+ keyedElements = ownerComponent.N_;
67
154
  } else {
68
155
  keyedElements = keyedElementsByComponentId[ownerId] || (keyedElementsByComponentId[ownerId] = {});
69
156
  }
@@ -79,13 +166,13 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
79
166
  } else if (node.nodeType === 1) {
80
167
  // HTML element node
81
168
  var markoKey = node.getAttribute("data-marko-key");
82
- var markoProps = componentsUtil.an_(node);
169
+ var markoProps = componentsUtil._r_(node);
83
170
  if (markoKey) {
84
171
  var separatorIndex = markoKey.indexOf(" ");
85
172
  ownerId = markoKey.substring(separatorIndex + 1);
86
173
  markoKey = markoKey.substring(0, separatorIndex);
87
174
  if (ownerComponent = componentLookup[ownerId]) {
88
- keyedElements = ownerComponent.q_;
175
+ keyedElements = ownerComponent.N_;
89
176
  } else {
90
177
  keyedElements = keyedElementsByComponentId[ownerId] || (keyedElementsByComponentId[ownerId] = {});
91
178
  }
@@ -94,7 +181,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
94
181
  if (markoProps) {
95
182
  Object.keys(markoProps).forEach(function (key) {
96
183
  if (key.slice(0, 2) === "on") {
97
- eventDelegation._I_(key.slice(2));
184
+ eventDelegation._s_(key.slice(2));
98
185
  }
99
186
  });
100
187
  }
@@ -142,23 +229,23 @@ function addDOMEventListeners(component, el, eventType, targetMethodName, isOnce
142
229
  handles.push(removeListener);
143
230
  }
144
231
 
145
- function initComponent(componentDef, doc) {
146
- var component = componentDef.n_;
232
+ function initComponent(componentDef, host) {
233
+ var component = componentDef.v_;
147
234
 
148
- if (!component || !component._d_) {
235
+ if (!component || !component.A_) {
149
236
  return; // legacy
150
237
  }
151
238
 
152
- component.O_();
153
- component._c_ = doc;
239
+ component._t_();
240
+ component.E_ = host;
154
241
 
155
- var isExisting = componentDef._L_;
242
+ var isExisting = componentDef._u_;
156
243
 
157
244
  if (isExisting) {
158
- component._h_();
245
+ component._v_();
159
246
  }
160
247
 
161
- var domEvents = componentDef._K_;
248
+ var domEvents = componentDef._d_;
162
249
  if (domEvents) {
163
250
  var eventListenerHandles = [];
164
251
 
@@ -167,7 +254,7 @@ function initComponent(componentDef, doc) {
167
254
 
168
255
  var eventType = domEventArgs[0];
169
256
  var targetMethodName = domEventArgs[1];
170
- var eventEl = component.q_[domEventArgs[2]];
257
+ var eventEl = component.N_[domEventArgs[2]];
171
258
  var isOnce = domEventArgs[3];
172
259
  var extraArgs = domEventArgs[4];
173
260
 
@@ -175,15 +262,15 @@ function initComponent(componentDef, doc) {
175
262
  });
176
263
 
177
264
  if (eventListenerHandles.length) {
178
- component.S_ = eventListenerHandles;
265
+ component._w_ = eventListenerHandles;
179
266
  }
180
267
  }
181
268
 
182
- if (component.X_) {
183
- component.N_();
269
+ if (component._x_) {
270
+ component._y_();
184
271
  } else {
185
- component.X_ = true;
186
- component._E_();
272
+ component._x_ = true;
273
+ component._z_();
187
274
  }
188
275
  }
189
276
 
@@ -195,12 +282,11 @@ function initComponent(componentDef, doc) {
195
282
  * in the components context (nested components are initialized before ancestor components).
196
283
  * @param {Array<marko-components/lib/ComponentDef>} componentDefs An array of ComponentDef instances
197
284
  */
198
- function initClientRendered(componentDefs, doc) {
285
+ function initClientRendered(componentDefs, host) {
286
+ if (!host) host = document;
199
287
  // Ensure that event handlers to handle delegating events are
200
288
  // always attached before initializing any components
201
- eventDelegation.ao_(doc);
202
-
203
- doc = doc || defaultDocument;
289
+ eventDelegation._A_(host);
204
290
  var len = componentDefs.length;
205
291
  var componentDef;
206
292
  var i;
@@ -212,7 +298,7 @@ function initClientRendered(componentDefs, doc) {
212
298
 
213
299
  for (i = len; i--;) {
214
300
  componentDef = componentDefs[i];
215
- initComponent(componentDef, doc);
301
+ initComponent(componentDef, host);
216
302
  }
217
303
  }
218
304
 
@@ -220,7 +306,7 @@ function initClientRendered(componentDefs, doc) {
220
306
  * This method initializes all components that were rendered on the server by iterating over all
221
307
  * of the component IDs.
222
308
  */
223
- function initServerRendered(renderedComponents, doc) {
309
+ function initServerRendered(renderedComponents, host) {
224
310
  var type = typeof renderedComponents;
225
311
  var globalKey = "$";
226
312
  var runtimeId;
@@ -235,11 +321,17 @@ function initServerRendered(renderedComponents, doc) {
235
321
 
236
322
  renderedComponents = win[globalKey];
237
323
 
324
+ // eslint-disable-next-line no-constant-condition
325
+
326
+
238
327
  var fakeArray = win[globalKey] = {
239
328
  r: runtimeId,
240
329
  concat: initServerRendered
241
330
  };
242
331
 
332
+ // eslint-disable-next-line no-constant-condition
333
+
334
+
243
335
  if (renderedComponents && renderedComponents.forEach) {
244
336
  renderedComponents.forEach(function (renderedComponent) {
245
337
  fakeArray.concat(renderedComponent);
@@ -254,10 +346,10 @@ function initServerRendered(renderedComponents, doc) {
254
346
 
255
347
  if (isFromSerializedGlobals) {
256
348
  runtimeId = this.r;
257
- doc = defaultDocument;
349
+ host = document;
258
350
  } else {
259
351
  runtimeId = renderedComponents.r || DEFAULT_RUNTIME_ID;
260
- doc = doc || defaultDocument;
352
+ if (!host) host = document;
261
353
 
262
354
  // eslint-disable-next-line no-constant-condition
263
355
  }
@@ -283,79 +375,84 @@ function initServerRendered(renderedComponents, doc) {
283
375
 
284
376
  // Ensure that event handlers to handle delegating events are
285
377
  // always attached before initializing any components
286
- indexServerComponentBoundaries(doc, runtimeId);
287
- eventDelegation.ao_(doc);
378
+ indexServerComponentBoundaries(host, runtimeId);
379
+ eventDelegation._A_(host);
288
380
 
289
381
  if (renderedComponents.g) {
290
- meta.aw_ = renderedComponents.g;
382
+ meta._B_ = renderedComponents.g;
291
383
  }
292
384
 
293
385
  if (renderedComponents.t) {
294
- meta.ax_ = meta.ax_ ? meta.ax_.concat(renderedComponents.t) : renderedComponents.t;
386
+ meta._C_ = meta._C_ ? meta._C_.concat(renderedComponents.t) : renderedComponents.t;
295
387
  }
296
388
 
297
389
  // hydrate components top down (leaf nodes last)
298
390
  // and return an array of functions to mount these components
299
- var deferredDefs;
300
391
  (renderedComponents.w || []).map(function (componentDef) {
301
- componentDef = ComponentDef._S_(componentDef, meta.ax_, meta.aw_, registry);
302
-
303
- var mount = hydrateComponentAndGetMount(componentDef, doc);
304
-
305
- if (!mount) {
306
- // hydrateComponentAndGetMount will return false if there is not rootNode
307
- // for the component. If this is the case, we'll wait until the
308
- // DOM has fully loaded to attempt to init the component again.
309
- if (deferredDefs) {
310
- deferredDefs.push(componentDef);
311
- } else {
312
- deferredDefs = [componentDef];
313
- doc.addEventListener("DOMContentLoaded", function () {
314
- indexServerComponentBoundaries(doc, runtimeId);
315
- deferredDefs.map(function (componentDef) {
316
- return hydrateComponentAndGetMount(componentDef, doc);
317
- }).reverse().forEach(tryInvoke);
318
- });
319
- }
320
- }
392
+ var typeName = meta._C_[componentDef[1]];
321
393
 
322
- return mount;
394
+ return registered[typeName] || document.readyState === "complete" ? tryHydrateComponent(componentDef, meta, host, runtimeId) : addPendingDef(componentDef, typeName, meta, host, runtimeId);
323
395
  }).reverse().forEach(tryInvoke);
324
396
 
325
397
  return this;
326
398
  }
327
399
 
328
- function hydrateComponentAndGetMount(componentDef, doc) {
400
+ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
401
+ var componentDef = ComponentDef._D_(rawDef, meta._C_, meta._B_, exports);
402
+ var mount = hydrateComponentAndGetMount(componentDef, host);
403
+
404
+ if (!mount) {
405
+ // hydrateComponentAndGetMount will return false if there is not rootNode
406
+ // for the component. If this is the case, we'll wait until the
407
+ // DOM has fully loaded to attempt to init the component again.
408
+ if (deferredDefs) {
409
+ deferredDefs.push(componentDef);
410
+ } else {
411
+ deferredDefs = [componentDef];
412
+ document.addEventListener("DOMContentLoaded", function () {
413
+ indexServerComponentBoundaries(host, runtimeId);
414
+ deferredDefs.map(function (componentDef) {
415
+ return hydrateComponentAndGetMount(componentDef, host);
416
+ }).reverse().forEach(tryInvoke);
417
+ deferredDefs = undefined;
418
+ });
419
+ }
420
+ }
421
+
422
+ return mount;
423
+ }
424
+
425
+ function hydrateComponentAndGetMount(componentDef, host) {
329
426
  var componentId = componentDef.id;
330
- var component = componentDef.n_;
427
+ var component = componentDef.v_;
331
428
  var rootNode = serverComponentRootNodes[componentId];
332
429
  var renderResult;
333
430
 
334
431
  if (rootNode) {
335
432
  delete serverComponentRootNodes[componentId];
336
433
 
337
- component.Q_ = rootNode;
434
+ component._E_ = rootNode;
338
435
  componentsByDOMNode.set(rootNode, component);
339
436
 
340
- if (componentDef._N_ & FLAG_WILL_RERENDER_IN_BROWSER) {
341
- component._c_ = doc;
342
- renderResult = component._v_(component.W_, true);
437
+ if (componentDef.x_ & FLAG_WILL_RERENDER_IN_BROWSER) {
438
+ component.E_ = host;
439
+ renderResult = component._F_(component.R_, true);
343
440
  trackComponent(componentDef);
344
441
  return function mount() {
345
- renderResult.afterInsert(doc);
442
+ renderResult.afterInsert(host);
346
443
  };
347
444
  } else {
348
445
  trackComponent(componentDef);
349
446
  }
350
447
 
351
448
  return function mount() {
352
- initComponent(componentDef, doc);
449
+ initComponent(componentDef, host);
353
450
  };
354
451
  }
355
452
  }
356
453
 
357
454
  function trackComponent(componentDef) {
358
- var component = componentDef.n_;
455
+ var component = componentDef.v_;
359
456
  if (component) {
360
457
  componentLookup[component.id] = component;
361
458
  }
@@ -365,5 +462,9 @@ function tryInvoke(fn) {
365
462
  if (fn) fn();
366
463
  }
367
464
 
368
- exports._W_ = initClientRendered;
369
- exports.aq_ = initServerRendered;
465
+ exports.r = register;
466
+ exports._G_ = createComponent;
467
+ exports._H_ = getComponentClass;
468
+ exports.W_ = win.$initComponents = initServerRendered;
469
+
470
+ require("../../../runtime/components/ComponentsContext")._I_ = initClientRendered;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ const copyProps = require("raptor-util/copyProps");
4
+ const constructorCache = new Map();
5
+ const BaseServerComponent = require("../../../runtime/components/ServerComponent");
6
+
7
+ function createServerComponentClass(renderingLogic) {
8
+ var renderingLogicProps = typeof renderingLogic === "function" ? renderingLogic.prototype : renderingLogic;
9
+
10
+ class ServerComponent extends BaseServerComponent {}
11
+
12
+ copyProps(renderingLogicProps, ServerComponent.prototype);
13
+
14
+ return ServerComponent;
15
+ }
16
+ function createComponent(renderingLogic, id, input, out, typeName, customEvents, scope) {
17
+ let ServerComponent;
18
+
19
+ if (renderingLogic) {
20
+ ServerComponent = constructorCache.get(renderingLogic);
21
+
22
+ if (!ServerComponent) {
23
+ ServerComponent = createServerComponentClass(renderingLogic);
24
+ constructorCache.set(renderingLogic, ServerComponent);
25
+ }
26
+ } else {
27
+ ServerComponent = BaseServerComponent;
28
+ }
29
+
30
+ return new ServerComponent(id, input, out, typeName, customEvents, scope);
31
+ }
32
+
33
+ exports._J_ = true;
34
+ exports._G_ = createComponent;
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -1,18 +1,17 @@
1
- var domData = require("./dom-data");
2
- var componentsByDOMNode = domData.K_;
3
- var keysByDOMNode = domData.al_;
4
- var vElementsByDOMNode = domData.aj_;
5
- var vPropsByDOMNode = domData.ai_;
1
+ var domData = require("../../../runtime/components/dom-data");
2
+ var componentsByDOMNode = domData._q_;
3
+ var keysByDOMNode = domData._K_;
4
+ var vElementsByDOMNode = domData._L_;
5
+ var vPropsByDOMNode = domData._M_;
6
6
  var markoUID = window.$MUID || (window.$MUID = { i: 0 });
7
7
  var runtimeId = markoUID.i++;
8
8
 
9
9
  var componentLookup = {};
10
10
 
11
- var defaultDocument = document;
12
11
  var EMPTY_OBJECT = {};
13
12
 
14
- function getComponentForEl(el, doc) {
15
- var node = typeof el == "string" ? (doc || defaultDocument).getElementById(el) : el;
13
+ function getComponentForEl(el, host) {
14
+ var node = typeof el == "string" ? ((host ? host.ownerDocument : host) || document).getElementById(el) : el;
16
15
  var component;
17
16
  var vElement;
18
17
 
@@ -25,7 +24,7 @@ function getComponentForEl(el, doc) {
25
24
  component = componentsByDOMNode.get(node);
26
25
  }
27
26
  } else if (vElement = vElementsByDOMNode.get(node)) {
28
- component = vElement.aU_;
27
+ component = vElement._N_;
29
28
  }
30
29
 
31
30
  if (component) {
@@ -39,7 +38,7 @@ function getComponentForEl(el, doc) {
39
38
  function destroyComponentForNode(node) {
40
39
  var componentToDestroy = componentsByDOMNode.get(node.fragment || node);
41
40
  if (componentToDestroy) {
42
- componentToDestroy._e_();
41
+ componentToDestroy._O_();
43
42
  delete componentLookup[componentToDestroy.id];
44
43
  }
45
44
  }
@@ -49,11 +48,11 @@ function destroyNodeRecursive(node, component) {
49
48
  var key;
50
49
 
51
50
  if (component && (key = keysByDOMNode.get(node))) {
52
- if (node === component.q_[key]) {
51
+ if (node === component.N_[key]) {
53
52
  if (componentsByDOMNode.get(node) && /\[\]$/.test(key)) {
54
- delete component.q_[key][componentsByDOMNode.get(node).id];
53
+ delete component.N_[key][componentsByDOMNode.get(node).id];
55
54
  } else {
56
- delete component.q_[key];
55
+ delete component.N_[key];
57
56
  }
58
57
  }
59
58
  }
@@ -94,7 +93,7 @@ function getMarkoPropsFromEl(el) {
94
93
  var virtualProps;
95
94
 
96
95
  if (vElement) {
97
- virtualProps = vElement.aV_;
96
+ virtualProps = vElement._P_;
98
97
  } else {
99
98
  virtualProps = vPropsByDOMNode.get(el);
100
99
  if (!virtualProps) {
@@ -125,13 +124,13 @@ function addComponentRootToKeyedElements(keyedElements, key, rootNode, component
125
124
  // eslint-disable-next-line no-constant-condition
126
125
 
127
126
 
128
- exports.am_ = runtimeId;
129
- exports.I_ = componentLookup;
130
- exports.ap_ = getComponentForEl;
131
- exports.aW_ = destroyComponentForNode;
132
- exports.J_ = destroyNodeRecursive;
133
- exports._Y_ = nextComponentIdProvider;
134
- exports._H_ = attachBubblingEvent;
135
- exports.an_ = getMarkoPropsFromEl;
136
- exports.av_ = addComponentRootToKeyedElements;
137
- exports.aX_ = normalizeComponentKey;
127
+ exports._Q_ = runtimeId;
128
+ exports._n_ = componentLookup;
129
+ exports.V_ = getComponentForEl;
130
+ exports._R_ = destroyComponentForNode;
131
+ exports._S_ = destroyNodeRecursive;
132
+ exports._T_ = nextComponentIdProvider;
133
+ exports._U_ = attachBubblingEvent;
134
+ exports._r_ = getMarkoPropsFromEl;
135
+ exports._o_ = addComponentRootToKeyedElements;
136
+ exports._V_ = normalizeComponentKey;
@@ -1,7 +1,5 @@
1
1
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
2
2
  // var FLAG_HAS_RENDER_BODY = 2;
3
- // var FLAG_IS_LEGACY = 4;
4
- // var FLAG_OLD_HYDRATE_NO_CREATE = 8;
5
3
 
6
4
  function nextComponentIdProvider(out) {
7
5
  var prefix = out.global.componentIdPrefix || out.global.widgetIdPrefix || "s"; // "s" is for server (we use "b" for the browser)
@@ -18,8 +16,8 @@ function nextComponentIdProvider(out) {
18
16
  function attachBubblingEvent(componentDef, handlerMethodName, isOnce, extraArgs) {
19
17
  if (handlerMethodName) {
20
18
  if (extraArgs) {
21
- var component = componentDef.n_;
22
- var eventIndex = component.aa_++;
19
+ var component = componentDef.v_;
20
+ var eventIndex = component._a_++;
23
21
 
24
22
  // If we are not going to be doing a rerender in the browser
25
23
  // then we need to actually store the extra args with the UI component
@@ -29,11 +27,11 @@ function attachBubblingEvent(componentDef, handlerMethodName, isOnce, extraArgs)
29
27
  // where the extra args will be found when the UI component is
30
28
  // rerendered in the browser
31
29
 
32
- if (!(componentDef._N_ & FLAG_WILL_RERENDER_IN_BROWSER)) {
30
+ if (!(componentDef.x_ & FLAG_WILL_RERENDER_IN_BROWSER)) {
33
31
  if (eventIndex === 0) {
34
- component.T_ = [extraArgs];
32
+ component.Z_ = [extraArgs];
35
33
  } else {
36
- component.T_.push(extraArgs);
34
+ component.Z_.push(extraArgs);
37
35
  }
38
36
  }
39
37
 
@@ -44,10 +42,10 @@ function attachBubblingEvent(componentDef, handlerMethodName, isOnce, extraArgs)
44
42
  }
45
43
  }
46
44
 
47
- exports._Y_ = nextComponentIdProvider;
48
- exports.aR_ = true;
49
- exports._H_ = attachBubblingEvent;
50
- exports.aW_ = function noop() {};
51
- exports.J_ = function noop() {};
45
+ exports._T_ = nextComponentIdProvider;
46
+ exports._J_ = true;
47
+ exports._U_ = attachBubblingEvent;
48
+ exports._R_ = function noop() {};
49
+ exports._S_ = function noop() {};
52
50
 
53
51
  // eslint-disable-next-line no-constant-condition
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,25 @@
1
+ var encoder = new TextEncoder();
2
+ var noop = function () {};
3
+
4
+ module.exports = function (data) {
5
+ // eslint-disable-next-line no-undef
6
+ var transformStream = new TransformStream();
7
+ var writer = transformStream.writable.getWriter();
8
+ var facade = {
9
+ write: function (string) {
10
+ writer.write(encoder.encode(string));
11
+ },
12
+ end: function () {
13
+ writer.close();
14
+ }
15
+ };
16
+ var out = this.createOut(data && data.$global, facade, undefined, this._W_);
17
+ out.once("error", err => {
18
+ facade.write = facade.end = noop;
19
+ writer.abort(err);
20
+ });
21
+ this.render(data, out);
22
+ out.end();
23
+
24
+ return transformStream.readable;
25
+ };