marko 4.25.0 → 4.26.0
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/markoc.js +18 -18
- package/dist/compiler/CompileContext.js +3 -8
- package/dist/core-tags/components/init-components-tag.js +1 -52
- package/dist/core-tags/components/package.json +1 -3
- package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
- package/dist/core-tags/components/preserve-tag.js +1 -27
- package/dist/core-tags/core/await/AsyncValue.js +20 -20
- package/dist/core-tags/core/await/renderer.js +11 -12
- package/dist/core-tags/core/await/reorderer-renderer.js +11 -6
- package/dist/index.js +1 -39
- package/dist/node-require/index.js +11 -0
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +12 -0
- package/dist/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +14 -14
- package/dist/node_modules/@internal/components-beginComponent/package.json +11 -0
- package/dist/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +47 -47
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
- package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
- package/dist/node_modules/@internal/components-endComponent/index.js +11 -0
- package/dist/node_modules/@internal/components-endComponent/package.json +11 -0
- package/dist/node_modules/@internal/components-entry/index-browser.js +9 -0
- package/dist/node_modules/@internal/components-entry/index.js +285 -0
- package/dist/node_modules/@internal/components-entry/package.json +11 -0
- package/dist/{runtime/components/legacy → node_modules/@internal/components-entry-legacy}/index-browser.js +14 -15
- package/dist/node_modules/@internal/components-entry-legacy/index.js +14 -0
- package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
- package/dist/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +180 -79
- package/dist/node_modules/@internal/components-registry/index.js +34 -0
- package/dist/node_modules/@internal/components-registry/package.json +11 -0
- package/dist/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +23 -24
- package/dist/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +10 -12
- package/dist/node_modules/@internal/components-util/package.json +11 -0
- package/dist/node_modules/@internal/create-readable/index-browser.js +25 -0
- package/dist/node_modules/@internal/create-readable/index.js +52 -0
- package/dist/node_modules/@internal/create-readable/package.json +11 -0
- package/dist/node_modules/@internal/init-components-tag/index.js +52 -0
- package/dist/node_modules/@internal/init-components-tag/package.json +11 -0
- package/dist/{loader/index-default.js → node_modules/@internal/loader/index.js} +1 -1
- package/dist/node_modules/@internal/loader/package.json +11 -0
- package/dist/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +8 -8
- package/dist/node_modules/@internal/preserve-tag/index.js +27 -0
- package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
- package/dist/node_modules/@internal/set-immediate/index-browser.js +17 -0
- package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -0
- package/dist/node_modules/@internal/set-immediate/index.js +2 -0
- package/dist/node_modules/@internal/set-immediate/package.json +11 -0
- package/dist/runtime/RenderResult.js +24 -19
- package/dist/runtime/components/Component.js +154 -151
- package/dist/runtime/components/ComponentDef.js +28 -28
- package/dist/runtime/components/ComponentsContext.js +19 -19
- package/dist/runtime/components/GlobalComponentsContext.js +4 -4
- package/dist/runtime/components/KeySequence.js +3 -3
- package/dist/runtime/components/ServerComponent.js +13 -13
- package/dist/runtime/components/State.js +28 -28
- package/dist/runtime/components/attach-detach.js +9 -9
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +6 -6
- package/dist/runtime/components/event-delegation.js +15 -16
- package/dist/runtime/components/index.js +1 -285
- package/dist/runtime/components/legacy/browser.json +1 -1
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +18 -19
- package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -18
- package/dist/runtime/components/legacy/dependencies/html.js +1 -1
- package/dist/runtime/components/legacy/dependencies/index.js +9 -9
- package/dist/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
- package/dist/runtime/components/legacy/index.js +1 -14
- package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
- package/dist/runtime/components/registry.js +1 -34
- package/dist/runtime/components/renderer.js +38 -38
- package/dist/runtime/components/update-manager.js +10 -10
- package/dist/runtime/createOut.js +1 -1
- package/dist/runtime/dom-insert.js +6 -6
- package/dist/runtime/helpers/_change-case.js +2 -2
- package/dist/runtime/helpers/assign.js +3 -2
- package/dist/runtime/helpers/dynamic-tag.js +14 -16
- package/dist/runtime/helpers/load-template.js +1 -1
- package/dist/runtime/helpers/merge.js +3 -1
- package/dist/runtime/helpers/style-value.js +2 -2
- package/dist/runtime/html/AsyncStream.js +61 -52
- package/dist/runtime/html/BufferedWriter.js +5 -1
- package/dist/runtime/html/StringWriter.js +7 -3
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +4 -4
- package/dist/runtime/html/helpers/attrs.js +3 -3
- package/dist/runtime/html/helpers/data-marko.js +4 -6
- package/dist/runtime/html/helpers/escape-quotes.js +2 -2
- package/dist/runtime/html/helpers/escape-xml.js +1 -1
- package/dist/runtime/html/helpers/props-script.js +1 -1
- package/dist/runtime/html/index.js +15 -12
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +102 -103
- package/dist/runtime/vdom/VComment.js +7 -7
- package/dist/runtime/vdom/VComponent.js +5 -5
- package/dist/runtime/vdom/VDocumentFragment.js +8 -8
- package/dist/runtime/vdom/VElement.js +55 -54
- package/dist/runtime/vdom/VFragment.js +9 -9
- package/dist/runtime/vdom/VNode.js +30 -30
- package/dist/runtime/vdom/VText.js +7 -7
- package/dist/runtime/vdom/helpers/v-element.js +1 -1
- package/dist/runtime/vdom/helpers/v-text.js +1 -1
- package/dist/runtime/vdom/index.js +12 -22
- package/dist/runtime/vdom/morphdom/fragment.js +5 -5
- package/dist/runtime/vdom/morphdom/helpers.js +3 -3
- package/dist/runtime/vdom/morphdom/index.js +72 -68
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
- package/dist/runtime/vdom/preserve-attrs.js +1 -1
- package/dist/runtime/vdom/vdom.js +19 -21
- package/docs/body-content.md +2 -2
- package/docs/class-components.md +3 -3
- package/docs/express.md +1 -1
- package/docs/lasso.md +3 -6
- package/docs/marko-v4.md +5 -5
- package/docs/redux.md +1 -1
- package/docs/server-side-rendering.md +2 -2
- package/docs/why-is-marko-fast.md +2 -10
- package/package.json +1 -1
- package/src/browser-refresh.js +2 -2
- package/src/compiler/CodeWriter.js +1 -3
- package/src/compiler/CompileContext.js +3 -8
- package/src/compiler/Compiler.js +4 -4
- package/src/compiler/HtmlJsParser.js +1 -1
- package/src/compiler/Migrator.js +1 -1
- package/src/compiler/Parser.js +3 -3
- package/src/compiler/ast/CustomTag.js +9 -11
- package/src/compiler/ast/HtmlAttribute/html/generateCode.js +2 -2
- package/src/compiler/ast/HtmlAttribute/index.js +1 -1
- package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
- package/src/compiler/ast/HtmlElement/vdom/generateCode.js +1 -1
- package/src/compiler/ast/TemplateRoot.js +1 -1
- package/src/compiler/ast/Text/html/generateCode.js +3 -3
- package/src/compiler/ast/Text/vdom/generateCode.js +1 -1
- package/src/compiler/index.js +4 -4
- package/src/compiler/modules.js +4 -4
- package/src/compiler/util/finger-print.js +1 -1
- package/src/compiler/util/parseExpression.js +1 -1
- package/src/compiler/util/parseStatement.js +1 -1
- package/src/compiler/util/removeDashes.js +1 -1
- package/src/compiler/util/safeVarName.js +1 -1
- package/src/compiler/util/tokenizer.js +1 -1
- package/src/core-tags/cache/cached-fragment-tag-transformer.js +1 -1
- package/src/core-tags/cache/cached-fragment-tag.js +4 -4
- package/src/core-tags/cache/default-cache-manager.js +3 -3
- package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +1 -1
- package/src/core-tags/components/TransformHelper/convertToComponent.js +1 -1
- package/src/core-tags/components/TransformHelper/handleComponentPreserveAttrs.js +1 -1
- package/src/core-tags/components/init-components-tag.js +1 -54
- package/src/core-tags/components/package.json +1 -3
- package/src/core-tags/components/preferred-script-location-tag.js +1 -1
- package/src/core-tags/components/preserve-tag.js +1 -27
- package/src/core-tags/components/util/getTransformHelper.js +1 -1
- package/src/core-tags/core/await/AsyncValue.js +3 -3
- package/src/core-tags/core/await/noop-render.js +1 -1
- package/src/core-tags/core/await/renderer.js +8 -7
- package/src/core-tags/core/await/reorderer-renderer.js +35 -14
- package/src/core-tags/core/await/transformer.js +1 -1
- package/src/core-tags/core/core-transformer.js +2 -2
- package/src/core-tags/migrate/all-tags/index.js +1 -1
- package/src/core-tags/migrate/all-templates/index.js +1 -1
- package/src/core-tags/migrate/include-tag.js +3 -2
- package/src/core-tags/migrate/util/parseFor.js +3 -2
- package/src/core-tags/migrate/util/printJS.js +1 -1
- package/src/defineRenderer.js +1 -1
- package/src/express.js +1 -1
- package/src/hot-reload.js +5 -5
- package/src/index.js +1 -41
- package/src/legacy-helpers/notEmpty.js +1 -1
- package/src/node-require/index.js +12 -1
- package/src/{runtime/components/beginComponent-browser.js → node_modules/@internal/components-beginComponent/index-browser.js} +1 -1
- package/src/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +2 -2
- package/src/node_modules/@internal/components-beginComponent/package.json +11 -0
- package/src/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +21 -23
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
- package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
- package/src/{runtime/components/endComponent.js → node_modules/@internal/components-endComponent/index.js} +1 -1
- package/src/node_modules/@internal/components-endComponent/package.json +11 -0
- package/src/node_modules/@internal/components-entry/index-browser.js +9 -0
- package/src/node_modules/@internal/components-entry/index.js +301 -0
- package/src/node_modules/@internal/components-entry/package.json +11 -0
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
- package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
- package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
- package/src/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +240 -75
- package/src/node_modules/@internal/components-registry/index.js +44 -0
- package/src/node_modules/@internal/components-registry/package.json +11 -0
- package/src/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +11 -10
- package/src/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +0 -2
- package/src/node_modules/@internal/components-util/package.json +11 -0
- package/src/node_modules/@internal/create-readable/index-browser.js +30 -0
- package/src/node_modules/@internal/create-readable/index.js +57 -0
- package/src/node_modules/@internal/create-readable/package.json +11 -0
- package/src/node_modules/@internal/init-components-tag/index.js +54 -0
- package/src/node_modules/@internal/init-components-tag/package.json +11 -0
- package/src/{loader/index-default.js → node_modules/@internal/loader/index.js} +2 -2
- package/src/node_modules/@internal/loader/package.json +11 -0
- package/src/node_modules/@internal/preserve-tag/index.js +27 -0
- package/src/node_modules/@internal/preserve-tag/package.json +11 -0
- package/src/node_modules/@internal/set-immediate/index-browser.js +17 -0
- package/src/node_modules/@internal/set-immediate/index-worker.js +2 -0
- package/src/node_modules/@internal/set-immediate/index.js +2 -0
- package/src/node_modules/@internal/set-immediate/package.json +11 -0
- package/src/runtime/RenderResult.js +20 -18
- package/src/runtime/components/Component.js +44 -41
- package/src/runtime/components/ComponentDef.js +9 -9
- package/src/runtime/components/ComponentsContext.js +4 -5
- package/src/runtime/components/GlobalComponentsContext.js +2 -1
- package/src/runtime/components/KeySequence.js +1 -1
- package/src/runtime/components/State.js +6 -6
- package/src/runtime/components/attach-detach.js +4 -4
- package/src/runtime/components/defineComponent.js +1 -1
- package/src/runtime/components/event-delegation.js +10 -10
- package/src/runtime/components/index.js +1 -301
- package/src/runtime/components/jquery.js +2 -2
- package/src/runtime/components/legacy/browser.json +1 -1
- package/src/runtime/components/legacy/defineRenderer-legacy.js +5 -6
- package/src/runtime/components/legacy/defineWidget-legacy.js +1 -18
- package/src/runtime/components/legacy/dependencies/html.js +1 -1
- package/src/runtime/components/legacy/dependencies/index.js +3 -3
- package/src/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
- package/src/runtime/components/legacy/index.js +1 -15
- package/src/runtime/components/legacy/renderer-legacy.js +7 -7
- package/src/runtime/components/ready.js +2 -2
- package/src/runtime/components/registry.js +1 -44
- package/src/runtime/components/renderer.js +4 -4
- package/src/runtime/components/update-manager.js +1 -1
- package/src/runtime/dom-insert.js +8 -8
- package/src/runtime/helpers/_weak-map.js +2 -2
- package/src/runtime/helpers/assign.js +3 -1
- package/src/runtime/helpers/bind-component.js +2 -2
- package/src/runtime/helpers/dynamic-tag.js +2 -4
- package/src/runtime/helpers/for-in.js +1 -1
- package/src/runtime/helpers/load-nested-tag.js +1 -1
- package/src/runtime/helpers/load-template.js +1 -1
- package/src/runtime/helpers/merge.js +3 -1
- package/src/runtime/helpers/noop.js +1 -1
- package/src/runtime/helpers/style-value.js +1 -1
- package/src/runtime/helpers/to-string.js +1 -1
- package/src/runtime/html/AsyncStream.js +90 -76
- package/src/runtime/html/BufferedWriter.js +6 -2
- package/src/runtime/html/StringWriter.js +15 -9
- package/src/runtime/html/helpers/attrs.js +3 -3
- package/src/runtime/html/helpers/data-marko.js +0 -2
- package/src/runtime/html/helpers/escape-quotes.js +1 -1
- package/src/runtime/html/helpers/escape-xml.js +1 -1
- package/src/runtime/html/index.js +23 -13
- package/src/runtime/queueMicrotask.js +2 -2
- package/src/runtime/renderable.js +9 -9
- package/src/runtime/vdom/AsyncVDOMBuilder.js +46 -51
- package/src/runtime/vdom/VComment.js +3 -3
- package/src/runtime/vdom/VDocumentFragment.js +3 -3
- package/src/runtime/vdom/VElement.js +17 -13
- package/src/runtime/vdom/VFragment.js +1 -1
- package/src/runtime/vdom/VNode.js +2 -2
- package/src/runtime/vdom/VText.js +3 -3
- package/src/runtime/vdom/helpers/attrs.js +1 -1
- package/src/runtime/vdom/helpers/const.js +2 -2
- package/src/runtime/vdom/helpers/v-element.js +1 -1
- package/src/runtime/vdom/helpers/v-text.js +1 -1
- package/src/runtime/vdom/index.js +21 -23
- package/src/runtime/vdom/morphdom/fragment.js +8 -7
- package/src/runtime/vdom/morphdom/index.js +19 -9
- package/src/runtime/vdom/morphdom/specialElHandlers.js +6 -6
- package/src/runtime/vdom/parse-html.js +4 -4
- package/src/runtime/vdom/preserve-attrs.js +1 -1
- package/src/runtime/vdom/vdom.js +5 -7
- package/src/taglib/taglib-finder/index.js +1 -1
- package/src/taglib/taglib-loader/Tag.js +5 -5
- package/src/taglib/taglib-loader/Taglib.js +2 -2
- package/src/taglib/taglib-loader/json-file-reader.js +1 -1
- package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
- package/src/taglib/taglib-loader/loadTagFromProps.js +5 -6
- package/src/taglib/taglib-loader/tag-def-from-code.js +2 -1
- package/src/taglib/taglib-lookup/TaglibLookup.js +2 -2
- package/src/taglib/taglib-lookup/index.js +1 -1
- package/dist/core-tags/core/await/client-reorder-browser.js +0 -1
- package/dist/core-tags/core/await/client-reorder-runtime.min.js +0 -5
- package/dist/core-tags/core/await/client-reorder.js +0 -11
- package/dist/core-tags/core/await/package.json +0 -6
- package/dist/index-browser.js +0 -4
- package/dist/loader/index.js +0 -7
- package/dist/loader/package.json +0 -5
- package/dist/node-require/index-browser.js +0 -1
- package/dist/package.json +0 -5
- package/dist/runtime/components/beginComponent-browser.js +0 -12
- package/dist/runtime/components/endComponent.js +0 -11
- package/dist/runtime/components/index-browser.js +0 -14
- package/dist/runtime/components/init-components.js +0 -1
- package/dist/runtime/components/legacy/package.json +0 -6
- package/dist/runtime/components/package.json +0 -12
- package/dist/runtime/components/registry-browser.js +0 -73
- package/dist/runtime/html/Template.js +0 -63
- package/dist/runtime/package.json +0 -5
- package/dist/runtime/setImmediate.js +0 -19
- package/src/core-tags/core/await/client-reorder-browser.js +0 -1
- package/src/core-tags/core/await/client-reorder-runtime.min.js +0 -1
- package/src/core-tags/core/await/client-reorder.js +0 -14
- package/src/core-tags/core/await/package.json +0 -6
- package/src/index-browser.js +0 -3
- package/src/loader/index.js +0 -7
- package/src/loader/package.json +0 -5
- package/src/node-require/index-browser.js +0 -1
- package/src/package.json +0 -5
- package/src/runtime/components/index-browser.js +0 -15
- package/src/runtime/components/init-components.js +0 -1
- package/src/runtime/components/legacy/index-browser.js +0 -73
- package/src/runtime/components/legacy/package.json +0 -6
- package/src/runtime/components/package.json +0 -12
- package/src/runtime/components/registry-browser.js +0 -103
- package/src/runtime/html/Template.js +0 -62
- package/src/runtime/package.json +0 -5
- package/src/runtime/setImmediate.js +0 -21
- /package/dist/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
- /package/dist/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
- /package/dist/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
- /package/src/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
- /package/src/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
- /package/src/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
- /package/src/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +0 -0
@@ -1,27 +1,114 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
1
|
var complain;
|
4
2
|
var warp10Finalize = require("warp10/finalize");
|
5
|
-
var
|
6
|
-
var
|
7
|
-
var
|
8
|
-
var createFragmentNode = require("
|
9
|
-
var
|
10
|
-
var
|
11
|
-
var
|
12
|
-
var
|
13
|
-
var
|
14
|
-
var
|
15
|
-
var
|
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
|
-
|
24
|
-
|
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.
|
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.
|
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.
|
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.
|
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,
|
146
|
-
var component = componentDef.
|
232
|
+
function initComponent(componentDef, host) {
|
233
|
+
var component = componentDef.v_;
|
147
234
|
|
148
|
-
if (!component || !component.
|
235
|
+
if (!component || !component.A_) {
|
149
236
|
return; // legacy
|
150
237
|
}
|
151
238
|
|
152
|
-
component.
|
153
|
-
component.
|
239
|
+
component._t_();
|
240
|
+
component.E_ = host;
|
154
241
|
|
155
|
-
var isExisting = componentDef.
|
242
|
+
var isExisting = componentDef._u_;
|
156
243
|
|
157
244
|
if (isExisting) {
|
158
|
-
component.
|
245
|
+
component._v_();
|
159
246
|
}
|
160
247
|
|
161
|
-
var domEvents = componentDef.
|
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.
|
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.
|
265
|
+
component._w_ = eventListenerHandles;
|
179
266
|
}
|
180
267
|
}
|
181
268
|
|
182
|
-
if (component.
|
183
|
-
component.
|
269
|
+
if (component._x_) {
|
270
|
+
component._y_();
|
184
271
|
} else {
|
185
|
-
component.
|
186
|
-
component.
|
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,
|
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.
|
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,
|
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,
|
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
|
-
|
349
|
+
host = document;
|
258
350
|
} else {
|
259
351
|
runtimeId = renderedComponents.r || DEFAULT_RUNTIME_ID;
|
260
|
-
|
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(
|
287
|
-
eventDelegation.
|
378
|
+
indexServerComponentBoundaries(host, runtimeId);
|
379
|
+
eventDelegation._A_(host);
|
288
380
|
|
289
381
|
if (renderedComponents.g) {
|
290
|
-
meta.
|
382
|
+
meta._B_ = renderedComponents.g;
|
291
383
|
}
|
292
384
|
|
293
385
|
if (renderedComponents.t) {
|
294
|
-
meta.
|
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
|
-
|
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
|
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
|
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.
|
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.
|
434
|
+
component._E_ = rootNode;
|
338
435
|
componentsByDOMNode.set(rootNode, component);
|
339
436
|
|
340
|
-
if (componentDef.
|
341
|
-
component.
|
342
|
-
renderResult = component.
|
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(
|
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,
|
449
|
+
initComponent(componentDef, host);
|
353
450
|
};
|
354
451
|
}
|
355
452
|
}
|
356
453
|
|
357
454
|
function trackComponent(componentDef) {
|
358
|
-
var component = componentDef.
|
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.
|
369
|
-
exports.
|
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;
|
@@ -1,18 +1,17 @@
|
|
1
|
-
var domData = require("
|
2
|
-
var componentsByDOMNode = domData.
|
3
|
-
var keysByDOMNode = domData.
|
4
|
-
var vElementsByDOMNode = domData.
|
5
|
-
var vPropsByDOMNode = domData.
|
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,
|
15
|
-
var node = typeof el == "string" ? (
|
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.
|
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.
|
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.
|
51
|
+
if (node === component.N_[key]) {
|
53
52
|
if (componentsByDOMNode.get(node) && /\[\]$/.test(key)) {
|
54
|
-
delete component.
|
53
|
+
delete component.N_[key][componentsByDOMNode.get(node).id];
|
55
54
|
} else {
|
56
|
-
delete component.
|
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.
|
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.
|
129
|
-
exports.
|
130
|
-
exports.
|
131
|
-
exports.
|
132
|
-
exports.
|
133
|
-
exports.
|
134
|
-
exports.
|
135
|
-
exports.
|
136
|
-
exports.
|
137
|
-
exports.
|
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.
|
22
|
-
var eventIndex = component.
|
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.
|
30
|
+
if (!(componentDef.x_ & FLAG_WILL_RERENDER_IN_BROWSER)) {
|
33
31
|
if (eventIndex === 0) {
|
34
|
-
component.
|
32
|
+
component.Z_ = [extraArgs];
|
35
33
|
} else {
|
36
|
-
component.
|
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.
|
48
|
-
exports.
|
49
|
-
exports.
|
50
|
-
exports.
|
51
|
-
exports.
|
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,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
|
+
};
|