marko 5.36.4 → 5.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compiler/index.js +11 -11
- package/dist/core-tags/components/init-components-tag.js +4 -4
- package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
- package/dist/core-tags/core/__flush_here_and_after__.js +1 -1
- package/dist/core-tags/core/await/AsyncValue.js +21 -21
- package/dist/core-tags/core/await/renderer.js +24 -24
- package/dist/core-tags/core/await/reorderer-renderer.js +6 -6
- package/dist/node-require/browser-refresh.js +18 -1
- package/dist/node-require/index.js +7 -7
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +5 -5
- package/dist/node_modules/@internal/components-beginComponent/index.js +12 -12
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +99 -99
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
- package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
- package/dist/node_modules/@internal/components-entry/index-browser.js +2 -2
- package/dist/node_modules/@internal/components-entry/index.js +29 -29
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +13 -13
- package/dist/node_modules/@internal/components-entry-legacy/index.js +1 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +102 -102
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +20 -20
- package/dist/node_modules/@internal/components-util/index.js +24 -20
- package/dist/node_modules/@internal/create-readable/index-browser.js +1 -1
- package/dist/node_modules/@internal/create-readable/index.js +9 -9
- package/dist/node_modules/@internal/preserve-tag/index-browser.js +8 -8
- package/dist/node_modules/@internal/preserve-tag/index.js +6 -6
- package/dist/node_modules/@internal/set-immediate/index-browser.js +2 -2
- package/dist/node_modules/@internal/set-immediate/index-worker.js +3 -3
- package/dist/node_modules/@internal/set-immediate/index.js +3 -3
- package/dist/runtime/RenderResult.js +24 -24
- package/dist/runtime/components/Component.js +163 -163
- package/dist/runtime/components/ComponentDef.js +34 -34
- package/dist/runtime/components/ComponentsContext.js +20 -20
- package/dist/runtime/components/GlobalComponentsContext.js +4 -4
- package/dist/runtime/components/KeySequence.js +3 -3
- package/dist/runtime/components/ServerComponent.js +17 -17
- package/dist/runtime/components/State.js +28 -28
- package/dist/runtime/components/attach-detach.js +8 -8
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +6 -6
- package/dist/runtime/components/event-delegation.js +10 -10
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +25 -25
- package/dist/runtime/components/legacy/dependencies/index.js +10 -10
- package/dist/runtime/components/legacy/renderer-legacy.js +56 -56
- package/dist/runtime/components/renderer.js +45 -45
- package/dist/runtime/components/update-manager.js +4 -4
- package/dist/runtime/createOut.js +1 -1
- package/dist/runtime/dom-insert.js +5 -5
- package/dist/runtime/helpers/_change-case.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +33 -33
- package/dist/runtime/helpers/render-tag.js +1 -1
- package/dist/runtime/helpers/serialize-noop.js +2 -2
- package/dist/runtime/helpers/style-value.js +1 -1
- package/dist/runtime/helpers/tags-compat/runtime-dom.js +35 -35
- package/dist/runtime/helpers/tags-compat/runtime-html.js +16 -16
- package/dist/runtime/html/AsyncStream.js +28 -28
- package/dist/runtime/html/BufferedWriter.js +2 -2
- package/dist/runtime/html/StringWriter.js +2 -2
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +11 -11
- package/dist/runtime/html/helpers/attrs.js +6 -6
- package/dist/runtime/html/helpers/data-marko.js +6 -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/merge-attrs.js +11 -11
- package/dist/runtime/html/helpers/props-script.js +1 -1
- package/dist/runtime/html/index.js +2 -2
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +100 -100
- 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 +52 -52
- package/dist/runtime/vdom/VFragment.js +9 -9
- package/dist/runtime/vdom/VNode.js +34 -34
- package/dist/runtime/vdom/VText.js +8 -8
- package/dist/runtime/vdom/helpers/attrs.js +6 -6
- package/dist/runtime/vdom/helpers/const-element.js +3 -3
- package/dist/runtime/vdom/hot-reload.js +20 -20
- package/dist/runtime/vdom/index.js +2 -2
- package/dist/runtime/vdom/morphdom/fragment.js +10 -10
- package/dist/runtime/vdom/morphdom/helpers.js +5 -5
- package/dist/runtime/vdom/morphdom/index.js +81 -81
- package/dist/runtime/vdom/vdom.js +15 -15
- package/dist/taglib/index.js +7 -7
- package/dist/translator/cdata/index.js +15 -0
- package/dist/translator/cdata/index[html].js +15 -0
- package/dist/translator/cdata/index[vdom].js +12 -0
- package/dist/translator/class.js +65 -0
- package/dist/translator/comment/index.js +15 -0
- package/dist/translator/comment/index[html].js +17 -0
- package/dist/translator/comment/index[vdom].js +3 -0
- package/dist/translator/declaration/index.js +15 -0
- package/dist/translator/declaration/index[html].js +12 -0
- package/dist/translator/declaration/index[vdom].js +3 -0
- package/dist/translator/document-type/index.js +15 -0
- package/dist/translator/document-type/index[html].js +12 -0
- package/dist/translator/document-type/index[vdom].js +3 -0
- package/dist/translator/index.js +551 -0
- package/dist/translator/placeholder/index.js +15 -0
- package/dist/translator/placeholder/index[html].js +93 -0
- package/dist/translator/placeholder/index[vdom].js +22 -0
- package/dist/translator/scriptlet.js +4 -0
- package/dist/translator/tag/attribute/directives/class.js +42 -0
- package/dist/translator/tag/attribute/directives/index.js +15 -0
- package/dist/translator/tag/attribute/directives/no-update-body-if.js +15 -0
- package/dist/translator/tag/attribute/directives/no-update-body.js +10 -0
- package/dist/translator/tag/attribute/directives/no-update-if.js +12 -0
- package/dist/translator/tag/attribute/directives/no-update.js +48 -0
- package/dist/translator/tag/attribute/directives/style.js +42 -0
- package/dist/translator/tag/attribute/index.js +150 -0
- package/dist/translator/tag/attribute/modifiers/index.js +7 -0
- package/dist/translator/tag/attribute/modifiers/no-update.js +14 -0
- package/dist/translator/tag/attribute/modifiers/scoped.js +23 -0
- package/dist/translator/tag/attribute-tag.js +149 -0
- package/dist/translator/tag/custom-tag.js +146 -0
- package/dist/translator/tag/dynamic-tag.js +74 -0
- package/dist/translator/tag/index.js +287 -0
- package/dist/translator/tag/macro-tag.js +7 -0
- package/dist/translator/tag/native-tag.js +27 -0
- package/dist/translator/tag/native-tag[html]/attributes.js +151 -0
- package/dist/translator/tag/native-tag[html]/index.js +221 -0
- package/dist/translator/tag/native-tag[vdom]/attributes.js +105 -0
- package/dist/translator/tag/native-tag[vdom]/index.js +189 -0
- package/dist/translator/tag/util.js +246 -0
- package/dist/translator/taglib/core/conditional/translate-else-if.js +20 -0
- package/dist/translator/taglib/core/conditional/translate-else.js +20 -0
- package/dist/translator/taglib/core/conditional/translate-if.js +8 -0
- package/dist/translator/taglib/core/conditional/util.js +41 -0
- package/dist/translator/taglib/core/index.js +474 -0
- package/dist/translator/taglib/core/macro/parse.js +17 -0
- package/dist/translator/taglib/core/macro/translate.js +48 -0
- package/dist/translator/taglib/core/parse-class.js +79 -0
- package/dist/translator/taglib/core/parse-export.js +14 -0
- package/dist/translator/taglib/core/parse-import.js +14 -0
- package/dist/translator/taglib/core/parse-module-code.js +18 -0
- package/dist/translator/taglib/core/parse-static.js +18 -0
- package/dist/translator/taglib/core/transform-style.js +66 -0
- package/dist/translator/taglib/core/translate-await.js +41 -0
- package/dist/translator/taglib/core/translate-body.js +17 -0
- package/dist/translator/taglib/core/translate-for.js +156 -0
- package/dist/translator/taglib/core/translate-html-comment.js +52 -0
- package/dist/translator/taglib/core/translate-include-content.js +53 -0
- package/dist/translator/taglib/core/translate-server-only.js +5 -0
- package/dist/translator/taglib/core/translate-while.js +32 -0
- package/dist/translator/taglib/index.js +6 -0
- package/dist/translator/taglib/migrate/all-templates.js +46 -0
- package/dist/translator/taglib/migrate/index.js +5 -0
- package/dist/translator/text/index.js +10 -0
- package/dist/translator/text/index[html].js +12 -0
- package/dist/translator/text/index[vdom].js +20 -0
- package/dist/translator/util/add-dependencies.js +329 -0
- package/dist/translator/util/escape-regexp.js +4 -0
- package/dist/translator/util/get-component-files.js +86 -0
- package/dist/translator/util/html-out-write.js +15 -0
- package/dist/translator/util/key-manager.js +176 -0
- package/dist/translator/util/optimize-html-writes.js +52 -0
- package/dist/translator/util/optimize-vdom-create.js +164 -0
- package/dist/translator/util/plugin-hooks.js +22 -0
- package/dist/translator/util/runtime-flags.js +3 -0
- package/dist/translator/util/vdom-out-write.js +10 -0
- package/dist/translator/util/with-previous-location.js +6 -0
- package/package.json +7 -4
- package/src/taglib/index.js +2 -2
- package/src/translator/cdata/index.js +15 -0
- package/src/translator/cdata/index[html].js +15 -0
- package/src/translator/cdata/index[vdom].js +12 -0
- package/src/translator/class.js +65 -0
- package/src/translator/comment/index.js +15 -0
- package/src/translator/comment/index[html].js +17 -0
- package/src/translator/comment/index[vdom].js +3 -0
- package/src/translator/declaration/index.js +15 -0
- package/src/translator/declaration/index[html].js +12 -0
- package/src/translator/declaration/index[vdom].js +3 -0
- package/src/translator/document-type/index.js +15 -0
- package/src/translator/document-type/index[html].js +12 -0
- package/src/translator/document-type/index[vdom].js +3 -0
- package/src/translator/index.js +551 -0
- package/src/translator/placeholder/index.js +15 -0
- package/src/translator/placeholder/index[html].js +93 -0
- package/src/translator/placeholder/index[vdom].js +22 -0
- package/src/translator/scriptlet.js +4 -0
- package/src/translator/tag/attribute/directives/class.js +42 -0
- package/src/translator/tag/attribute/directives/index.js +15 -0
- package/src/translator/tag/attribute/directives/no-update-body-if.js +15 -0
- package/src/translator/tag/attribute/directives/no-update-body.js +10 -0
- package/src/translator/tag/attribute/directives/no-update-if.js +12 -0
- package/src/translator/tag/attribute/directives/no-update.js +48 -0
- package/src/translator/tag/attribute/directives/style.js +42 -0
- package/src/translator/tag/attribute/index.js +150 -0
- package/src/translator/tag/attribute/modifiers/index.js +7 -0
- package/src/translator/tag/attribute/modifiers/no-update.js +14 -0
- package/src/translator/tag/attribute/modifiers/scoped.js +23 -0
- package/src/translator/tag/attribute-tag.js +149 -0
- package/src/translator/tag/custom-tag.js +146 -0
- package/src/translator/tag/dynamic-tag.js +74 -0
- package/src/translator/tag/index.js +287 -0
- package/src/translator/tag/macro-tag.js +7 -0
- package/src/translator/tag/native-tag.js +27 -0
- package/src/translator/tag/native-tag[html]/attributes.js +151 -0
- package/src/translator/tag/native-tag[html]/index.js +221 -0
- package/src/translator/tag/native-tag[vdom]/attributes.js +105 -0
- package/src/translator/tag/native-tag[vdom]/index.js +189 -0
- package/src/translator/tag/util.js +246 -0
- package/src/translator/taglib/core/conditional/translate-else-if.js +20 -0
- package/src/translator/taglib/core/conditional/translate-else.js +20 -0
- package/src/translator/taglib/core/conditional/translate-if.js +8 -0
- package/src/translator/taglib/core/conditional/util.js +41 -0
- package/src/translator/taglib/core/index.js +474 -0
- package/src/translator/taglib/core/macro/parse.js +17 -0
- package/src/translator/taglib/core/macro/translate.js +48 -0
- package/src/translator/taglib/core/parse-class.js +79 -0
- package/src/translator/taglib/core/parse-export.js +14 -0
- package/src/translator/taglib/core/parse-import.js +14 -0
- package/src/translator/taglib/core/parse-module-code.js +18 -0
- package/src/translator/taglib/core/parse-static.js +18 -0
- package/src/translator/taglib/core/transform-style.js +66 -0
- package/src/translator/taglib/core/translate-await.js +41 -0
- package/src/translator/taglib/core/translate-body.js +17 -0
- package/src/translator/taglib/core/translate-for.js +156 -0
- package/src/translator/taglib/core/translate-html-comment.js +52 -0
- package/src/translator/taglib/core/translate-include-content.js +53 -0
- package/src/translator/taglib/core/translate-server-only.js +5 -0
- package/src/translator/taglib/core/translate-while.js +32 -0
- package/src/translator/taglib/index.js +7 -0
- package/src/translator/taglib/migrate/all-templates.js +46 -0
- package/src/translator/taglib/migrate/index.js +5 -0
- package/src/translator/text/index.js +10 -0
- package/src/translator/text/index[html].js +12 -0
- package/src/translator/text/index[vdom].js +20 -0
- package/src/translator/util/add-dependencies.js +329 -0
- package/src/translator/util/escape-regexp.js +4 -0
- package/src/translator/util/get-component-files.js +86 -0
- package/src/translator/util/html-out-write.js +15 -0
- package/src/translator/util/key-manager.js +176 -0
- package/src/translator/util/optimize-html-writes.js +52 -0
- package/src/translator/util/optimize-vdom-create.js +164 -0
- package/src/translator/util/plugin-hooks.js +22 -0
- package/src/translator/util/runtime-flags.js +3 -0
- package/src/translator/util/vdom-out-write.js +10 -0
- package/src/translator/util/with-previous-location.js +6 -0
- package/translator/index.d.ts +7 -0
- package/translator/package.json +5 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict"; // eslint-disable-next-line no-constant-binary-expression
|
|
2
|
-
|
|
3
|
-
var componentLookup = require("@internal/components-util").
|
|
2
|
+
var complain = "MARKO_DEBUG" && require("complain");
|
|
3
|
+
var componentLookup = require("@internal/components-util").___componentLookup;
|
|
4
4
|
var req = require("@internal/require");
|
|
5
5
|
var makeRenderable = require("../../renderable");
|
|
6
6
|
var getComponentsContext =
|
|
7
|
-
require("../ComponentsContext").
|
|
7
|
+
require("../ComponentsContext").___getComponentsContext;
|
|
8
8
|
var modernRenderer = require("../renderer");
|
|
9
|
-
var resolveComponentKey = modernRenderer.
|
|
9
|
+
var resolveComponentKey = modernRenderer.___resolveComponentKey;
|
|
10
10
|
|
|
11
11
|
module.exports = function defineRenderer(renderingLogic) {
|
|
12
12
|
var renderer = renderingLogic.renderer;
|
|
13
13
|
|
|
14
|
-
if (renderer && renderer.
|
|
14
|
+
if (renderer && renderer.___isRenderer) {
|
|
15
15
|
return renderer;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -45,13 +45,13 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
45
45
|
// takes care of re-using existing components.
|
|
46
46
|
renderer = function renderer(input, out) {
|
|
47
47
|
var componentsContext = getComponentsContext(out);
|
|
48
|
-
var globalComponentsContext = componentsContext.
|
|
49
|
-
var component = globalComponentsContext.
|
|
50
|
-
var isReceivingNewInput = !component || component.
|
|
48
|
+
var globalComponentsContext = componentsContext.___globalContext;
|
|
49
|
+
var component = globalComponentsContext.___rerenderComponent;
|
|
50
|
+
var isReceivingNewInput = !component || component.___isReceivingNewInput;
|
|
51
51
|
var parentComponentDef;
|
|
52
52
|
|
|
53
53
|
if (component) {
|
|
54
|
-
component.
|
|
54
|
+
component.___isReceivingNewInput = false;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
// Render the template associated with the component using the final template
|
|
@@ -63,17 +63,17 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
63
63
|
var id;
|
|
64
64
|
|
|
65
65
|
if (!component && componentLookup) {
|
|
66
|
-
var key = out.
|
|
66
|
+
var key = out.___assignedKey;
|
|
67
67
|
|
|
68
68
|
if (
|
|
69
|
-
(parentComponentDef = componentsContext.
|
|
69
|
+
(parentComponentDef = componentsContext.___componentDef) &&
|
|
70
70
|
key != null)
|
|
71
71
|
{
|
|
72
72
|
id = resolveComponentKey(key.toString(), parentComponentDef);
|
|
73
73
|
} else if (parentComponentDef) {
|
|
74
|
-
id = parentComponentDef.
|
|
74
|
+
id = parentComponentDef.___nextComponentId();
|
|
75
75
|
} else {
|
|
76
|
-
id = globalComponentsContext.
|
|
76
|
+
id = globalComponentsContext.___nextComponentId();
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
component = componentLookup[id];
|
|
@@ -106,9 +106,9 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
106
106
|
widgetBody = newProps.renderBody;
|
|
107
107
|
}
|
|
108
108
|
} else if (component) {
|
|
109
|
-
newProps = newProps || component.
|
|
110
|
-
widgetBody = component.
|
|
111
|
-
widgetState = component.
|
|
109
|
+
newProps = newProps || component.___widgetProps;
|
|
110
|
+
widgetBody = component.___widgetBody;
|
|
111
|
+
widgetState = component.___rawState;
|
|
112
112
|
widgetConfig = component.widgetConfig;
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -129,15 +129,15 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
129
129
|
widgetConfig = getWidgetConfig(newProps, out);
|
|
130
130
|
}
|
|
131
131
|
// eslint-disable-next-line no-constant-condition
|
|
132
|
+
if ("MARKO_DEBUG") {
|
|
133
|
+
if (widgetState && "widgetState" in templateData) {
|
|
134
|
+
complain("Passing widgetState as input is deprecated.");
|
|
135
|
+
}
|
|
132
136
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
if (widgetConfig && "widgetConfig" in templateData) {
|
|
138
|
+
complain("Passing widgetConfig as input is deprecated.");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
141
|
|
|
142
142
|
templateData.widgetProps = newProps;
|
|
143
143
|
widgetBody && (templateData.renderBody = widgetBody);
|
|
@@ -148,7 +148,7 @@ module.exports = function defineRenderer(renderingLogic) {
|
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
renderer.
|
|
151
|
+
renderer.___isRenderer = true;
|
|
152
152
|
renderer.createOut = template ? template.createOut : renderingLogic.createOut;
|
|
153
153
|
renderer.template = template;
|
|
154
154
|
|
|
@@ -4,16 +4,16 @@ var env = process.env.NODE_ENV;
|
|
|
4
4
|
var production = !env || env !== "development";
|
|
5
5
|
|
|
6
6
|
function getRootDeps(template, context) {
|
|
7
|
-
if (production && template.
|
|
8
|
-
return template.
|
|
7
|
+
if (production && template.___depsArray) {
|
|
8
|
+
return template.___depsArray;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
attachDepsAndComponentsToTemplate(template, context);
|
|
12
12
|
|
|
13
|
-
var deps = template.
|
|
14
|
-
(key) => template.
|
|
13
|
+
var deps = template.___depsArray = Object.keys(template.___deps).map(
|
|
14
|
+
(key) => template.___deps[key]
|
|
15
15
|
);
|
|
16
|
-
var initModule = getInitModule(template.path, template.
|
|
16
|
+
var initModule = getInitModule(template.path, template.___components);
|
|
17
17
|
|
|
18
18
|
if (initModule) deps.push(initModule);
|
|
19
19
|
|
|
@@ -38,10 +38,10 @@ function attachDepsAndComponentsToTemplate(target, context) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
if (typeof template.createOut !== "function") return;
|
|
41
|
-
if (production && target.
|
|
41
|
+
if (production && target.___deps) return;
|
|
42
42
|
|
|
43
|
-
var deps = target.
|
|
44
|
-
var components = target.
|
|
43
|
+
var deps = target.___deps = {};
|
|
44
|
+
var components = target.___components = {};
|
|
45
45
|
|
|
46
46
|
if (!template.meta) {
|
|
47
47
|
console.warn("Metadata not set for template at ", template.path);
|
|
@@ -83,8 +83,8 @@ function attachDepsAndComponentsToTemplate(target, context) {
|
|
|
83
83
|
|
|
84
84
|
attachDepsAndComponentsToTemplate(tag, context);
|
|
85
85
|
|
|
86
|
-
if (tag.
|
|
87
|
-
if (tag.
|
|
86
|
+
if (tag.___deps) Object.assign(deps, tag.___deps);
|
|
87
|
+
if (tag.___components) Object.assign(components, tag.___components);
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -3,13 +3,13 @@ var endComponent = require("@internal/components-endComponent");
|
|
|
3
3
|
var registry = require("@internal/components-registry");
|
|
4
4
|
var componentsUtil = require("@internal/components-util");
|
|
5
5
|
var getComponentsContext =
|
|
6
|
-
require("../ComponentsContext").
|
|
7
|
-
var componentLookup = componentsUtil.
|
|
6
|
+
require("../ComponentsContext").___getComponentsContext;
|
|
7
|
+
var componentLookup = componentsUtil.___componentLookup;
|
|
8
8
|
var modernRenderer = require("../renderer");
|
|
9
|
-
var resolveComponentKey = modernRenderer.
|
|
10
|
-
var trackAsyncComponents = modernRenderer.
|
|
9
|
+
var resolveComponentKey = modernRenderer.___resolveComponentKey;
|
|
10
|
+
var trackAsyncComponents = modernRenderer.___trackAsyncComponents;
|
|
11
11
|
// eslint-disable-next-line no-constant-binary-expression
|
|
12
|
-
|
|
12
|
+
var complain = "MARKO_DEBUG" && require("complain");
|
|
13
13
|
|
|
14
14
|
function createRendererFunc(templateRenderFunc, componentProps) {
|
|
15
15
|
var typeName = componentProps.t;
|
|
@@ -21,15 +21,15 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
21
21
|
trackAsyncComponents(out);
|
|
22
22
|
|
|
23
23
|
var componentsContext = getComponentsContext(out);
|
|
24
|
-
var parentLegacyComponentDef = componentsContext.
|
|
24
|
+
var parentLegacyComponentDef = componentsContext.___legacyComponentDef;
|
|
25
25
|
|
|
26
26
|
if (isImplicit && parentLegacyComponentDef) {
|
|
27
27
|
templateRenderFunc(
|
|
28
28
|
input,
|
|
29
29
|
out,
|
|
30
30
|
parentLegacyComponentDef,
|
|
31
|
-
parentLegacyComponentDef.
|
|
32
|
-
parentLegacyComponentDef.
|
|
31
|
+
parentLegacyComponentDef.___component,
|
|
32
|
+
parentLegacyComponentDef.___component.___rawState,
|
|
33
33
|
out.global
|
|
34
34
|
);
|
|
35
35
|
return;
|
|
@@ -38,37 +38,37 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
38
38
|
var widgetBody = input.renderBody;
|
|
39
39
|
var widgetState = input.widgetState;
|
|
40
40
|
var widgetConfig = input.widgetConfig;
|
|
41
|
-
var globalComponentsContext = componentsContext.
|
|
42
|
-
var component = globalComponentsContext.
|
|
41
|
+
var globalComponentsContext = componentsContext.___globalContext;
|
|
42
|
+
var component = globalComponentsContext.___rerenderComponent;
|
|
43
43
|
|
|
44
44
|
var isRerender = component !== undefined;
|
|
45
45
|
var id = assignedId;
|
|
46
46
|
var isExisting;
|
|
47
|
-
var parentComponentDef = componentsContext.
|
|
48
|
-
var ownerComponentDef = out.
|
|
47
|
+
var parentComponentDef = componentsContext.___componentDef;
|
|
48
|
+
var ownerComponentDef = out.___assignedComponentDef;
|
|
49
49
|
var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
|
|
50
|
-
var key = out.
|
|
51
|
-
var customEvents = out.
|
|
50
|
+
var key = out.___assignedKey;
|
|
51
|
+
var customEvents = out.___assignedCustomEvents;
|
|
52
52
|
|
|
53
|
-
out.
|
|
53
|
+
out.___assignedComponentDef = null;
|
|
54
54
|
|
|
55
55
|
if (component) {
|
|
56
56
|
id = component.id;
|
|
57
57
|
isExisting = true;
|
|
58
|
-
globalComponentsContext.
|
|
58
|
+
globalComponentsContext.___rerenderComponent = null;
|
|
59
59
|
} else {
|
|
60
60
|
if (key != null) {
|
|
61
61
|
id = id || resolveComponentKey(key.toString(), parentComponentDef);
|
|
62
62
|
} else if (parentComponentDef) {
|
|
63
|
-
id = parentComponentDef.
|
|
63
|
+
id = parentComponentDef.___nextComponentId();
|
|
64
64
|
} else {
|
|
65
|
-
id = globalComponentsContext.
|
|
65
|
+
id = globalComponentsContext.___nextComponentId();
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
if (registry.
|
|
69
|
+
if (registry.___isServer && typeName) {
|
|
70
70
|
if (renderingLogic) delete renderingLogic.onRender;
|
|
71
|
-
component = registry.
|
|
71
|
+
component = registry.___createComponent(
|
|
72
72
|
renderingLogic,
|
|
73
73
|
id,
|
|
74
74
|
input,
|
|
@@ -81,12 +81,12 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
81
81
|
component.input = null;
|
|
82
82
|
} else if (input.widgetProps) {
|
|
83
83
|
// eslint-disable-next-line no-constant-condition
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
if ("MARKO_DEBUG") {
|
|
85
|
+
complain(
|
|
86
|
+
"Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
|
|
87
|
+
{ location: typeName, level: 1 }
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
90
|
component.input = input.widgetProps;
|
|
91
91
|
}
|
|
92
92
|
} else {
|
|
@@ -94,7 +94,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
94
94
|
if (isRerender) {
|
|
95
95
|
// Look in in the DOM to see if a component with the same ID and type already exists.
|
|
96
96
|
component = componentLookup[id];
|
|
97
|
-
if (component && component.
|
|
97
|
+
if (component && component.___type !== typeName) {
|
|
98
98
|
component = undefined;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
@@ -105,7 +105,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
105
105
|
isExisting = false;
|
|
106
106
|
// We need to create a new instance of the component
|
|
107
107
|
if (typeName) {
|
|
108
|
-
component = registry.
|
|
108
|
+
component = registry.___createComponent(typeName, id);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -117,10 +117,10 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
117
117
|
isFakeComponent = true;
|
|
118
118
|
component = {
|
|
119
119
|
id: id,
|
|
120
|
-
|
|
120
|
+
___keyedElements: {}
|
|
121
121
|
};
|
|
122
122
|
} else {
|
|
123
|
-
component.
|
|
123
|
+
component.___updateQueued = true;
|
|
124
124
|
|
|
125
125
|
if (widgetState) {
|
|
126
126
|
component.state = widgetState;
|
|
@@ -128,7 +128,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
component.widgetConfig = widgetConfig;
|
|
131
|
-
component.
|
|
131
|
+
component.___widgetBody = widgetBody || component.___widgetBody;
|
|
132
132
|
|
|
133
133
|
var componentDef = beginComponent(
|
|
134
134
|
componentsContext,
|
|
@@ -138,21 +138,21 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
138
138
|
isSplit,
|
|
139
139
|
isFakeComponent
|
|
140
140
|
);
|
|
141
|
-
componentsContext.
|
|
141
|
+
componentsContext.___legacyComponentDef = componentDef;
|
|
142
142
|
|
|
143
143
|
// This is a hack, but we have to swap out the component instance stored with this node
|
|
144
|
-
var vComponentNode = out.
|
|
144
|
+
var vComponentNode = out.___parent;
|
|
145
145
|
|
|
146
|
-
componentDef.
|
|
147
|
-
componentDef.
|
|
148
|
-
componentDef.
|
|
146
|
+
componentDef.___component = isFakeComponent ? null : component;
|
|
147
|
+
componentDef.___isExisting = isExisting;
|
|
148
|
+
componentDef.___isLegacy = true;
|
|
149
149
|
|
|
150
150
|
componentDef.t = function (typeName) {
|
|
151
151
|
if (typeName) {
|
|
152
|
-
if (registry.
|
|
152
|
+
if (registry.___isServer) {
|
|
153
153
|
var oldComponent = component;
|
|
154
154
|
if (renderingLogic) delete renderingLogic.onRender;
|
|
155
|
-
component = registry.
|
|
155
|
+
component = registry.___createComponent(
|
|
156
156
|
renderingLogic || {},
|
|
157
157
|
id,
|
|
158
158
|
input,
|
|
@@ -165,12 +165,12 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
165
165
|
component.input = null;
|
|
166
166
|
} else if (input.widgetProps) {
|
|
167
167
|
// eslint-disable-next-line no-constant-condition
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
168
|
+
if ("MARKO_DEBUG") {
|
|
169
|
+
complain(
|
|
170
|
+
"Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
|
|
171
|
+
{ location: typeName, level: 1 }
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
174
|
component.input = input.widgetProps;
|
|
175
175
|
}
|
|
176
176
|
Object.assign(component, oldComponent);
|
|
@@ -184,19 +184,19 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
184
184
|
this
|
|
185
185
|
);
|
|
186
186
|
} else {
|
|
187
|
-
vComponentNode.
|
|
187
|
+
vComponentNode.___component = component = registry.___createComponent(
|
|
188
188
|
typeName,
|
|
189
189
|
component.id
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
|
-
this.
|
|
192
|
+
this.___component = component;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
return component;
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
if (!registry.
|
|
199
|
-
component.
|
|
198
|
+
if (!registry.___isServer) {
|
|
199
|
+
component.___legacyRender && component.___legacyRender();
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
// Render the template associated with the component using the final template
|
|
@@ -206,16 +206,16 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
206
206
|
out,
|
|
207
207
|
componentDef,
|
|
208
208
|
component,
|
|
209
|
-
component.
|
|
209
|
+
component.___rawState,
|
|
210
210
|
out.global
|
|
211
211
|
);
|
|
212
212
|
|
|
213
|
-
if (customEvents && componentDef.
|
|
214
|
-
if (registry.
|
|
215
|
-
componentDef.
|
|
216
|
-
componentDef.
|
|
213
|
+
if (customEvents && componentDef.___component) {
|
|
214
|
+
if (registry.___isServer) {
|
|
215
|
+
componentDef.___customEvents = customEvents;
|
|
216
|
+
componentDef.___scope = ownerComponentId;
|
|
217
217
|
} else {
|
|
218
|
-
componentDef.
|
|
218
|
+
componentDef.___component.___setCustomEvents(
|
|
219
219
|
customEvents,
|
|
220
220
|
ownerComponentId
|
|
221
221
|
);
|
|
@@ -223,8 +223,8 @@ function createRendererFunc(templateRenderFunc, componentProps) {
|
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
endComponent(out, componentDef);
|
|
226
|
-
componentsContext.
|
|
227
|
-
componentsContext.
|
|
226
|
+
componentsContext.___componentDef = parentComponentDef;
|
|
227
|
+
componentsContext.___legacyComponentDef = parentLegacyComponentDef;
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
230
|
|
|
@@ -3,11 +3,11 @@ var beginComponent = require("@internal/components-beginComponent");
|
|
|
3
3
|
var endComponent = require("@internal/components-endComponent");
|
|
4
4
|
var registry = require("@internal/components-registry");
|
|
5
5
|
var componentsUtil = require("@internal/components-util");
|
|
6
|
-
var componentLookup = componentsUtil.
|
|
6
|
+
var componentLookup = componentsUtil.___componentLookup;
|
|
7
7
|
|
|
8
8
|
var ComponentsContext = require("./ComponentsContext");
|
|
9
|
-
var getComponentsContext = ComponentsContext.
|
|
10
|
-
var isServer = componentsUtil.
|
|
9
|
+
var getComponentsContext = ComponentsContext.___getComponentsContext;
|
|
10
|
+
var isServer = componentsUtil.___isServer === true;
|
|
11
11
|
|
|
12
12
|
var COMPONENT_BEGIN_ASYNC_ADDED_KEY = "$wa";
|
|
13
13
|
|
|
@@ -15,7 +15,7 @@ function resolveComponentKey(key, parentComponentDef) {
|
|
|
15
15
|
if (key[0] === "#") {
|
|
16
16
|
return key.substring(1);
|
|
17
17
|
} else {
|
|
18
|
-
return parentComponentDef.id + "-" + parentComponentDef.
|
|
18
|
+
return parentComponentDef.id + "-" + parentComponentDef.___nextKey(key);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -32,17 +32,17 @@ function trackAsyncComponents(out) {
|
|
|
32
32
|
function handleBeginAsync(event) {
|
|
33
33
|
var parentOut = event.parentOut;
|
|
34
34
|
var asyncOut = event.out;
|
|
35
|
-
var componentsContext = parentOut.
|
|
35
|
+
var componentsContext = parentOut.___components;
|
|
36
36
|
|
|
37
37
|
if (componentsContext !== undefined) {
|
|
38
38
|
// We are going to start a nested ComponentsContext
|
|
39
|
-
asyncOut.
|
|
39
|
+
asyncOut.___components = new ComponentsContext(asyncOut, componentsContext);
|
|
40
40
|
}
|
|
41
41
|
// Carry along the component arguments
|
|
42
42
|
asyncOut.c(
|
|
43
|
-
parentOut.
|
|
44
|
-
parentOut.
|
|
45
|
-
parentOut.
|
|
43
|
+
parentOut.___assignedComponentDef,
|
|
44
|
+
parentOut.___assignedKey,
|
|
45
|
+
parentOut.___assignedCustomEvents
|
|
46
46
|
);
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -66,13 +66,13 @@ renderingLogic)
|
|
|
66
66
|
var shouldApplySplitMixins = renderingLogic && isSplit;
|
|
67
67
|
|
|
68
68
|
// eslint-disable-next-line no-constant-condition
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (componentProps.d) {
|
|
69
|
+
if ("MARKO_DEBUG") {
|
|
70
|
+
if (!componentProps.d) {
|
|
71
|
+
throw new Error(
|
|
72
|
+
"Component was compiled in a different NODE_ENV than the Marko runtime is using."
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
} else if (componentProps.d) {
|
|
76
76
|
throw new Error("Runtime/NODE_ENV Mismatch");
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -80,24 +80,24 @@ renderingLogic)
|
|
|
80
80
|
trackAsyncComponents(out);
|
|
81
81
|
|
|
82
82
|
var componentsContext = getComponentsContext(out);
|
|
83
|
-
var globalComponentsContext = componentsContext.
|
|
83
|
+
var globalComponentsContext = componentsContext.___globalContext;
|
|
84
84
|
|
|
85
|
-
var component = globalComponentsContext.
|
|
85
|
+
var component = globalComponentsContext.___rerenderComponent;
|
|
86
86
|
var isRerender = component !== undefined;
|
|
87
87
|
var id;
|
|
88
88
|
var isExisting;
|
|
89
89
|
var customEvents;
|
|
90
|
-
var parentComponentDef = componentsContext.
|
|
91
|
-
var ownerComponentDef = out.
|
|
90
|
+
var parentComponentDef = componentsContext.___componentDef;
|
|
91
|
+
var ownerComponentDef = out.___assignedComponentDef;
|
|
92
92
|
var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
|
|
93
|
-
var key = out.
|
|
93
|
+
var key = out.___assignedKey;
|
|
94
94
|
|
|
95
95
|
if (component) {
|
|
96
96
|
// If component is provided then we are currently rendering
|
|
97
97
|
// the top-level UI component as part of a re-render
|
|
98
98
|
id = component.id; // We will use the ID of the component being re-rendered
|
|
99
99
|
isExisting = true; // This is a re-render so we know the component is already in the DOM
|
|
100
|
-
globalComponentsContext.
|
|
100
|
+
globalComponentsContext.___rerenderComponent = null;
|
|
101
101
|
} else {
|
|
102
102
|
// Otherwise, we are rendering a nested UI component. We will need
|
|
103
103
|
// to match up the UI component with the component already in the
|
|
@@ -106,15 +106,15 @@ renderingLogic)
|
|
|
106
106
|
// that were provided.
|
|
107
107
|
if (parentComponentDef) {
|
|
108
108
|
// console.log('componentArgs:', componentArgs);
|
|
109
|
-
customEvents = out.
|
|
109
|
+
customEvents = out.___assignedCustomEvents;
|
|
110
110
|
|
|
111
111
|
if (key != null) {
|
|
112
112
|
id = resolveComponentKey(key.toString(), parentComponentDef);
|
|
113
113
|
} else {
|
|
114
|
-
id = parentComponentDef.
|
|
114
|
+
id = parentComponentDef.___nextComponentId();
|
|
115
115
|
}
|
|
116
116
|
} else {
|
|
117
|
-
id = globalComponentsContext.
|
|
117
|
+
id = globalComponentsContext.___nextComponentId();
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -123,7 +123,7 @@ renderingLogic)
|
|
|
123
123
|
// we don't need to match up the UI component with a previously
|
|
124
124
|
// rendered component already mounted to the DOM. We also create
|
|
125
125
|
// a lightweight ServerComponent
|
|
126
|
-
component = registry.
|
|
126
|
+
component = registry.___createComponent(
|
|
127
127
|
renderingLogic,
|
|
128
128
|
id,
|
|
129
129
|
input,
|
|
@@ -135,13 +135,13 @@ renderingLogic)
|
|
|
135
135
|
|
|
136
136
|
// This is the final input after running the lifecycle methods.
|
|
137
137
|
// We will be passing the input to the template for the `input` param
|
|
138
|
-
input = component.
|
|
138
|
+
input = component.___updatedInput;
|
|
139
139
|
} else {
|
|
140
140
|
if (!component) {
|
|
141
141
|
if (
|
|
142
142
|
isRerender && (
|
|
143
143
|
component = componentLookup[id]) &&
|
|
144
|
-
component.
|
|
144
|
+
component.___type !== typeName)
|
|
145
145
|
{
|
|
146
146
|
// Destroy the existing component since
|
|
147
147
|
component.destroy();
|
|
@@ -153,7 +153,7 @@ renderingLogic)
|
|
|
153
153
|
} else {
|
|
154
154
|
isExisting = false;
|
|
155
155
|
// We need to create a new instance of the component
|
|
156
|
-
component = registry.
|
|
156
|
+
component = registry.___createComponent(typeName, id);
|
|
157
157
|
|
|
158
158
|
if (shouldApplySplitMixins === true) {
|
|
159
159
|
shouldApplySplitMixins = false;
|
|
@@ -170,36 +170,36 @@ renderingLogic)
|
|
|
170
170
|
// Set this flag to prevent the component from being queued for update
|
|
171
171
|
// based on the new input. The component is about to be rerendered
|
|
172
172
|
// so we don't want to queue it up as a result of calling `setInput()`
|
|
173
|
-
component.
|
|
173
|
+
component.___updateQueued = true;
|
|
174
174
|
|
|
175
175
|
if (customEvents) {
|
|
176
|
-
component.
|
|
176
|
+
component.___setCustomEvents(customEvents, ownerComponentId);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
if (isExisting === false) {
|
|
180
|
-
component.
|
|
180
|
+
component.___emitCreate(input, out);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
input = component.
|
|
183
|
+
input = component.___setInput(input, onInput, out);
|
|
184
184
|
|
|
185
185
|
if (isExisting === true) {
|
|
186
186
|
if (
|
|
187
|
-
component.
|
|
188
|
-
component.shouldUpdate(input, component.
|
|
187
|
+
component.___isDirty === false ||
|
|
188
|
+
component.shouldUpdate(input, component.___state) === false)
|
|
189
189
|
{
|
|
190
190
|
// We put a placeholder element in the output stream to ensure that the existing
|
|
191
191
|
// DOM node is matched up correctly when using morphdom. We flag the VElement
|
|
192
192
|
// node to track that it is a preserve marker
|
|
193
|
-
out.
|
|
194
|
-
globalComponentsContext.
|
|
195
|
-
component.
|
|
193
|
+
out.___preserveComponent(component);
|
|
194
|
+
globalComponentsContext.___renderedComponentsById[id] = true;
|
|
195
|
+
component.___reset(); // The component is no longer dirty so reset internal flags
|
|
196
196
|
return;
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
component.
|
|
202
|
-
component.
|
|
201
|
+
component.___global = out.global;
|
|
202
|
+
component.___emitRender(out);
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
var componentDef = beginComponent(
|
|
@@ -211,7 +211,7 @@ renderingLogic)
|
|
|
211
211
|
isImplicitComponent
|
|
212
212
|
);
|
|
213
213
|
|
|
214
|
-
componentDef.
|
|
214
|
+
componentDef.___isExisting = isExisting;
|
|
215
215
|
|
|
216
216
|
// Render the template associated with the component using the final template
|
|
217
217
|
// data that we constructed
|
|
@@ -220,17 +220,17 @@ renderingLogic)
|
|
|
220
220
|
out,
|
|
221
221
|
componentDef,
|
|
222
222
|
component,
|
|
223
|
-
component.
|
|
223
|
+
component.___rawState,
|
|
224
224
|
out.global
|
|
225
225
|
);
|
|
226
226
|
|
|
227
227
|
endComponent(out, componentDef);
|
|
228
|
-
componentsContext.
|
|
228
|
+
componentsContext.___componentDef = parentComponentDef;
|
|
229
229
|
};
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
module.exports = createRendererFunc;
|
|
233
233
|
|
|
234
234
|
// exports used by the legacy renderer
|
|
235
|
-
createRendererFunc.
|
|
236
|
-
createRendererFunc.
|
|
235
|
+
createRendererFunc.___resolveComponentKey = resolveComponentKey;
|
|
236
|
+
createRendererFunc.___trackAsyncComponents = trackAsyncComponents;
|
|
@@ -4,7 +4,7 @@ var updatesScheduled = false;
|
|
|
4
4
|
var batchStack = []; // A stack of batched updates
|
|
5
5
|
var unbatchedQueue = []; // Used for scheduled batched updates
|
|
6
6
|
|
|
7
|
-
var setImmediate = require("@internal/set-immediate").
|
|
7
|
+
var setImmediate = require("@internal/set-immediate").___setImmediate;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* This function is called when we schedule the update of "unbatched"
|
|
@@ -41,7 +41,7 @@ function updateComponents(queue) {
|
|
|
41
41
|
// since we will still get to them at the end
|
|
42
42
|
for (var i = 0; i < queue.length; i++) {
|
|
43
43
|
var component = queue[i];
|
|
44
|
-
component.
|
|
44
|
+
component.___update(); // Do the actual component update
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
// Clear out the queue by setting the length to zero
|
|
@@ -90,5 +90,5 @@ function queueComponentUpdate(component) {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
exports.
|
|
94
|
-
exports.
|
|
93
|
+
exports.___queueComponentUpdate = queueComponentUpdate;
|
|
94
|
+
exports.___batchUpdate = batchUpdate;
|