marko 5.31.0 → 5.31.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/compiler/index.js +10 -10
- package/dist/core-tags/components/preserve-tag.js +4 -4
- package/dist/core-tags/core/await/AsyncValue.js +7 -7
- package/dist/core-tags/core/await/reorderer-renderer.js +28 -28
- package/dist/node-require/hot-reload.js +5 -5
- package/dist/node-require/index.js +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +4 -4
- package/dist/node_modules/@internal/components-beginComponent/index.js +14 -14
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +9 -7
- package/dist/node_modules/@internal/components-entry/index-browser.js +2 -1
- package/dist/node_modules/@internal/components-entry/index.js +5 -5
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
- package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +43 -51
- package/dist/node_modules/@internal/components-util/index-browser.js +3 -3
- package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
- package/dist/node_modules/@internal/create-readable/index.js +5 -5
- package/dist/node_modules/@internal/loader/fallback-node.js +89 -0
- package/dist/node_modules/@internal/loader/index-browser.js +1 -3
- package/dist/node_modules/@internal/loader/index.js +20 -85
- package/dist/node_modules/@internal/loader/package.json +2 -3
- package/dist/node_modules/@internal/require/index-browser.js +13 -0
- package/dist/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/dist/node_modules/@internal/require/index-webpack.js +11 -0
- package/dist/node_modules/@internal/require/index.js +15 -0
- package/dist/node_modules/@internal/require/package.json +11 -0
- package/dist/runtime/RenderResult.js +8 -7
- package/dist/runtime/components/Component.js +18 -18
- package/dist/runtime/components/ComponentDef.js +1 -1
- package/dist/runtime/components/State.js +10 -10
- package/dist/runtime/components/event-delegation.js +49 -49
- package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +6 -11
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +51 -51
- package/dist/runtime/components/renderer.js +26 -26
- package/dist/runtime/helpers/_change-case.js +3 -3
- package/dist/runtime/helpers/class-value.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +27 -27
- package/dist/runtime/helpers/render-tag.js +3 -3
- package/dist/runtime/html/AsyncStream.js +10 -10
- package/dist/runtime/html/BufferedWriter.js +14 -14
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +5 -5
- package/dist/runtime/html/helpers/attrs.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +2 -2
- package/dist/runtime/html/helpers/escape-xml.js +2 -2
- package/dist/runtime/html/index.js +9 -9
- package/dist/runtime/renderable.js +4 -4
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +36 -36
- package/dist/runtime/vdom/VElement.js +23 -23
- package/dist/runtime/vdom/hot-reload.js +1 -1
- package/dist/runtime/vdom/index.js +8 -8
- package/dist/runtime/vdom/morphdom/fragment.js +8 -8
- package/dist/runtime/vdom/morphdom/helpers.js +7 -7
- package/dist/runtime/vdom/morphdom/index.js +93 -93
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
- package/dist/runtime/vdom/vdom.js +2 -2
- package/dist/taglib/index.js +3 -3
- package/package.json +1 -1
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +17 -15
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +1 -1
- package/src/node_modules/@internal/components-entry/index-browser.js +2 -1
- package/src/node_modules/@internal/components-entry/index.js +2 -2
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +4 -3
- package/src/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/src/node_modules/@internal/components-registry/index-browser.js +9 -17
- package/src/node_modules/@internal/create-readable/index-browser.js +2 -2
- package/src/node_modules/@internal/loader/fallback-node.js +89 -0
- package/src/node_modules/@internal/loader/index-browser.js +1 -3
- package/src/node_modules/@internal/loader/index.js +21 -86
- package/src/node_modules/@internal/loader/package.json +2 -3
- package/src/node_modules/@internal/require/index-browser.js +13 -0
- package/src/node_modules/@internal/require/index-legacy-browser.js +20 -0
- package/src/node_modules/@internal/require/index-webpack.js +11 -0
- package/src/node_modules/@internal/require/index.js +15 -0
- package/src/node_modules/@internal/require/package.json +11 -0
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -5
- package/src/runtime/components/legacy/defineRenderer-legacy.js +2 -7
@@ -40,10 +40,10 @@ function handleBeginAsync(event) {
|
|
40
40
|
}
|
41
41
|
// Carry along the component arguments
|
42
42
|
asyncOut.c(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
parentOut.h_,
|
44
|
+
parentOut.j_,
|
45
|
+
parentOut.b__
|
46
|
+
);
|
47
47
|
}
|
48
48
|
|
49
49
|
function handleBeginDetachedAsync(event) {
|
@@ -124,14 +124,14 @@ renderingLogic)
|
|
124
124
|
// rendered component already mounted to the DOM. We also create
|
125
125
|
// a lightweight ServerComponent
|
126
126
|
component = registry._I_(
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
127
|
+
renderingLogic,
|
128
|
+
id,
|
129
|
+
input,
|
130
|
+
out,
|
131
|
+
typeName,
|
132
|
+
customEvents,
|
133
|
+
ownerComponentId
|
134
|
+
);
|
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
|
@@ -203,26 +203,26 @@ renderingLogic)
|
|
203
203
|
}
|
204
204
|
|
205
205
|
var componentDef = beginComponent(
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
206
|
+
componentsContext,
|
207
|
+
component,
|
208
|
+
key,
|
209
|
+
ownerComponentDef,
|
210
|
+
isSplit,
|
211
|
+
isImplicitComponent
|
212
|
+
);
|
213
213
|
|
214
214
|
componentDef._w_ = isExisting;
|
215
215
|
|
216
216
|
// Render the template associated with the component using the final template
|
217
217
|
// data that we constructed
|
218
218
|
templateRenderFunc(
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
219
|
+
input,
|
220
|
+
out,
|
221
|
+
componentDef,
|
222
|
+
component,
|
223
|
+
component.aA_,
|
224
|
+
out.global
|
225
|
+
);
|
226
226
|
|
227
227
|
endComponent(out, componentDef);
|
228
228
|
componentsContext.k_ = parentComponentDef;
|
@@ -28,9 +28,9 @@ exports.bh_ = function dashToCamelCase(name) {
|
|
28
28
|
var nameCamel = dashToCamelLookup[name];
|
29
29
|
if (!nameCamel) {
|
30
30
|
nameCamel = dashToCamelLookup[name] = name.replace(
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
/-([a-z])/g,
|
32
|
+
matchToUpperCase
|
33
|
+
);
|
34
34
|
|
35
35
|
if (nameCamel !== name) {
|
36
36
|
camelToDashLookup[nameCamel] = name;
|
@@ -38,22 +38,22 @@ customEvents)
|
|
38
38
|
if (typeof tag === "string") {
|
39
39
|
if (renderBody) {
|
40
40
|
out.bi_(
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
tag,
|
42
|
+
attrs,
|
43
|
+
key,
|
44
|
+
componentDef,
|
45
|
+
addEvents(componentDef, customEvents, props)
|
46
|
+
);
|
47
47
|
renderBody(out);
|
48
48
|
out.bj_();
|
49
49
|
} else {
|
50
50
|
out.bk_(
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
51
|
+
tag,
|
52
|
+
attrs,
|
53
|
+
key,
|
54
|
+
componentDef,
|
55
|
+
addEvents(componentDef, customEvents, props)
|
56
|
+
);
|
57
57
|
}
|
58
58
|
} else {
|
59
59
|
if (attrs == null) {
|
@@ -105,10 +105,10 @@ customEvents)
|
|
105
105
|
var parentComponentDef = componentsContext.k_;
|
106
106
|
var globalContext = componentsContext.f_;
|
107
107
|
componentsContext.k_ = new ComponentDef(
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
108
|
+
component,
|
109
|
+
parentComponentDef.id + "-" + parentComponentDef.aK_(key),
|
110
|
+
globalContext
|
111
|
+
);
|
112
112
|
render.toJSON = RENDER_BODY_TO_JSON;
|
113
113
|
|
114
114
|
if (args) {
|
@@ -127,12 +127,12 @@ customEvents)
|
|
127
127
|
}
|
128
128
|
} else if (renderBody) {
|
129
129
|
out.bf(
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
130
|
+
key,
|
131
|
+
component,
|
132
|
+
IS_SERVER &&
|
133
|
+
componentDef &&
|
134
|
+
componentDef.C_ & FLAG_WILL_RERENDER_IN_BROWSER
|
135
|
+
);
|
136
136
|
renderBody(out);
|
137
137
|
out.ef();
|
138
138
|
}
|
@@ -161,11 +161,11 @@ function addEvents(componentDef, customEvents, props) {
|
|
161
161
|
for (var i = len; i--;) {
|
162
162
|
event = customEvents[i];
|
163
163
|
result["on" + event[0]] = componentDef.d(
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
164
|
+
event[0],
|
165
|
+
event[1],
|
166
|
+
event[2],
|
167
|
+
event[3]
|
168
|
+
);
|
169
169
|
}
|
170
170
|
|
171
171
|
return result;
|
@@ -222,14 +222,14 @@ var proto = AsyncStream.prototype = {
|
|
222
222
|
if (timeout > 0) {
|
223
223
|
newStream._timeoutId = setTimeout(function () {
|
224
224
|
newStream.error(
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
225
|
+
new Error(
|
226
|
+
"Async fragment " + (
|
227
|
+
name ? "(" + name + ") " : "") +
|
228
|
+
"timed out after " +
|
229
|
+
timeout +
|
230
|
+
"ms"
|
231
|
+
)
|
232
|
+
);
|
233
233
|
}, timeout);
|
234
234
|
}
|
235
235
|
|
@@ -430,8 +430,8 @@ var proto = AsyncStream.prototype = {
|
|
430
430
|
break;
|
431
431
|
default:
|
432
432
|
events.emit.apply(events, arguments);
|
433
|
-
break;
|
434
|
-
|
433
|
+
break;
|
434
|
+
}
|
435
435
|
return this;
|
436
436
|
},
|
437
437
|
|
@@ -18,22 +18,22 @@ function BufferedWriter(wrappedStream) {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
BufferedWriter.prototype = Object.assign(
|
21
|
-
{
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
{
|
22
|
+
scheduleFlush() {
|
23
|
+
if (!this._scheduled) {
|
24
|
+
this._scheduled = setImmediate(flush.bind(0, this));
|
25
|
+
}
|
26
|
+
},
|
27
|
+
|
28
|
+
end: function () {
|
29
|
+
flush(this);
|
30
|
+
if (!this._wrapped.isTTY) {
|
31
|
+
this._wrapped.end();
|
32
|
+
}
|
25
33
|
}
|
26
34
|
},
|
27
|
-
|
28
|
-
|
29
|
-
flush(this);
|
30
|
-
if (!this._wrapped.isTTY) {
|
31
|
-
this._wrapped.end();
|
32
|
-
}
|
33
|
-
}
|
34
|
-
},
|
35
|
-
StringWriter.prototype);
|
36
|
-
|
35
|
+
StringWriter.prototype
|
36
|
+
);
|
37
37
|
|
38
38
|
function flush(writer) {
|
39
39
|
const contents = writer.toString();
|
@@ -16,8 +16,8 @@ module.exports = function dynamicAttr(name, value) {
|
|
16
16
|
default:
|
17
17
|
return isEmptyAttrValue(value) || isInvalidAttrName(name) ?
|
18
18
|
"" :
|
19
|
-
notEmptyAttr(name, value);
|
20
|
-
|
19
|
+
notEmptyAttr(name, value);
|
20
|
+
}
|
21
21
|
};
|
22
22
|
|
23
23
|
// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
|
@@ -40,9 +40,9 @@ function notEmptyAttr(name, value) {
|
|
40
40
|
|
41
41
|
return " " + name + singleQuote(JSON.stringify(value), 2);
|
42
42
|
case RegExp.prototype.toString:
|
43
|
-
return " " + name + guessQuotes(value.source);
|
44
|
-
|
45
|
-
|
43
|
+
return " " + name + guessQuotes(value.source);
|
44
|
+
}
|
45
|
+
}
|
46
46
|
|
47
47
|
return " " + name + guessQuotes(value + "");
|
48
48
|
}
|
@@ -71,8 +71,8 @@ function guessQuotes(value) {
|
|
71
71
|
case "\n":
|
72
72
|
case "\r":
|
73
73
|
case "\f":
|
74
|
-
return doubleQuote(value, i + 1);
|
75
|
-
|
74
|
+
return doubleQuote(value, i + 1);
|
75
|
+
}
|
76
76
|
}
|
77
77
|
|
78
78
|
return value && "=" + (value[len - 1] === "/" ? value + " " : value);
|
@@ -27,8 +27,8 @@ module.exports = function dataMarko(out, componentDef, props, key) {
|
|
27
27
|
result +=
|
28
28
|
' data-marko-key="' +
|
29
29
|
escapeDoubleQuotes(
|
30
|
-
|
31
|
-
|
30
|
+
componentDef.aK_(key) + " " + componentDef.id
|
31
|
+
) +
|
32
32
|
'"';
|
33
33
|
}
|
34
34
|
}
|
@@ -22,14 +22,14 @@ Template.prototype.stream = require("@internal/create-readable");
|
|
22
22
|
|
23
23
|
var AsyncStream = require("./AsyncStream");
|
24
24
|
require("../createOut").bc_(
|
25
|
-
Template.prototype.createOut = function createOut(
|
26
|
-
globalData,
|
27
|
-
writer,
|
28
|
-
parentOut,
|
29
|
-
buffer)
|
30
|
-
{
|
31
|
-
|
32
|
-
}
|
33
|
-
|
25
|
+
Template.prototype.createOut = function createOut(
|
26
|
+
globalData,
|
27
|
+
writer,
|
28
|
+
parentOut,
|
29
|
+
buffer)
|
30
|
+
{
|
31
|
+
return new AsyncStream(globalData, writer, parentOut, buffer);
|
32
|
+
}
|
33
|
+
);
|
34
34
|
|
35
35
|
require("../renderable")(Template.prototype);
|
@@ -120,10 +120,10 @@ module.exports = function (target, renderer) {
|
|
120
120
|
callback = out;
|
121
121
|
} else {
|
122
122
|
finalOut = createOut(
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
123
|
+
globalData, // global
|
124
|
+
out, // writer(AsyncStream) or parentNode(AsyncVDOMBuilder)
|
125
|
+
undefined, // parentOut
|
126
|
+
shouldBuffer // ignored by AsyncVDOMBuilder
|
127
127
|
);
|
128
128
|
}
|
129
129
|
|
@@ -76,27 +76,27 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
76
76
|
|
77
77
|
element: function (tagName, attrs, key, component, childCount, flags, props) {
|
78
78
|
var element = new VElement(
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
79
|
+
tagName,
|
80
|
+
attrs,
|
81
|
+
key,
|
82
|
+
component,
|
83
|
+
childCount,
|
84
|
+
flags,
|
85
|
+
props
|
86
|
+
);
|
87
87
|
return this.bI_(element, childCount);
|
88
88
|
},
|
89
89
|
|
90
90
|
bk_: function (tagName, attrs, key, componentDef, props) {
|
91
91
|
return this.element(
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
92
|
+
tagName,
|
93
|
+
attrsHelper(attrs),
|
94
|
+
key,
|
95
|
+
componentDef.i_,
|
96
|
+
0,
|
97
|
+
0,
|
98
|
+
props
|
99
|
+
);
|
100
100
|
},
|
101
101
|
|
102
102
|
n: function (node, component) {
|
@@ -152,28 +152,28 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
152
152
|
props)
|
153
153
|
{
|
154
154
|
var element = new VElement(
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
155
|
+
tagName,
|
156
|
+
attrs,
|
157
|
+
key,
|
158
|
+
component,
|
159
|
+
childCount,
|
160
|
+
flags,
|
161
|
+
props
|
162
|
+
);
|
163
163
|
this.bI_(element, childCount, true);
|
164
164
|
return this;
|
165
165
|
},
|
166
166
|
|
167
167
|
bi_: function (tagName, attrs, key, componentDef, props) {
|
168
168
|
return this.beginElement(
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
169
|
+
tagName,
|
170
|
+
attrsHelper(attrs),
|
171
|
+
key,
|
172
|
+
componentDef.i_,
|
173
|
+
0,
|
174
|
+
0,
|
175
|
+
props
|
176
|
+
);
|
177
177
|
},
|
178
178
|
|
179
179
|
bf: function (key, component, preserve) {
|
@@ -269,8 +269,8 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
269
269
|
beginAsync: function (options) {
|
270
270
|
if (this.bG_) {
|
271
271
|
throw Error(
|
272
|
-
|
273
|
-
|
272
|
+
"Tried to render async while in sync mode. Note: Client side await is not currently supported in re-renders (Issue: #942)."
|
273
|
+
);
|
274
274
|
}
|
275
275
|
|
276
276
|
var state = this.G_;
|
@@ -353,8 +353,8 @@ var proto = AsyncVDOMBuilder.prototype = {
|
|
353
353
|
break;
|
354
354
|
default:
|
355
355
|
events.emit.apply(events, arguments);
|
356
|
-
break;
|
357
|
-
|
356
|
+
break;
|
357
|
+
}
|
358
358
|
return this;
|
359
359
|
},
|
360
360
|
|
@@ -42,8 +42,8 @@ function convertAttrValue(type, value) {
|
|
42
42
|
|
43
43
|
return JSON.stringify(value);
|
44
44
|
case RegExp.prototype.toString:
|
45
|
-
return value.source;
|
46
|
-
|
45
|
+
return value.source;
|
46
|
+
}
|
47
47
|
}
|
48
48
|
|
49
49
|
return value + "";
|
@@ -131,16 +131,16 @@ VElement.prototype = {
|
|
131
131
|
*/
|
132
132
|
e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {
|
133
133
|
var child = this.bJ_(
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
134
|
+
new VElement(
|
135
|
+
tagName,
|
136
|
+
attrs,
|
137
|
+
key,
|
138
|
+
ownerComponent,
|
139
|
+
childCount,
|
140
|
+
flags,
|
141
|
+
props
|
142
|
+
)
|
143
|
+
);
|
144
144
|
|
145
145
|
if (childCount === 0) {
|
146
146
|
return this.cb_();
|
@@ -169,9 +169,9 @@ VElement.prototype = {
|
|
169
169
|
|
170
170
|
var flags = this.C_;
|
171
171
|
var el = (host.ownerDocument || host).createElementNS(
|
172
|
-
|
173
|
-
|
174
|
-
|
172
|
+
namespaceURI,
|
173
|
+
tagName
|
174
|
+
);
|
175
175
|
|
176
176
|
if (flags & FLAG_CUSTOM_ELEMENT) {
|
177
177
|
assign(el, attributes);
|
@@ -282,14 +282,14 @@ function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
|
|
282
282
|
}
|
283
283
|
|
284
284
|
var vdomEl = new VElement(
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
285
|
+
tagName,
|
286
|
+
attrs,
|
287
|
+
null /*key*/,
|
288
|
+
ownerComponent,
|
289
|
+
0 /*child count*/,
|
290
|
+
0 /*flags*/,
|
291
|
+
props
|
292
|
+
);
|
293
293
|
|
294
294
|
if (vdomEl.bZ_ === "textarea") {
|
295
295
|
vdomEl.c__ = node.value;
|
@@ -20,13 +20,13 @@ function Template(typeName) {
|
|
20
20
|
|
21
21
|
var AsyncVDOMBuilder = require("./AsyncVDOMBuilder");
|
22
22
|
require("../createOut").bc_(
|
23
|
-
Template.prototype.createOut = function createOut(
|
24
|
-
globalData,
|
25
|
-
parent,
|
26
|
-
parentOut)
|
27
|
-
{
|
28
|
-
|
29
|
-
}
|
30
|
-
|
23
|
+
Template.prototype.createOut = function createOut(
|
24
|
+
globalData,
|
25
|
+
parent,
|
26
|
+
parentOut)
|
27
|
+
{
|
28
|
+
return new AsyncVDOMBuilder(globalData, parent, parentOut);
|
29
|
+
}
|
30
|
+
);
|
31
31
|
|
32
32
|
require("../renderable")(Template.prototype);
|
@@ -40,10 +40,10 @@ var fragmentPrototype = {
|
|
40
40
|
insertBefore: function (newChildNode, referenceNode) {
|
41
41
|
var actualReference = referenceNode == null ? this.endNode : referenceNode;
|
42
42
|
return insertBefore(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
newChildNode,
|
44
|
+
actualReference,
|
45
|
+
this.startNode.parentNode
|
46
|
+
);
|
47
47
|
},
|
48
48
|
insertInto: function (newParentNode, referenceNode) {
|
49
49
|
this.nodes.forEach(function (node) {
|
@@ -83,10 +83,10 @@ function beginFragmentNode(startNode, parentNode) {
|
|
83
83
|
fragment.co_ = function (nextNode) {
|
84
84
|
fragment.co_ = null;
|
85
85
|
insertBefore(
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
86
|
+
fragment.endNode,
|
87
|
+
nextNode,
|
88
|
+
parentNode || startNode.parentNode
|
89
|
+
);
|
90
90
|
};
|
91
91
|
return fragment;
|
92
92
|
}
|
@@ -3,17 +3,17 @@
|
|
3
3
|
return node.insertInto(parentNode, referenceNode);
|
4
4
|
}
|
5
5
|
return parentNode.insertBefore(
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
node,
|
7
|
+
referenceNode && referenceNode.startNode || referenceNode
|
8
|
+
);
|
9
9
|
}
|
10
10
|
|
11
11
|
function insertAfter(node, referenceNode, parentNode) {
|
12
12
|
return insertBefore(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
node,
|
14
|
+
referenceNode && referenceNode.nextSibling,
|
15
|
+
parentNode
|
16
|
+
);
|
17
17
|
}
|
18
18
|
|
19
19
|
function nextSibling(node) {
|