marko 5.31.0 → 5.31.2
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 +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
|
+
}
|