marko 5.31.0 → 5.31.2
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 +1 -81
- package/dist/core-tags/core/await/AsyncValue.js +25 -25
- package/dist/core-tags/core/await/renderer.js +11 -11
- package/dist/core-tags/core/await/reorderer-renderer.js +31 -31
- 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 +8 -8
- package/dist/node_modules/@internal/components-beginComponent/index.js +25 -25
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +53 -51
- 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 +3 -2
- package/dist/node_modules/@internal/components-entry/index.js +24 -24
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +10 -9
- package/dist/node_modules/@internal/components-entry-legacy/index.js +2 -1
- package/dist/node_modules/@internal/components-registry/index-browser.js +84 -92
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +23 -23
- package/dist/node_modules/@internal/components-util/index.js +10 -10
- package/dist/node_modules/@internal/create-readable/index-browser.js +5 -5
- package/dist/node_modules/@internal/create-readable/index.js +13 -13
- 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/preserve-tag/index-browser.js +45 -0
- package/dist/node_modules/@internal/preserve-tag/index.js +34 -0
- package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
- 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 +15 -14
- package/dist/runtime/components/Component.js +106 -106
- package/dist/runtime/components/ComponentDef.js +19 -19
- package/dist/runtime/components/ComponentsContext.js +14 -14
- package/dist/runtime/components/GlobalComponentsContext.js +2 -2
- package/dist/runtime/components/ServerComponent.js +12 -12
- package/dist/runtime/components/State.js +19 -19
- package/dist/runtime/components/attach-detach.js +1 -1
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +5 -5
- package/dist/runtime/components/event-delegation.js +55 -55
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -6
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -21
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +82 -82
- package/dist/runtime/components/renderer.js +44 -44
- package/dist/runtime/dom-insert.js +2 -2
- 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 +35 -35
- package/dist/runtime/helpers/render-tag.js +4 -4
- package/dist/runtime/html/AsyncStream.js +16 -16
- package/dist/runtime/html/BufferedWriter.js +14 -14
- package/dist/runtime/html/StringWriter.js +1 -1
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +6 -6
- package/dist/runtime/html/helpers/attrs.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +6 -6
- package/dist/runtime/html/helpers/escape-quotes.js +1 -1
- package/dist/runtime/html/helpers/escape-xml.js +2 -2
- package/dist/runtime/html/helpers/props-script.js +1 -1
- package/dist/runtime/html/index.js +10 -10
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +61 -61
- package/dist/runtime/vdom/VComponent.js +2 -2
- package/dist/runtime/vdom/VDocumentFragment.js +1 -1
- package/dist/runtime/vdom/VElement.js +38 -38
- package/dist/runtime/vdom/VFragment.js +4 -4
- package/dist/runtime/vdom/VNode.js +2 -2
- package/dist/runtime/vdom/hot-reload.js +11 -11
- package/dist/runtime/vdom/index.js +9 -9
- package/dist/runtime/vdom/morphdom/fragment.js +9 -9
- package/dist/runtime/vdom/morphdom/helpers.js +7 -7
- package/dist/runtime/vdom/morphdom/index.js +126 -126
- package/dist/runtime/vdom/morphdom/specialElHandlers.js +11 -11
- package/dist/runtime/vdom/vdom.js +2 -2
- package/dist/taglib/index.js +3 -3
- package/package.json +1 -1
- package/src/core-tags/components/preserve-tag.js +1 -81
- 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/preserve-tag/index-browser.js +45 -0
- package/src/node_modules/@internal/preserve-tag/index.js +34 -0
- package/src/node_modules/@internal/preserve-tag/package.json +11 -0
- 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 +3 -8
@@ -4,16 +4,16 @@ var queueMicrotask = require("../../../runtime/queueMicrotask");
|
|
4
4
|
var defineComponent = require("../../../runtime/components/defineComponent");
|
5
5
|
var eventDelegation = require("../../../runtime/components/event-delegation");
|
6
6
|
var createFragmentNode =
|
7
|
-
require("../../../runtime/vdom/morphdom/fragment").
|
7
|
+
require("../../../runtime/vdom/morphdom/fragment")._h_;
|
8
8
|
var ComponentDef = require("../../../runtime/components/ComponentDef");
|
9
9
|
var domData = require("../../../runtime/components/dom-data");
|
10
10
|
var componentsUtil = require("@internal/components-util");
|
11
|
-
var
|
12
|
-
var componentLookup = componentsUtil.
|
11
|
+
var req = require("@internal/require");
|
12
|
+
var componentLookup = componentsUtil._i_;
|
13
13
|
var addComponentRootToKeyedElements =
|
14
|
-
componentsUtil.
|
15
|
-
var keyedElementsByComponentId = domData.
|
16
|
-
var componentsByDOMNode = domData.
|
14
|
+
componentsUtil._j_;
|
15
|
+
var keyedElementsByComponentId = domData._k_;
|
16
|
+
var componentsByDOMNode = domData._l_;
|
17
17
|
var serverComponentRootNodes = {};
|
18
18
|
var serverRenderedMeta = {};
|
19
19
|
var win = window;
|
@@ -69,8 +69,8 @@ function addPendingDef(def, type, meta, host, runtimeId) {
|
|
69
69
|
def,
|
70
70
|
meta,
|
71
71
|
host,
|
72
|
-
runtimeId]
|
73
|
-
|
72
|
+
runtimeId]
|
73
|
+
);
|
74
74
|
}
|
75
75
|
|
76
76
|
function load(typeName, isLegacy) {
|
@@ -81,9 +81,9 @@ function load(typeName, isLegacy) {
|
|
81
81
|
if (target) {
|
82
82
|
target = target();
|
83
83
|
} else if (isLegacy) {
|
84
|
-
target = exports.
|
84
|
+
target = exports._e_.load(typeName);
|
85
85
|
} else {
|
86
|
-
target =
|
86
|
+
target = req(typeName);
|
87
87
|
// eslint-disable-next-line no-constant-condition
|
88
88
|
|
89
89
|
|
@@ -113,12 +113,12 @@ function getComponentClass(typeName, isLegacy) {
|
|
113
113
|
|
114
114
|
ComponentClass = ComponentClass.Component || ComponentClass;
|
115
115
|
|
116
|
-
if (!ComponentClass.
|
116
|
+
if (!ComponentClass.w_) {
|
117
117
|
ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
|
118
118
|
}
|
119
119
|
|
120
120
|
// Make the component "type" accessible on each component instance
|
121
|
-
ComponentClass.prototype.
|
121
|
+
ComponentClass.prototype._m_ = typeName;
|
122
122
|
|
123
123
|
// eslint-disable-next-line no-constant-condition
|
124
124
|
|
@@ -184,9 +184,9 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
184
184
|
rootNode = createFragmentNode(startNode.nextSibling, endNode);
|
185
185
|
} else {
|
186
186
|
rootNode = createFragmentNode(
|
187
|
-
|
188
|
-
|
189
|
-
|
187
|
+
endNode.parentNode.firstChild,
|
188
|
+
endNode
|
189
|
+
);
|
190
190
|
}
|
191
191
|
|
192
192
|
componentId = startNode.nodeValue.substring(runtimeLength + 1);
|
@@ -198,18 +198,18 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
198
198
|
ownerId = parts[1];
|
199
199
|
componentId = parts[0];
|
200
200
|
if (ownerComponent = componentLookup[ownerId]) {
|
201
|
-
keyedElements = ownerComponent.
|
201
|
+
keyedElements = ownerComponent.J_;
|
202
202
|
} else {
|
203
203
|
keyedElements =
|
204
204
|
keyedElementsByComponentId[ownerId] || (
|
205
205
|
keyedElementsByComponentId[ownerId] = {});
|
206
206
|
}
|
207
207
|
addComponentRootToKeyedElements(
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
208
|
+
keyedElements,
|
209
|
+
key,
|
210
|
+
rootNode,
|
211
|
+
componentId
|
212
|
+
);
|
213
213
|
}
|
214
214
|
|
215
215
|
serverComponentRootNodes[componentId] = rootNode;
|
@@ -221,13 +221,13 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
221
221
|
} else if (node.nodeType === 1) {
|
222
222
|
// HTML element node
|
223
223
|
var markoKey = node.getAttribute("data-marko-key");
|
224
|
-
var markoProps = componentsUtil.
|
224
|
+
var markoProps = componentsUtil._n_(node);
|
225
225
|
if (markoKey) {
|
226
226
|
var separatorIndex = markoKey.indexOf(" ");
|
227
227
|
ownerId = markoKey.substring(separatorIndex + 1);
|
228
228
|
markoKey = markoKey.substring(0, separatorIndex);
|
229
229
|
if (ownerComponent = componentLookup[ownerId]) {
|
230
|
-
keyedElements = ownerComponent.
|
230
|
+
keyedElements = ownerComponent.J_;
|
231
231
|
} else {
|
232
232
|
keyedElements =
|
233
233
|
keyedElementsByComponentId[ownerId] || (
|
@@ -238,7 +238,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
|
|
238
238
|
if (markoProps) {
|
239
239
|
Object.keys(markoProps).forEach(function (key) {
|
240
240
|
if (key.slice(0, 2) === "on") {
|
241
|
-
eventDelegation.
|
241
|
+
eventDelegation._o_(key.slice(2));
|
242
242
|
}
|
243
243
|
});
|
244
244
|
}
|
@@ -284,38 +284,38 @@ extraArgs,
|
|
284
284
|
handles)
|
285
285
|
{
|
286
286
|
var removeListener = addEventListenerHelper(
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
invokeComponentEventHandler(component, targetMethodName, args);
|
297
|
-
});
|
287
|
+
el,
|
288
|
+
eventType,
|
289
|
+
isOnce,
|
290
|
+
function (event) {
|
291
|
+
var args = [event, el];
|
292
|
+
if (extraArgs) {
|
293
|
+
args = extraArgs.concat(args);
|
294
|
+
}
|
298
295
|
|
296
|
+
invokeComponentEventHandler(component, targetMethodName, args);
|
297
|
+
}
|
298
|
+
);
|
299
299
|
handles.push(removeListener);
|
300
300
|
}
|
301
301
|
|
302
302
|
function initComponent(componentDef, host) {
|
303
|
-
var component = componentDef.
|
303
|
+
var component = componentDef.r_;
|
304
304
|
|
305
|
-
if (!component || !component.
|
305
|
+
if (!component || !component.w_) {
|
306
306
|
return; // legacy
|
307
307
|
}
|
308
308
|
|
309
|
-
component.
|
310
|
-
component.
|
309
|
+
component._p_();
|
310
|
+
component.A_ = host;
|
311
311
|
|
312
|
-
var isExisting = componentDef.
|
312
|
+
var isExisting = componentDef._q_;
|
313
313
|
|
314
314
|
if (isExisting) {
|
315
|
-
component.
|
315
|
+
component._r_();
|
316
316
|
}
|
317
317
|
|
318
|
-
var domEvents = componentDef.
|
318
|
+
var domEvents = componentDef._a_;
|
319
319
|
if (domEvents) {
|
320
320
|
var eventListenerHandles = [];
|
321
321
|
|
@@ -324,31 +324,31 @@ function initComponent(componentDef, host) {
|
|
324
324
|
|
325
325
|
var eventType = domEventArgs[0];
|
326
326
|
var targetMethodName = domEventArgs[1];
|
327
|
-
var eventEl = component.
|
327
|
+
var eventEl = component.J_[domEventArgs[2]];
|
328
328
|
var isOnce = domEventArgs[3];
|
329
329
|
var extraArgs = domEventArgs[4];
|
330
330
|
|
331
331
|
addDOMEventListeners(
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
332
|
+
component,
|
333
|
+
eventEl,
|
334
|
+
eventType,
|
335
|
+
targetMethodName,
|
336
|
+
isOnce,
|
337
|
+
extraArgs,
|
338
|
+
eventListenerHandles
|
339
|
+
);
|
340
340
|
});
|
341
341
|
|
342
342
|
if (eventListenerHandles.length) {
|
343
|
-
component.
|
343
|
+
component._s_ = eventListenerHandles;
|
344
344
|
}
|
345
345
|
}
|
346
346
|
|
347
|
-
if (component.
|
348
|
-
component.
|
347
|
+
if (component._t_) {
|
348
|
+
component._u_();
|
349
349
|
} else {
|
350
|
-
component.
|
351
|
-
component.
|
350
|
+
component._t_ = true;
|
351
|
+
component._v_();
|
352
352
|
}
|
353
353
|
}
|
354
354
|
|
@@ -364,7 +364,7 @@ function initClientRendered(componentDefs, host) {
|
|
364
364
|
if (!host) host = document;
|
365
365
|
// Ensure that event handlers to handle delegating events are
|
366
366
|
// always attached before initializing any components
|
367
|
-
eventDelegation.
|
367
|
+
eventDelegation._w_(host);
|
368
368
|
var len = componentDefs.length;
|
369
369
|
var componentDef;
|
370
370
|
var i;
|
@@ -477,15 +477,15 @@ function initServerRendered(renderedComponents, host) {
|
|
477
477
|
// Ensure that event handlers to handle delegating events are
|
478
478
|
// always attached before initializing any components
|
479
479
|
indexServerComponentBoundaries(host, runtimeId);
|
480
|
-
eventDelegation.
|
480
|
+
eventDelegation._w_(host);
|
481
481
|
|
482
482
|
if (renderedComponents.g) {
|
483
|
-
meta.
|
483
|
+
meta._x_ = renderedComponents.g;
|
484
484
|
}
|
485
485
|
|
486
486
|
if (renderedComponents.t) {
|
487
|
-
meta.
|
488
|
-
meta.
|
487
|
+
meta._y_ = meta._y_ ?
|
488
|
+
meta._y_.concat(renderedComponents.t) :
|
489
489
|
renderedComponents.t;
|
490
490
|
}
|
491
491
|
|
@@ -493,22 +493,13 @@ function initServerRendered(renderedComponents, host) {
|
|
493
493
|
// and return an array of functions to mount these components
|
494
494
|
(renderedComponents.w || []).
|
495
495
|
map(function (componentDef) {
|
496
|
-
var typeName = meta.
|
497
|
-
|
498
|
-
return (
|
499
|
-
registered[typeName] ||
|
500
|
-
document.readyState === "complete" ||
|
496
|
+
var typeName = meta._y_[componentDef[1]];
|
501
497
|
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
loader.runtime.resolve(typeName) ?
|
508
|
-
|
509
|
-
|
510
|
-
tryHydrateComponent(componentDef, meta, host, runtimeId) :
|
511
|
-
addPendingDef(componentDef, typeName, meta, host, runtimeId));
|
498
|
+
return registered[typeName] ||
|
499
|
+
document.readyState === "complete" ||
|
500
|
+
req.e(typeName) ?
|
501
|
+
tryHydrateComponent(componentDef, meta, host, runtimeId) :
|
502
|
+
addPendingDef(componentDef, typeName, meta, host, runtimeId);
|
512
503
|
}).
|
513
504
|
reverse().
|
514
505
|
forEach(tryInvoke);
|
@@ -517,12 +508,12 @@ function initServerRendered(renderedComponents, host) {
|
|
517
508
|
}
|
518
509
|
|
519
510
|
function tryHydrateComponent(rawDef, meta, host, runtimeId) {
|
520
|
-
var componentDef = ComponentDef.
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
511
|
+
var componentDef = ComponentDef._z_(
|
512
|
+
rawDef,
|
513
|
+
meta._y_,
|
514
|
+
meta._x_,
|
515
|
+
exports
|
516
|
+
);
|
526
517
|
var mount = hydrateComponentAndGetMount(componentDef, host);
|
527
518
|
|
528
519
|
if (!mount) {
|
@@ -551,19 +542,19 @@ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
|
|
551
542
|
|
552
543
|
function hydrateComponentAndGetMount(componentDef, host) {
|
553
544
|
var componentId = componentDef.id;
|
554
|
-
var component = componentDef.
|
545
|
+
var component = componentDef.r_;
|
555
546
|
var rootNode = serverComponentRootNodes[componentId];
|
556
547
|
var renderResult;
|
557
548
|
|
558
549
|
if (rootNode) {
|
559
550
|
delete serverComponentRootNodes[componentId];
|
560
551
|
|
561
|
-
component.
|
552
|
+
component._A_ = rootNode;
|
562
553
|
componentsByDOMNode.set(rootNode, component);
|
563
554
|
|
564
|
-
if (componentDef.
|
565
|
-
component.
|
566
|
-
renderResult = component.
|
555
|
+
if (componentDef.t_ & FLAG_WILL_RERENDER_IN_BROWSER) {
|
556
|
+
component.A_ = host;
|
557
|
+
renderResult = component._B_(component.N_, true);
|
567
558
|
trackComponent(componentDef);
|
568
559
|
return function mount() {
|
569
560
|
renderResult.afterInsert(host);
|
@@ -579,7 +570,7 @@ function hydrateComponentAndGetMount(componentDef, host) {
|
|
579
570
|
}
|
580
571
|
|
581
572
|
function trackComponent(componentDef) {
|
582
|
-
var component = componentDef.
|
573
|
+
var component = componentDef.r_;
|
583
574
|
if (component) {
|
584
575
|
componentLookup[component.id] = component;
|
585
576
|
}
|
@@ -590,8 +581,9 @@ function tryInvoke(fn) {
|
|
590
581
|
}
|
591
582
|
|
592
583
|
exports.r = register;
|
593
|
-
exports.
|
594
|
-
exports.
|
595
|
-
exports.
|
584
|
+
exports._C_ = createComponent;
|
585
|
+
exports._D_ = getComponentClass;
|
586
|
+
exports.T_ = win.$initComponents = initServerRendered;
|
596
587
|
|
597
|
-
require("../../../runtime/components/ComponentsContext").
|
588
|
+
require("../../../runtime/components/ComponentsContext")._E_ =
|
589
|
+
initClientRendered;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";var domData = require("../../../runtime/components/dom-data");
|
2
|
-
var componentsByDOMNode = domData.
|
3
|
-
var keysByDOMNode = domData.
|
4
|
-
var vElementsByDOMNode = domData.
|
5
|
-
var vPropsByDOMNode = domData.
|
2
|
+
var componentsByDOMNode = domData._l_;
|
3
|
+
var keysByDOMNode = domData._G_;
|
4
|
+
var vElementsByDOMNode = domData._H_;
|
5
|
+
var vPropsByDOMNode = domData._I_;
|
6
6
|
var markoUID = window.$MUID || (window.$MUID = { i: 0 });
|
7
7
|
var runtimeId = markoUID.i++;
|
8
8
|
|
@@ -27,7 +27,7 @@ function getComponentForEl(el, host) {
|
|
27
27
|
component = componentsByDOMNode.get(node);
|
28
28
|
}
|
29
29
|
} else if (vElement = vElementsByDOMNode.get(node)) {
|
30
|
-
component = vElement.
|
30
|
+
component = vElement._J_;
|
31
31
|
}
|
32
32
|
|
33
33
|
if (component) {
|
@@ -41,7 +41,7 @@ function getComponentForEl(el, host) {
|
|
41
41
|
function destroyComponentForNode(node) {
|
42
42
|
var componentToDestroy = componentsByDOMNode.get(node.fragment || node);
|
43
43
|
if (componentToDestroy) {
|
44
|
-
componentToDestroy.
|
44
|
+
componentToDestroy._K_();
|
45
45
|
delete componentLookup[componentToDestroy.id];
|
46
46
|
}
|
47
47
|
}
|
@@ -51,13 +51,13 @@ function destroyNodeRecursive(node, component) {
|
|
51
51
|
var key;
|
52
52
|
|
53
53
|
if (component && (key = keysByDOMNode.get(node))) {
|
54
|
-
if (node === component.
|
54
|
+
if (node === component.J_[key]) {
|
55
55
|
if (componentsByDOMNode.get(node) && /\[\]$/.test(key)) {
|
56
|
-
delete component.
|
56
|
+
delete component.J_[key][
|
57
57
|
componentsByDOMNode.get(node).id];
|
58
58
|
|
59
59
|
} else {
|
60
|
-
delete component.
|
60
|
+
delete component.J_[key];
|
61
61
|
}
|
62
62
|
}
|
63
63
|
}
|
@@ -103,15 +103,15 @@ function getMarkoPropsFromEl(el) {
|
|
103
103
|
var virtualProps;
|
104
104
|
|
105
105
|
if (vElement) {
|
106
|
-
virtualProps = vElement.
|
106
|
+
virtualProps = vElement._L_;
|
107
107
|
} else {
|
108
108
|
virtualProps = vPropsByDOMNode.get(el);
|
109
109
|
if (!virtualProps) {
|
110
110
|
virtualProps = el.getAttribute("data-marko");
|
111
111
|
vPropsByDOMNode.set(
|
112
|
-
|
113
|
-
|
114
|
-
|
112
|
+
el,
|
113
|
+
virtualProps = virtualProps ? JSON.parse(virtualProps) : EMPTY_OBJECT
|
114
|
+
);
|
115
115
|
}
|
116
116
|
}
|
117
117
|
|
@@ -167,13 +167,13 @@ componentId)
|
|
167
167
|
|
168
168
|
|
169
169
|
|
170
|
-
exports.
|
171
|
-
exports.
|
172
|
-
exports.
|
173
|
-
exports.
|
174
|
-
exports.
|
175
|
-
exports.
|
176
|
-
exports.
|
177
|
-
exports.
|
178
|
-
exports.
|
179
|
-
exports.
|
170
|
+
exports._M_ = runtimeId;
|
171
|
+
exports._i_ = componentLookup;
|
172
|
+
exports.S_ = getComponentForEl;
|
173
|
+
exports._N_ = destroyComponentForNode;
|
174
|
+
exports._O_ = destroyNodeRecursive;
|
175
|
+
exports._P_ = nextComponentIdProvider;
|
176
|
+
exports._Q_ = attachBubblingEvent;
|
177
|
+
exports._n_ = getMarkoPropsFromEl;
|
178
|
+
exports._j_ = addComponentRootToKeyedElements;
|
179
|
+
exports._R_ = normalizeComponentKey;
|
@@ -28,8 +28,8 @@ extraArgs)
|
|
28
28
|
{
|
29
29
|
if (handlerMethodName) {
|
30
30
|
if (extraArgs) {
|
31
|
-
var component = componentDef.
|
32
|
-
var eventIndex = component.
|
31
|
+
var component = componentDef.r_;
|
32
|
+
var eventIndex = component.Y_++;
|
33
33
|
|
34
34
|
// If we are not going to be doing a rerender in the browser
|
35
35
|
// then we need to actually store the extra args with the UI component
|
@@ -39,11 +39,11 @@ extraArgs)
|
|
39
39
|
// where the extra args will be found when the UI component is
|
40
40
|
// rerendered in the browser
|
41
41
|
|
42
|
-
if (!(componentDef.
|
42
|
+
if (!(componentDef.t_ & FLAG_WILL_RERENDER_IN_BROWSER)) {
|
43
43
|
if (eventIndex === 0) {
|
44
|
-
component.
|
44
|
+
component.W_ = [extraArgs];
|
45
45
|
} else {
|
46
|
-
component.
|
46
|
+
component.W_.push(extraArgs);
|
47
47
|
}
|
48
48
|
}
|
49
49
|
|
@@ -62,10 +62,10 @@ extraArgs)
|
|
62
62
|
}
|
63
63
|
}
|
64
64
|
|
65
|
-
exports.
|
66
|
-
exports.
|
67
|
-
exports.
|
68
|
-
exports.
|
69
|
-
exports.
|
65
|
+
exports._P_ = nextComponentIdProvider;
|
66
|
+
exports._F_ = true;
|
67
|
+
exports._Q_ = attachBubblingEvent;
|
68
|
+
exports._N_ = function noop() {};
|
69
|
+
exports._O_ = function noop() {};
|
70
70
|
|
71
71
|
// eslint-disable-next-line no-constant-condition
|
@@ -14,11 +14,11 @@ module.exports = function (data) {
|
|
14
14
|
}
|
15
15
|
};
|
16
16
|
var out = this.createOut(
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
data && data.$global,
|
18
|
+
facade,
|
19
|
+
undefined,
|
20
|
+
this._S_
|
21
|
+
);
|
22
22
|
out.once("error", (err) => {
|
23
23
|
facade.write = facade.end = noop;
|
24
24
|
writer.abort(err);
|
@@ -17,9 +17,9 @@ if (String(OutgoingMessageProto.flush).indexOf("deprecated") !== -1) {
|
|
17
17
|
class Readable extends stream.Readable {
|
18
18
|
constructor(template, data) {
|
19
19
|
super();
|
20
|
-
this.
|
21
|
-
this.
|
22
|
-
this.
|
20
|
+
this._T_ = template;
|
21
|
+
this._U_ = data;
|
22
|
+
this._V_ = false;
|
23
23
|
}
|
24
24
|
|
25
25
|
write(data) {
|
@@ -33,20 +33,20 @@ class Readable extends stream.Readable {
|
|
33
33
|
}
|
34
34
|
|
35
35
|
_read() {
|
36
|
-
if (this.
|
36
|
+
if (this._V_) {
|
37
37
|
return;
|
38
38
|
}
|
39
39
|
|
40
|
-
this.
|
41
|
-
var template = this.
|
42
|
-
var data = this.
|
40
|
+
this._V_ = true;
|
41
|
+
var template = this._T_;
|
42
|
+
var data = this._U_;
|
43
43
|
var globalData = data && data.$global;
|
44
|
-
var out = this.
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
44
|
+
var out = this._T_.createOut(
|
45
|
+
globalData,
|
46
|
+
this,
|
47
|
+
undefined,
|
48
|
+
template._S_
|
49
|
+
);
|
50
50
|
template.render(data, out);
|
51
51
|
out.end();
|
52
52
|
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var nodePath = require("path");
|
4
|
+
var fs = require("fs");
|
5
|
+
var Module = require("module").Module;
|
6
|
+
var markoCompiler = require("../../../compiler");
|
7
|
+
var cwd = process.cwd();
|
8
|
+
var fsOptions = { encoding: "utf8" };
|
9
|
+
var requiredCompilerOptions = { modules: "cjs" };
|
10
|
+
|
11
|
+
module.exports = function load(templatePath, templateSrc, options) {
|
12
|
+
if (arguments.length === 1) {
|
13
|
+
return doLoad(templatePath);
|
14
|
+
} else if (arguments.length === 2) {
|
15
|
+
// see if second argument is templateSrc (a String)
|
16
|
+
// or options (an Object)
|
17
|
+
var lastArg = arguments[arguments.length - 1];
|
18
|
+
if (typeof lastArg === "string") {
|
19
|
+
return doLoad(templatePath, templateSrc);
|
20
|
+
} else {
|
21
|
+
var finalOptions = templateSrc;
|
22
|
+
return doLoad(templatePath, null, finalOptions);
|
23
|
+
}
|
24
|
+
} else if (arguments.length === 3) {
|
25
|
+
// assume function called according to function signature
|
26
|
+
return doLoad(templatePath, templateSrc, options);
|
27
|
+
} else {
|
28
|
+
throw new Error("Illegal arguments");
|
29
|
+
}
|
30
|
+
};
|
31
|
+
|
32
|
+
function loadSource(templatePath, compiledSrc) {
|
33
|
+
// Short-circuit loading if the template has already been cached in the Node.js require cache
|
34
|
+
var cached = require.cache[templatePath];
|
35
|
+
if (cached) {
|
36
|
+
return cached.exports;
|
37
|
+
}
|
38
|
+
|
39
|
+
var templateModule = new Module(templatePath, module);
|
40
|
+
templateModule.paths = Module._nodeModulePaths(
|
41
|
+
nodePath.dirname(templatePath)
|
42
|
+
);
|
43
|
+
templateModule.filename = templatePath;
|
44
|
+
|
45
|
+
Module._cache[templatePath] = templateModule;
|
46
|
+
|
47
|
+
templateModule._compile(compiledSrc, templatePath);
|
48
|
+
|
49
|
+
return templateModule.exports;
|
50
|
+
}
|
51
|
+
|
52
|
+
function getCachedTemplate(templatePath) {
|
53
|
+
var precompiledTemplatePath = templatePath + ".js";
|
54
|
+
var templateModule =
|
55
|
+
require.cache[templatePath] || require.cache[precompiledTemplatePath];
|
56
|
+
|
57
|
+
if (templateModule) {
|
58
|
+
return templateModule.exports;
|
59
|
+
} else if (fs.existsSync(precompiledTemplatePath)) {
|
60
|
+
return require(precompiledTemplatePath);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
function doLoad(templatePath, templateSrc, options) {
|
65
|
+
options = Object.assign(
|
66
|
+
{},
|
67
|
+
markoCompiler.defaultOptions,
|
68
|
+
options,
|
69
|
+
requiredCompilerOptions
|
70
|
+
);
|
71
|
+
templatePath = nodePath.resolve(cwd, templatePath);
|
72
|
+
var template = getCachedTemplate(templatePath);
|
73
|
+
|
74
|
+
if (!template) {
|
75
|
+
if (templateSrc == null) {
|
76
|
+
templateSrc = fs.readFileSync(templatePath, fsOptions);
|
77
|
+
}
|
78
|
+
|
79
|
+
var compiledSrc = markoCompiler.compile(templateSrc, templatePath, options);
|
80
|
+
|
81
|
+
template = loadSource(templatePath, compiledSrc);
|
82
|
+
}
|
83
|
+
|
84
|
+
if (template.default) {
|
85
|
+
template = template.default;
|
86
|
+
}
|
87
|
+
|
88
|
+
return template;
|
89
|
+
}
|