marko 5.16.1 → 5.17.3

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.
Files changed (53) hide show
  1. package/dist/runtime/RenderResult.js +13 -11
  2. package/dist/runtime/RenderResult.js.map +1 -1
  3. package/dist/runtime/components/Component.js +2 -2
  4. package/dist/runtime/components/Component.js.map +1 -1
  5. package/dist/runtime/components/ComponentsContext.js +2 -2
  6. package/dist/runtime/components/ComponentsContext.js.map +1 -1
  7. package/dist/runtime/components/event-delegation.js +8 -8
  8. package/dist/runtime/components/event-delegation.js.map +1 -1
  9. package/dist/runtime/components/init-components/index-browser.js +22 -24
  10. package/dist/runtime/components/init-components/index-browser.js.map +1 -1
  11. package/dist/runtime/components/registry/index-browser.js +2 -2
  12. package/dist/runtime/components/registry/index-browser.js.map +1 -1
  13. package/dist/runtime/components/util/index-browser.js +4 -3
  14. package/dist/runtime/components/util/index-browser.js.map +1 -1
  15. package/dist/runtime/html/AsyncStream.js +8 -10
  16. package/dist/runtime/html/AsyncStream.js.map +1 -1
  17. package/dist/runtime/vdom/AsyncVDOMBuilder.js +65 -70
  18. package/dist/runtime/vdom/AsyncVDOMBuilder.js.map +1 -1
  19. package/dist/runtime/vdom/VComponent.js +3 -3
  20. package/dist/runtime/vdom/VDocumentFragment.js +7 -7
  21. package/dist/runtime/vdom/VDocumentFragment.js.map +1 -1
  22. package/dist/runtime/vdom/VElement.js +42 -39
  23. package/dist/runtime/vdom/VElement.js.map +1 -1
  24. package/dist/runtime/vdom/VFragment.js +5 -5
  25. package/dist/runtime/vdom/VNode.js +31 -31
  26. package/dist/runtime/vdom/VText.js +8 -8
  27. package/dist/runtime/vdom/VText.js.map +1 -1
  28. package/dist/runtime/vdom/hot-reload.js +5 -5
  29. package/dist/runtime/vdom/hot-reload.js.map +1 -1
  30. package/dist/runtime/vdom/morphdom/fragment.js +3 -3
  31. package/dist/runtime/vdom/morphdom/helpers.js +1 -1
  32. package/dist/runtime/vdom/morphdom/index.js +30 -30
  33. package/dist/runtime/vdom/morphdom/index.js.map +1 -1
  34. package/dist/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  35. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  36. package/dist/runtime/vdom/vdom.js +10 -12
  37. package/dist/runtime/vdom/vdom.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/runtime/RenderResult.js +13 -11
  40. package/src/runtime/components/Component.js +5 -5
  41. package/src/runtime/components/ComponentsContext.js +2 -2
  42. package/src/runtime/components/event-delegation.js +6 -6
  43. package/src/runtime/components/init-components/index-browser.js +23 -25
  44. package/src/runtime/components/registry/index-browser.js +3 -3
  45. package/src/runtime/components/util/index-browser.js +8 -7
  46. package/src/runtime/html/AsyncStream.js +8 -10
  47. package/src/runtime/vdom/AsyncVDOMBuilder.js +9 -14
  48. package/src/runtime/vdom/VDocumentFragment.js +2 -2
  49. package/src/runtime/vdom/VElement.js +5 -2
  50. package/src/runtime/vdom/VText.js +2 -2
  51. package/src/runtime/vdom/hot-reload.js +1 -1
  52. package/src/runtime/vdom/morphdom/index.js +4 -4
  53. package/src/runtime/vdom/vdom.js +2 -4
@@ -63,17 +63,17 @@ function removeAttribute(el, namespaceURI, name) {
63
63
  }
64
64
 
65
65
  function VElementClone(other) {
66
- this.bF_ = other.bF_;
66
+ this.bE_ = other.bE_;
67
+ this.bB_ = null;
67
68
  this.bC_ = null;
68
- this.bD_ = null;
69
69
 
70
- this.bA_ = other.bA_;
71
- this.bG_ = other.bG_;
70
+ this.bz_ = other.bz_;
71
+ this.bF_ = other.bF_;
72
72
  this.aB_ = other.aB_;
73
- this.bH_ = other.bH_;
73
+ this.bG_ = other.bG_;
74
74
  this._I_ = other._I_;
75
+ this.bH_ = other.bH_;
75
76
  this.bI_ = other.bI_;
76
- this.bJ_ = other.bJ_;
77
77
  }
78
78
 
79
79
  function VElement(
@@ -85,7 +85,7 @@ childCount,
85
85
  flags,
86
86
  props)
87
87
  {
88
- this.bz_(childCount, ownerComponent);
88
+ this.by_(childCount, ownerComponent);
89
89
 
90
90
  var constId;
91
91
 
@@ -93,21 +93,21 @@ props)
93
93
  constId = props.i;
94
94
  }
95
95
 
96
- this.bA_ = key;
96
+ this.bz_ = key;
97
97
  this._I_ = flags || 0;
98
- this.bG_ = attrs || EMPTY_OBJECT;
98
+ this.bF_ = attrs || EMPTY_OBJECT;
99
99
  this.aB_ = props || EMPTY_OBJECT;
100
- this.bH_ = tagName;
101
- this.bI_ = null;
102
- this.bJ_ = constId;
100
+ this.bG_ = tagName;
101
+ this.bH_ = null;
102
+ this.bI_ = constId;
103
103
  this.n_ = false;
104
104
  this.m_ = false;
105
105
  }
106
106
 
107
107
  VElement.prototype = {
108
- bB_: 1,
108
+ bA_: 1,
109
109
 
110
- bs_: function () {
110
+ br_: function () {
111
111
  return new VElementClone(this);
112
112
  },
113
113
 
@@ -119,7 +119,7 @@ VElement.prototype = {
119
119
  * @param {int|null} childCount The number of child nodes (or `null` if not known)
120
120
  */
121
121
  e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {
122
- var child = this.br_(
122
+ var child = this.bq_(
123
123
  new VElement(
124
124
  tagName,
125
125
  attrs,
@@ -132,7 +132,7 @@ VElement.prototype = {
132
132
 
133
133
 
134
134
  if (childCount === 0) {
135
- return this.bK_();
135
+ return this.bJ_();
136
136
  } else {
137
137
  return child;
138
138
  }
@@ -145,19 +145,22 @@ VElement.prototype = {
145
145
  * @param {String} value The value for the new Comment node
146
146
  */
147
147
  n: function (node, ownerComponent) {
148
- node = node.bs_();
148
+ node = node.br_();
149
149
  node.aA_ = ownerComponent;
150
- this.br_(node);
151
- return this.bK_();
150
+ this.bq_(node);
151
+ return this.bJ_();
152
152
  },
153
153
 
154
- by_: function (doc, parentNamespaceURI) {
155
- var tagName = this.bH_;
156
- var attributes = this.bG_;
154
+ bx_: function (host, parentNamespaceURI) {
155
+ var tagName = this.bG_;
156
+ var attributes = this.bF_;
157
157
  var namespaceURI = DEFAULT_NS[tagName] || parentNamespaceURI || NS_HTML;
158
158
 
159
159
  var flags = this._I_;
160
- var el = doc.createElementNS(namespaceURI, tagName);
160
+ var el = (host.ownerDocument || host).createElementNS(
161
+ namespaceURI,
162
+ tagName);
163
+
161
164
 
162
165
  if (flags & FLAG_CUSTOM_ELEMENT) {
163
166
  assign(el, attributes);
@@ -192,11 +195,11 @@ VElement.prototype = {
192
195
  return el;
193
196
  },
194
197
 
195
- bL_: function (name) {
198
+ bK_: function (name) {
196
199
  // We don't care about the namespaces since the there
197
200
  // is no chance that attributes with the same name will have
198
201
  // different namespaces
199
- var value = this.bG_[name];
202
+ var value = this.bF_[name];
200
203
  return value != null && value !== false;
201
204
  } };
202
205
 
@@ -208,7 +211,7 @@ var proto = VElementClone.prototype = VElement.prototype;
208
211
  ["checked", "selected", "disabled"].forEach(function (name) {
209
212
  defineProperty(proto, name, {
210
213
  get: function () {
211
- var value = this.bG_[name];
214
+ var value = this.bF_[name];
212
215
  return value !== false && value != null;
213
216
  } });
214
217
 
@@ -216,20 +219,20 @@ var proto = VElementClone.prototype = VElement.prototype;
216
219
 
217
220
  defineProperty(proto, "q_", {
218
221
  get: function () {
219
- var value = this.bI_;
222
+ var value = this.bH_;
220
223
  if (value == null) {
221
- value = this.bG_.value;
224
+ value = this.bF_.value;
222
225
  }
223
226
  return value != null && value !== false ?
224
227
  value + "" :
225
- this.bG_.type === "checkbox" ||
226
- this.bG_.type === "radio" ?
228
+ this.bF_.type === "checkbox" ||
229
+ this.bF_.type === "radio" ?
227
230
  "on" :
228
231
  "";
229
232
  } });
230
233
 
231
234
 
232
- VElement.bM_ = function (attrs) {
235
+ VElement.bL_ = function (attrs) {
233
236
  // By default this static method is a no-op, but if there are any
234
237
  // compiled components that have "no-update" attributes then
235
238
  // `preserve-attrs.js` will be imported and this method will be replaced
@@ -277,8 +280,8 @@ function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
277
280
  props);
278
281
 
279
282
 
280
- if (vdomEl.bH_ === "textarea") {
281
- vdomEl.bI_ = node.value;
283
+ if (vdomEl.bG_ === "textarea") {
284
+ vdomEl.bH_ = node.value;
282
285
  } else if (virtualizeChildNodes) {
283
286
  virtualizeChildNodes(node, vdomEl, ownerComponent);
284
287
  }
@@ -286,17 +289,17 @@ function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
286
289
  return vdomEl;
287
290
  }
288
291
 
289
- VElement.bN_ = virtualizeElement;
292
+ VElement.bM_ = virtualizeElement;
290
293
 
291
- VElement.bO_ = function (fromEl, vFromEl, toEl) {
292
- var removePreservedAttributes = VElement.bM_;
294
+ VElement.bN_ = function (fromEl, vFromEl, toEl) {
295
+ var removePreservedAttributes = VElement.bL_;
293
296
 
294
297
  var fromFlags = vFromEl._I_;
295
298
  var toFlags = toEl._I_;
296
299
 
297
300
  vElementByDOMNode.set(fromEl, toEl);
298
301
 
299
- var attrs = toEl.bG_;
302
+ var attrs = toEl.bF_;
300
303
  var props = toEl.aB_;
301
304
 
302
305
  if (toFlags & FLAG_CUSTOM_ELEMENT) {
@@ -313,7 +316,7 @@ VElement.bO_ = function (fromEl, vFromEl, toEl) {
313
316
  // real VElement node will not have the expando property
314
317
  // so we build the attribute map from the expando property
315
318
 
316
- var oldAttrs = vFromEl.bG_;
319
+ var oldAttrs = vFromEl.bF_;
317
320
 
318
321
  if (oldAttrs) {
319
322
  if (oldAttrs === attrs) {
@@ -385,7 +388,7 @@ VElement.bO_ = function (fromEl, vFromEl, toEl) {
385
388
  // was not a virtualized node (i.e., a node that was not rendered by a
386
389
  // Marko template, but rather a node that was created from an HTML
387
390
  // string or a real DOM node).
388
- if (toEl.bA_ === null || fromFlags & FLAG_SPREAD_ATTRS) {
391
+ if (toEl.bz_ === null || fromFlags & FLAG_SPREAD_ATTRS) {
389
392
  for (attrName in oldAttrs) {
390
393
  if (!(attrName in attrs)) {
391
394
  if (attrName === ATTR_XLINK_HREF) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/vdom/VElement.js"],"names":["domData","require","componentsUtil","vElementByDOMNode","VNode","inherit","ATTR_XLINK_HREF","xmlnsRegExp","hasOwnProperty","Object","prototype","NS_XLINK","NS_HTML","NS_MATH","NS_SVG","DEFAULT_NS","svg","math","FLAG_SIMPLE_ATTRS","FLAG_CUSTOM_ELEMENT","FLAG_SPREAD_ATTRS","defineProperty","ATTR_HREF","EMPTY_OBJECT","freeze","convertAttrValue","type","value","RegExp","source","assign","a","b","key","call","setAttribute","el","namespaceURI","name","setAttributeNS","removeAttribute","removeAttributeNS","VElementClone","other","VElement","tagName","attrs","ownerComponent","childCount","flags","props","constId","i","e","child","n","node","doc","parentNamespaceURI","attributes","createElementNS","attrName","attrValue","defaultValue","set","proto","forEach","get","virtualizeElement","virtualizeChildNodes","attrCount","length","attr","test","nodeName","toLowerCase","vdomEl","fromEl","vFromEl","toEl","removePreservedAttributes","fromFlags","toFlags","oldAttrs","className","id","style","cssText","module","exports"],"mappings":"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","sourcesContent":["/* jshint newcap:false */\n\nvar domData = require(\"../components/dom-data\");\nvar componentsUtil = require(\"../components/util\");\nvar vElementByDOMNode = domData.___vElementByDOMNode;\nvar VNode = require(\"./VNode\");\nvar inherit = require(\"raptor-util/inherit\");\nvar ATTR_XLINK_HREF = \"xlink:href\";\nvar xmlnsRegExp = /^xmlns(:|$)/;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar NS_XLINK = \"http://www.w3.org/1999/xlink\";\nvar NS_HTML = \"http://www.w3.org/1999/xhtml\";\nvar NS_MATH = \"http://www.w3.org/1998/Math/MathML\";\nvar NS_SVG = \"http://www.w3.org/2000/svg\";\nvar DEFAULT_NS = {\n svg: NS_SVG,\n math: NS_MATH\n};\n\nvar FLAG_SIMPLE_ATTRS = 1;\nvar FLAG_CUSTOM_ELEMENT = 2;\nvar FLAG_SPREAD_ATTRS = 4;\n\nvar defineProperty = Object.defineProperty;\n\nvar ATTR_HREF = \"href\";\nvar EMPTY_OBJECT = Object.freeze({});\n\nfunction convertAttrValue(type, value) {\n if (value === true) {\n return \"\";\n } else if (type == \"object\") {\n if (value instanceof RegExp) {\n return value.source;\n }\n }\n\n return value + \"\";\n}\n\nfunction assign(a, b) {\n for (var key in b) {\n if (hasOwnProperty.call(b, key)) {\n a[key] = b[key];\n }\n }\n}\n\nfunction setAttribute(el, namespaceURI, name, value) {\n if (namespaceURI === null) {\n el.setAttribute(name, value);\n } else {\n el.setAttributeNS(namespaceURI, name, value);\n }\n}\n\nfunction removeAttribute(el, namespaceURI, name) {\n if (namespaceURI === null) {\n el.removeAttribute(name);\n } else {\n el.removeAttributeNS(namespaceURI, name);\n }\n}\n\nfunction VElementClone(other) {\n this.___firstChildInternal = other.___firstChildInternal;\n this.___parentNode = null;\n this.___nextSiblingInternal = null;\n\n this.___key = other.___key;\n this.___attributes = other.___attributes;\n this.___properties = other.___properties;\n this.___nodeName = other.___nodeName;\n this.___flags = other.___flags;\n this.___valueInternal = other.___valueInternal;\n this.___constId = other.___constId;\n}\n\nfunction VElement(\n tagName,\n attrs,\n key,\n ownerComponent,\n childCount,\n flags,\n props\n) {\n this.___VNode(childCount, ownerComponent);\n\n var constId;\n\n if (props) {\n constId = props.i;\n }\n\n this.___key = key;\n this.___flags = flags || 0;\n this.___attributes = attrs || EMPTY_OBJECT;\n this.___properties = props || EMPTY_OBJECT;\n this.___nodeName = tagName;\n this.___valueInternal = null;\n this.___constId = constId;\n this.___preserve = false;\n this.___preserveBody = false;\n}\n\nVElement.prototype = {\n ___nodeType: 1,\n\n ___cloneNode: function () {\n return new VElementClone(this);\n },\n\n /**\n * Shorthand method for creating and appending an HTML element\n *\n * @param {String} tagName The tag name (e.g. \"div\")\n * @param {int|null} attrCount The number of attributes (or `null` if not known)\n * @param {int|null} childCount The number of child nodes (or `null` if not known)\n */\n e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {\n var child = this.___appendChild(\n new VElement(\n tagName,\n attrs,\n key,\n ownerComponent,\n childCount,\n flags,\n props\n )\n );\n\n if (childCount === 0) {\n return this.___finishChild();\n } else {\n return child;\n }\n },\n\n /**\n * Shorthand method for creating and appending a static node. The provided node is automatically cloned\n * using a shallow clone since it will be mutated as a result of setting `nextSibling` and `parentNode`.\n *\n * @param {String} value The value for the new Comment node\n */\n n: function (node, ownerComponent) {\n node = node.___cloneNode();\n node.___ownerComponent = ownerComponent;\n this.___appendChild(node);\n return this.___finishChild();\n },\n\n ___actualize: function (doc, parentNamespaceURI) {\n var tagName = this.___nodeName;\n var attributes = this.___attributes;\n var namespaceURI = DEFAULT_NS[tagName] || parentNamespaceURI || NS_HTML;\n\n var flags = this.___flags;\n var el = doc.createElementNS(namespaceURI, tagName);\n\n if (flags & FLAG_CUSTOM_ELEMENT) {\n assign(el, attributes);\n } else {\n for (var attrName in attributes) {\n var attrValue = attributes[attrName];\n\n if (attrValue !== false && attrValue != null) {\n var type = typeof attrValue;\n\n if (type !== \"string\") {\n // Special attributes aren't copied to the real DOM. They are only\n // kept in the virtual attributes map\n attrValue = convertAttrValue(type, attrValue);\n }\n\n if (attrName == ATTR_XLINK_HREF) {\n setAttribute(el, NS_XLINK, ATTR_HREF, attrValue);\n } else {\n el.setAttribute(attrName, attrValue);\n }\n }\n }\n\n if (tagName === \"textarea\") {\n el.defaultValue = el.value = this.___value;\n }\n }\n\n vElementByDOMNode.set(el, this);\n\n return el;\n },\n\n ___hasAttribute: function (name) {\n // We don't care about the namespaces since the there\n // is no chance that attributes with the same name will have\n // different namespaces\n var value = this.___attributes[name];\n return value != null && value !== false;\n }\n};\n\ninherit(VElement, VNode);\n\nvar proto = (VElementClone.prototype = VElement.prototype);\n\n[\"checked\", \"selected\", \"disabled\"].forEach(function (name) {\n defineProperty(proto, name, {\n get: function () {\n var value = this.___attributes[name];\n return value !== false && value != null;\n }\n });\n});\n\ndefineProperty(proto, \"___value\", {\n get: function () {\n var value = this.___valueInternal;\n if (value == null) {\n value = this.___attributes.value;\n }\n return value != null && value !== false\n ? value + \"\"\n : this.___attributes.type === \"checkbox\" ||\n this.___attributes.type === \"radio\"\n ? \"on\"\n : \"\";\n }\n});\n\nVElement.___removePreservedAttributes = function (attrs) {\n // By default this static method is a no-op, but if there are any\n // compiled components that have \"no-update\" attributes then\n // `preserve-attrs.js` will be imported and this method will be replaced\n // with a method that actually does something\n return attrs;\n};\n\nfunction virtualizeElement(node, virtualizeChildNodes, ownerComponent) {\n var attributes = node.attributes;\n var attrCount = attributes.length;\n\n var attrs = null;\n var props = null;\n\n if (attrCount) {\n attrs = {};\n for (var i = 0; i < attrCount; i++) {\n var attr = attributes[i];\n var attrName = attr.name;\n if (!xmlnsRegExp.test(attrName)) {\n if (attrName === \"data-marko\") {\n props = componentsUtil.___getMarkoPropsFromEl(node);\n } else if (attr.namespaceURI === NS_XLINK) {\n attrs[ATTR_XLINK_HREF] = attr.value;\n } else {\n attrs[attrName] = attr.value;\n }\n }\n }\n }\n\n var tagName = node.nodeName;\n\n if (node.namespaceURI === NS_HTML) {\n tagName = tagName.toLowerCase();\n }\n\n var vdomEl = new VElement(\n tagName,\n attrs,\n null /*key*/,\n ownerComponent,\n 0 /*child count*/,\n 0 /*flags*/,\n props\n );\n\n if (vdomEl.___nodeName === \"textarea\") {\n vdomEl.___valueInternal = node.value;\n } else if (virtualizeChildNodes) {\n virtualizeChildNodes(node, vdomEl, ownerComponent);\n }\n\n return vdomEl;\n}\n\nVElement.___virtualize = virtualizeElement;\n\nVElement.___morphAttrs = function (fromEl, vFromEl, toEl) {\n var removePreservedAttributes = VElement.___removePreservedAttributes;\n\n var fromFlags = vFromEl.___flags;\n var toFlags = toEl.___flags;\n\n vElementByDOMNode.set(fromEl, toEl);\n\n var attrs = toEl.___attributes;\n var props = toEl.___properties;\n\n if (toFlags & FLAG_CUSTOM_ELEMENT) {\n return assign(fromEl, attrs);\n }\n\n var attrName;\n\n // We use expando properties to associate the previous HTML\n // attributes provided as part of the VDOM node with the\n // real VElement DOM node. When diffing attributes,\n // we only use our internal representation of the attributes.\n // When diffing for the first time it's possible that the\n // real VElement node will not have the expando property\n // so we build the attribute map from the expando property\n\n var oldAttrs = vFromEl.___attributes;\n\n if (oldAttrs) {\n if (oldAttrs === attrs) {\n // For constant attributes the same object will be provided\n // every render and we can use that to our advantage to\n // not waste time diffing a constant, immutable attribute\n // map.\n return;\n } else {\n oldAttrs = removePreservedAttributes(oldAttrs, props);\n }\n }\n\n var attrValue;\n\n if (toFlags & FLAG_SIMPLE_ATTRS && fromFlags & FLAG_SIMPLE_ATTRS) {\n if (oldAttrs[\"class\"] !== (attrValue = attrs[\"class\"])) {\n fromEl.className = attrValue;\n }\n if (oldAttrs.id !== (attrValue = attrs.id)) {\n fromEl.id = attrValue;\n }\n if (oldAttrs.style !== (attrValue = attrs.style)) {\n fromEl.style.cssText = attrValue;\n }\n return;\n }\n\n // In some cases we only want to set an attribute value for the first\n // render or we don't want certain attributes to be touched. To support\n // that use case we delete out all of the preserved attributes\n // so it's as if they never existed.\n attrs = removePreservedAttributes(attrs, props, true);\n\n var namespaceURI;\n\n // Loop over all of the attributes in the attribute map and compare\n // them to the value in the old map. However, if the value is\n // null/undefined/false then we want to remove the attribute\n for (attrName in attrs) {\n attrValue = attrs[attrName];\n namespaceURI = null;\n\n if (attrName === ATTR_XLINK_HREF) {\n namespaceURI = NS_XLINK;\n attrName = ATTR_HREF;\n }\n\n if (attrValue == null || attrValue === false) {\n removeAttribute(fromEl, namespaceURI, attrName);\n } else if (oldAttrs[attrName] !== attrValue) {\n var type = typeof attrValue;\n\n if (type !== \"string\") {\n attrValue = convertAttrValue(type, attrValue);\n }\n\n setAttribute(fromEl, namespaceURI, attrName, attrValue);\n }\n }\n\n // If there are any old attributes that are not in the new set of attributes\n // then we need to remove those attributes from the target node\n //\n // NOTE: We can skip this if the the element is keyed and didn't have spread attributes\n // because we know we already processed all of the attributes for\n // both the target and original element since target VElement nodes will\n // have all attributes declared. However, we can only skip if the node\n // was not a virtualized node (i.e., a node that was not rendered by a\n // Marko template, but rather a node that was created from an HTML\n // string or a real DOM node).\n if (toEl.___key === null || fromFlags & FLAG_SPREAD_ATTRS) {\n for (attrName in oldAttrs) {\n if (!(attrName in attrs)) {\n if (attrName === ATTR_XLINK_HREF) {\n fromEl.removeAttributeNS(ATTR_XLINK_HREF, ATTR_HREF);\n } else {\n fromEl.removeAttribute(attrName);\n }\n }\n }\n }\n};\n\nmodule.exports = VElement;\n"],"file":"VElement.js"}
1
+ {"version":3,"sources":["../../../src/runtime/vdom/VElement.js"],"names":["domData","require","componentsUtil","vElementByDOMNode","VNode","inherit","ATTR_XLINK_HREF","xmlnsRegExp","hasOwnProperty","Object","prototype","NS_XLINK","NS_HTML","NS_MATH","NS_SVG","DEFAULT_NS","svg","math","FLAG_SIMPLE_ATTRS","FLAG_CUSTOM_ELEMENT","FLAG_SPREAD_ATTRS","defineProperty","ATTR_HREF","EMPTY_OBJECT","freeze","convertAttrValue","type","value","RegExp","source","assign","a","b","key","call","setAttribute","el","namespaceURI","name","setAttributeNS","removeAttribute","removeAttributeNS","VElementClone","other","VElement","tagName","attrs","ownerComponent","childCount","flags","props","constId","i","e","child","n","node","host","parentNamespaceURI","attributes","ownerDocument","createElementNS","attrName","attrValue","defaultValue","set","proto","forEach","get","virtualizeElement","virtualizeChildNodes","attrCount","length","attr","test","nodeName","toLowerCase","vdomEl","fromEl","vFromEl","toEl","removePreservedAttributes","fromFlags","toFlags","oldAttrs","className","id","style","cssText","module","exports"],"mappings":"cAAA;;AAEA,IAAIA,OAAO,GAAGC,OAAO,CAAC,wBAAD,CAArB;AACA,IAAIC,cAAc,GAAGD,OAAO,CAAC,oBAAD,CAA5B;AACA,IAAIE,iBAAiB,GAAGH,OAAO,IAA/B;AACA,IAAII,KAAK,GAAGH,OAAO,CAAC,SAAD,CAAnB;AACA,IAAII,OAAO,GAAGJ,OAAO,CAAC,qBAAD,CAArB;AACA,IAAIK,eAAe,GAAG,YAAtB;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA,IAAIC,cAAc,GAAGC,MAAM,CAACC,SAAP,CAAiBF,cAAtC;AACA,IAAIG,QAAQ,GAAG,8BAAf;AACA,IAAIC,OAAO,GAAG,8BAAd;AACA,IAAIC,OAAO,GAAG,oCAAd;AACA,IAAIC,MAAM,GAAG,4BAAb;AACA,IAAIC,UAAU,GAAG;AACfC,EAAAA,GAAG,EAAEF,MADU;AAEfG,EAAAA,IAAI,EAAEJ,OAFS,EAAjB;;;AAKA,IAAIK,iBAAiB,GAAG,CAAxB;AACA,IAAIC,mBAAmB,GAAG,CAA1B;AACA,IAAIC,iBAAiB,GAAG,CAAxB;;AAEA,IAAIC,cAAc,GAAGZ,MAAM,CAACY,cAA5B;;AAEA,IAAIC,SAAS,GAAG,MAAhB;AACA,IAAIC,YAAY,GAAGd,MAAM,CAACe,MAAP,CAAc,EAAd,CAAnB;;AAEA,SAASC,gBAAT,CAA0BC,IAA1B,EAAgCC,KAAhC,EAAuC;AACrC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAClB,WAAO,EAAP;AACD,GAFD,MAEO,IAAID,IAAI,IAAI,QAAZ,EAAsB;AAC3B,QAAIC,KAAK,YAAYC,MAArB,EAA6B;AAC3B,aAAOD,KAAK,CAACE,MAAb;AACD;AACF;;AAED,SAAOF,KAAK,GAAG,EAAf;AACD;;AAED,SAASG,MAAT,CAAgBC,CAAhB,EAAmBC,CAAnB,EAAsB;AACpB,OAAK,IAAIC,GAAT,IAAgBD,CAAhB,EAAmB;AACjB,QAAIxB,cAAc,CAAC0B,IAAf,CAAoBF,CAApB,EAAuBC,GAAvB,CAAJ,EAAiC;AAC/BF,MAAAA,CAAC,CAACE,GAAD,CAAD,GAASD,CAAC,CAACC,GAAD,CAAV;AACD;AACF;AACF;;AAED,SAASE,YAAT,CAAsBC,EAAtB,EAA0BC,YAA1B,EAAwCC,IAAxC,EAA8CX,KAA9C,EAAqD;AACnD,MAAIU,YAAY,KAAK,IAArB,EAA2B;AACzBD,IAAAA,EAAE,CAACD,YAAH,CAAgBG,IAAhB,EAAsBX,KAAtB;AACD,GAFD,MAEO;AACLS,IAAAA,EAAE,CAACG,cAAH,CAAkBF,YAAlB,EAAgCC,IAAhC,EAAsCX,KAAtC;AACD;AACF;;AAED,SAASa,eAAT,CAAyBJ,EAAzB,EAA6BC,YAA7B,EAA2CC,IAA3C,EAAiD;AAC/C,MAAID,YAAY,KAAK,IAArB,EAA2B;AACzBD,IAAAA,EAAE,CAACI,eAAH,CAAmBF,IAAnB;AACD,GAFD,MAEO;AACLF,IAAAA,EAAE,CAACK,iBAAH,CAAqBJ,YAArB,EAAmCC,IAAnC;AACD;AACF;;AAED,SAASI,aAAT,CAAuBC,KAAvB,EAA8B;AAC5B,aAA6BA,KAAK,IAAlC;AACA,aAAqB,IAArB;AACA,aAA8B,IAA9B;;AAEA,aAAcA,KAAK,IAAnB;AACA,aAAqBA,KAAK,IAA1B;AACA,aAAqBA,KAAK,IAA1B;AACA,aAAmBA,KAAK,IAAxB;AACA,aAAgBA,KAAK,IAArB;AACA,aAAwBA,KAAK,IAA7B;AACA,aAAkBA,KAAK,IAAvB;AACD;;AAED,SAASC,QAAT;AACEC,OADF;AAEEC,KAFF;AAGEb,GAHF;AAIEc,cAJF;AAKEC,UALF;AAMEC,KANF;AAOEC,KAPF;AAQE;AACA,WAAcF,UAAd,EAA0BD,cAA1B;;AAEA,MAAII,OAAJ;;AAEA,MAAID,KAAJ,EAAW;AACTC,IAAAA,OAAO,GAAGD,KAAK,CAACE,CAAhB;AACD;;AAED,aAAcnB,GAAd;AACA,aAAgBgB,KAAK,IAAI,CAAzB;AACA,aAAqBH,KAAK,IAAIvB,YAA9B;AACA,aAAqB2B,KAAK,IAAI3B,YAA9B;AACA,aAAmBsB,OAAnB;AACA,aAAwB,IAAxB;AACA,aAAkBM,OAAlB;AACA,YAAmB,KAAnB;AACA,YAAuB,KAAvB;AACD;;AAEDP,QAAQ,CAAClC,SAAT,GAAqB;AACnB,OAAa,CADM;;AAGnB,OAAc,YAAY;AACxB,WAAO,IAAIgC,aAAJ,CAAkB,IAAlB,CAAP;AACD,GALkB;;AAOnB;AACF;AACA;AACA;AACA;AACA;AACA;AACEW,EAAAA,CAAC,EAAE,UAAUR,OAAV,EAAmBC,KAAnB,EAA0Bb,GAA1B,EAA+Bc,cAA/B,EAA+CC,UAA/C,EAA2DC,KAA3D,EAAkEC,KAAlE,EAAyE;AAC1E,QAAII,KAAK,GAAG;AACV,QAAIV,QAAJ;AACEC,IAAAA,OADF;AAEEC,IAAAA,KAFF;AAGEb,IAAAA,GAHF;AAIEc,IAAAA,cAJF;AAKEC,IAAAA,UALF;AAMEC,IAAAA,KANF;AAOEC,IAAAA,KAPF,CADU,CAAZ;;;;AAYA,QAAIF,UAAU,KAAK,CAAnB,EAAsB;AACpB,aAAO,UAAP;AACD,KAFD,MAEO;AACL,aAAOM,KAAP;AACD;AACF,GAhCkB;;AAkCnB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,CAAC,EAAE,UAAUC,IAAV,EAAgBT,cAAhB,EAAgC;AACjCS,IAAAA,IAAI,GAAGA,IAAI,IAAJ,EAAP;AACAA,IAAAA,IAAI,IAAJ,GAAyBT,cAAzB;AACA,aAAoBS,IAApB;AACA,WAAO,UAAP;AACD,GA7CkB;;AA+CnB,OAAc,UAAUC,IAAV,EAAgBC,kBAAhB,EAAoC;AAChD,QAAIb,OAAO,GAAG,QAAd;AACA,QAAIc,UAAU,GAAG,QAAjB;AACA,QAAItB,YAAY,GAAGtB,UAAU,CAAC8B,OAAD,CAAV,IAAuBa,kBAAvB,IAA6C9C,OAAhE;;AAEA,QAAIqC,KAAK,GAAG,QAAZ;AACA,QAAIb,EAAE,GAAG,CAACqB,IAAI,CAACG,aAAL,IAAsBH,IAAvB,EAA6BI,eAA7B;AACPxB,IAAAA,YADO;AAEPQ,IAAAA,OAFO,CAAT;;;AAKA,QAAII,KAAK,GAAG9B,mBAAZ,EAAiC;AAC/BW,MAAAA,MAAM,CAACM,EAAD,EAAKuB,UAAL,CAAN;AACD,KAFD,MAEO;AACL,WAAK,IAAIG,QAAT,IAAqBH,UAArB,EAAiC;AAC/B,YAAII,SAAS,GAAGJ,UAAU,CAACG,QAAD,CAA1B;;AAEA,YAAIC,SAAS,KAAK,KAAd,IAAuBA,SAAS,IAAI,IAAxC,EAA8C;AAC5C,cAAIrC,IAAI,GAAG,OAAOqC,SAAlB;;AAEA,cAAIrC,IAAI,KAAK,QAAb,EAAuB;AACrB;AACA;AACAqC,YAAAA,SAAS,GAAGtC,gBAAgB,CAACC,IAAD,EAAOqC,SAAP,CAA5B;AACD;;AAED,cAAID,QAAQ,IAAIxD,eAAhB,EAAiC;AAC/B6B,YAAAA,YAAY,CAACC,EAAD,EAAKzB,QAAL,EAAeW,SAAf,EAA0ByC,SAA1B,CAAZ;AACD,WAFD,MAEO;AACL3B,YAAAA,EAAE,CAACD,YAAH,CAAgB2B,QAAhB,EAA0BC,SAA1B;AACD;AACF;AACF;;AAED,UAAIlB,OAAO,KAAK,UAAhB,EAA4B;AAC1BT,QAAAA,EAAE,CAAC4B,YAAH,GAAkB5B,EAAE,CAACT,KAAH,GAAW,OAA7B;AACD;AACF;;AAEDxB,IAAAA,iBAAiB,CAAC8D,GAAlB,CAAsB7B,EAAtB,EAA0B,IAA1B;;AAEA,WAAOA,EAAP;AACD,GAzFkB;;AA2FnB,OAAiB,UAAUE,IAAV,EAAgB;AAC/B;AACA;AACA;AACA,QAAIX,KAAK,GAAG,SAAmBW,IAAnB,CAAZ;AACA,WAAOX,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,KAAlC;AACD,GAjGkB,EAArB;;;AAoGAtB,OAAO,CAACuC,QAAD,EAAWxC,KAAX,CAAP;;AAEA,IAAI8D,KAAK,GAAIxB,aAAa,CAAChC,SAAd,GAA0BkC,QAAQ,CAAClC,SAAhD;;AAEA,CAAC,SAAD,EAAY,UAAZ,EAAwB,UAAxB,EAAoCyD,OAApC,CAA4C,UAAU7B,IAAV,EAAgB;AAC1DjB,EAAAA,cAAc,CAAC6C,KAAD,EAAQ5B,IAAR,EAAc;AAC1B8B,IAAAA,GAAG,EAAE,YAAY;AACf,UAAIzC,KAAK,GAAG,SAAmBW,IAAnB,CAAZ;AACA,aAAOX,KAAK,KAAK,KAAV,IAAmBA,KAAK,IAAI,IAAnC;AACD,KAJyB,EAAd,CAAd;;AAMD,CAPD;;AASAN,cAAc,CAAC6C,KAAD,QAAoB;AAChCE,EAAAA,GAAG,EAAE,YAAY;AACf,QAAIzC,KAAK,GAAG,QAAZ;AACA,QAAIA,KAAK,IAAI,IAAb,EAAmB;AACjBA,MAAAA,KAAK,GAAG,SAAmBA,KAA3B;AACD;AACD,WAAOA,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,KAA3B;AACHA,IAAAA,KAAK,GAAG,EADL;AAEH,aAAmBD,IAAnB,KAA4B,UAA5B;AACA,aAAmBA,IAAnB,KAA4B,OAD5B;AAEA,QAFA;AAGA,MALJ;AAMD,GAZ+B,EAApB,CAAd;;;AAeAkB,QAAQ,IAAR,GAAwC,UAAUE,KAAV,EAAiB;AACvD;AACA;AACA;AACA;AACA,SAAOA,KAAP;AACD,CAND;;AAQA,SAASuB,iBAAT,CAA2Bb,IAA3B,EAAiCc,oBAAjC,EAAuDvB,cAAvD,EAAuE;AACrE,MAAIY,UAAU,GAAGH,IAAI,CAACG,UAAtB;AACA,MAAIY,SAAS,GAAGZ,UAAU,CAACa,MAA3B;;AAEA,MAAI1B,KAAK,GAAG,IAAZ;AACA,MAAII,KAAK,GAAG,IAAZ;;AAEA,MAAIqB,SAAJ,EAAe;AACbzB,IAAAA,KAAK,GAAG,EAAR;AACA,SAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmB,SAApB,EAA+BnB,CAAC,EAAhC,EAAoC;AAClC,UAAIqB,IAAI,GAAGd,UAAU,CAACP,CAAD,CAArB;AACA,UAAIU,QAAQ,GAAGW,IAAI,CAACnC,IAApB;AACA,UAAI,CAAC/B,WAAW,CAACmE,IAAZ,CAAiBZ,QAAjB,CAAL,EAAiC;AAC/B,YAAIA,QAAQ,KAAK,YAAjB,EAA+B;AAC7BZ,UAAAA,KAAK,GAAGhD,cAAc,IAAd,CAAsCsD,IAAtC,CAAR;AACD,SAFD,MAEO,IAAIiB,IAAI,CAACpC,YAAL,KAAsB1B,QAA1B,EAAoC;AACzCmC,UAAAA,KAAK,CAACxC,eAAD,CAAL,GAAyBmE,IAAI,CAAC9C,KAA9B;AACD,SAFM,MAEA;AACLmB,UAAAA,KAAK,CAACgB,QAAD,CAAL,GAAkBW,IAAI,CAAC9C,KAAvB;AACD;AACF;AACF;AACF;;AAED,MAAIkB,OAAO,GAAGW,IAAI,CAACmB,QAAnB;;AAEA,MAAInB,IAAI,CAACnB,YAAL,KAAsBzB,OAA1B,EAAmC;AACjCiC,IAAAA,OAAO,GAAGA,OAAO,CAAC+B,WAAR,EAAV;AACD;;AAED,MAAIC,MAAM,GAAG,IAAIjC,QAAJ;AACXC,EAAAA,OADW;AAEXC,EAAAA,KAFW;AAGX,MAHW,CAGN,OAHM;AAIXC,EAAAA,cAJW;AAKX,GALW,CAKT,eALS;AAMX,GANW,CAMT,SANS;AAOXG,EAAAA,KAPW,CAAb;;;AAUA,MAAI2B,MAAM,IAAN,KAAuB,UAA3B,EAAuC;AACrCA,IAAAA,MAAM,IAAN,GAA0BrB,IAAI,CAAC7B,KAA/B;AACD,GAFD,MAEO,IAAI2C,oBAAJ,EAA0B;AAC/BA,IAAAA,oBAAoB,CAACd,IAAD,EAAOqB,MAAP,EAAe9B,cAAf,CAApB;AACD;;AAED,SAAO8B,MAAP;AACD;;AAEDjC,QAAQ,IAAR,GAAyByB,iBAAzB;;AAEAzB,QAAQ,IAAR,GAAyB,UAAUkC,MAAV,EAAkBC,OAAlB,EAA2BC,IAA3B,EAAiC;AACxD,MAAIC,yBAAyB,GAAGrC,QAAQ,IAAxC;;AAEA,MAAIsC,SAAS,GAAGH,OAAO,IAAvB;AACA,MAAII,OAAO,GAAGH,IAAI,IAAlB;;AAEA7E,EAAAA,iBAAiB,CAAC8D,GAAlB,CAAsBa,MAAtB,EAA8BE,IAA9B;;AAEA,MAAIlC,KAAK,GAAGkC,IAAI,IAAhB;AACA,MAAI9B,KAAK,GAAG8B,IAAI,IAAhB;;AAEA,MAAIG,OAAO,GAAGhE,mBAAd,EAAmC;AACjC,WAAOW,MAAM,CAACgD,MAAD,EAAShC,KAAT,CAAb;AACD;;AAED,MAAIgB,QAAJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIsB,QAAQ,GAAGL,OAAO,IAAtB;;AAEA,MAAIK,QAAJ,EAAc;AACZ,QAAIA,QAAQ,KAAKtC,KAAjB,EAAwB;AACtB;AACA;AACA;AACA;AACA;AACD,KAND,MAMO;AACLsC,MAAAA,QAAQ,GAAGH,yBAAyB,CAACG,QAAD,EAAWlC,KAAX,CAApC;AACD;AACF;;AAED,MAAIa,SAAJ;;AAEA,MAAIoB,OAAO,GAAGjE,iBAAV,IAA+BgE,SAAS,GAAGhE,iBAA/C,EAAkE;AAChE,QAAIkE,QAAQ,CAAC,OAAD,CAAR,MAAuBrB,SAAS,GAAGjB,KAAK,CAAC,OAAD,CAAxC,CAAJ,EAAwD;AACtDgC,MAAAA,MAAM,CAACO,SAAP,GAAmBtB,SAAnB;AACD;AACD,QAAIqB,QAAQ,CAACE,EAAT,MAAiBvB,SAAS,GAAGjB,KAAK,CAACwC,EAAnC,CAAJ,EAA4C;AAC1CR,MAAAA,MAAM,CAACQ,EAAP,GAAYvB,SAAZ;AACD;AACD,QAAIqB,QAAQ,CAACG,KAAT,MAAoBxB,SAAS,GAAGjB,KAAK,CAACyC,KAAtC,CAAJ,EAAkD;AAChDT,MAAAA,MAAM,CAACS,KAAP,CAAaC,OAAb,GAAuBzB,SAAvB;AACD;AACD;AACD;;AAED;AACA;AACA;AACA;AACAjB,EAAAA,KAAK,GAAGmC,yBAAyB,CAACnC,KAAD,EAAQI,KAAR,EAAe,IAAf,CAAjC;;AAEA,MAAIb,YAAJ;;AAEA;AACA;AACA;AACA,OAAKyB,QAAL,IAAiBhB,KAAjB,EAAwB;AACtBiB,IAAAA,SAAS,GAAGjB,KAAK,CAACgB,QAAD,CAAjB;AACAzB,IAAAA,YAAY,GAAG,IAAf;;AAEA,QAAIyB,QAAQ,KAAKxD,eAAjB,EAAkC;AAChC+B,MAAAA,YAAY,GAAG1B,QAAf;AACAmD,MAAAA,QAAQ,GAAGxC,SAAX;AACD;;AAED,QAAIyC,SAAS,IAAI,IAAb,IAAqBA,SAAS,KAAK,KAAvC,EAA8C;AAC5CvB,MAAAA,eAAe,CAACsC,MAAD,EAASzC,YAAT,EAAuByB,QAAvB,CAAf;AACD,KAFD,MAEO,IAAIsB,QAAQ,CAACtB,QAAD,CAAR,KAAuBC,SAA3B,EAAsC;AAC3C,UAAIrC,IAAI,GAAG,OAAOqC,SAAlB;;AAEA,UAAIrC,IAAI,KAAK,QAAb,EAAuB;AACrBqC,QAAAA,SAAS,GAAGtC,gBAAgB,CAACC,IAAD,EAAOqC,SAAP,CAA5B;AACD;;AAED5B,MAAAA,YAAY,CAAC2C,MAAD,EAASzC,YAAT,EAAuByB,QAAvB,EAAiCC,SAAjC,CAAZ;AACD;AACF;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAIiB,IAAI,IAAJ,KAAgB,IAAhB,IAAwBE,SAAS,GAAG9D,iBAAxC,EAA2D;AACzD,SAAK0C,QAAL,IAAiBsB,QAAjB,EAA2B;AACzB,UAAI,EAAEtB,QAAQ,IAAIhB,KAAd,CAAJ,EAA0B;AACxB,YAAIgB,QAAQ,KAAKxD,eAAjB,EAAkC;AAChCwE,UAAAA,MAAM,CAACrC,iBAAP,CAAyBnC,eAAzB,EAA0CgB,SAA1C;AACD,SAFD,MAEO;AACLwD,UAAAA,MAAM,CAACtC,eAAP,CAAuBsB,QAAvB;AACD;AACF;AACF;AACF;AACF,CA5GD;;AA8GA2B,MAAM,CAACC,OAAP,GAAiB9C,QAAjB","sourcesContent":["/* jshint newcap:false */\n\nvar domData = require(\"../components/dom-data\");\nvar componentsUtil = require(\"../components/util\");\nvar vElementByDOMNode = domData.___vElementByDOMNode;\nvar VNode = require(\"./VNode\");\nvar inherit = require(\"raptor-util/inherit\");\nvar ATTR_XLINK_HREF = \"xlink:href\";\nvar xmlnsRegExp = /^xmlns(:|$)/;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar NS_XLINK = \"http://www.w3.org/1999/xlink\";\nvar NS_HTML = \"http://www.w3.org/1999/xhtml\";\nvar NS_MATH = \"http://www.w3.org/1998/Math/MathML\";\nvar NS_SVG = \"http://www.w3.org/2000/svg\";\nvar DEFAULT_NS = {\n svg: NS_SVG,\n math: NS_MATH\n};\n\nvar FLAG_SIMPLE_ATTRS = 1;\nvar FLAG_CUSTOM_ELEMENT = 2;\nvar FLAG_SPREAD_ATTRS = 4;\n\nvar defineProperty = Object.defineProperty;\n\nvar ATTR_HREF = \"href\";\nvar EMPTY_OBJECT = Object.freeze({});\n\nfunction convertAttrValue(type, value) {\n if (value === true) {\n return \"\";\n } else if (type == \"object\") {\n if (value instanceof RegExp) {\n return value.source;\n }\n }\n\n return value + \"\";\n}\n\nfunction assign(a, b) {\n for (var key in b) {\n if (hasOwnProperty.call(b, key)) {\n a[key] = b[key];\n }\n }\n}\n\nfunction setAttribute(el, namespaceURI, name, value) {\n if (namespaceURI === null) {\n el.setAttribute(name, value);\n } else {\n el.setAttributeNS(namespaceURI, name, value);\n }\n}\n\nfunction removeAttribute(el, namespaceURI, name) {\n if (namespaceURI === null) {\n el.removeAttribute(name);\n } else {\n el.removeAttributeNS(namespaceURI, name);\n }\n}\n\nfunction VElementClone(other) {\n this.___firstChildInternal = other.___firstChildInternal;\n this.___parentNode = null;\n this.___nextSiblingInternal = null;\n\n this.___key = other.___key;\n this.___attributes = other.___attributes;\n this.___properties = other.___properties;\n this.___nodeName = other.___nodeName;\n this.___flags = other.___flags;\n this.___valueInternal = other.___valueInternal;\n this.___constId = other.___constId;\n}\n\nfunction VElement(\n tagName,\n attrs,\n key,\n ownerComponent,\n childCount,\n flags,\n props\n) {\n this.___VNode(childCount, ownerComponent);\n\n var constId;\n\n if (props) {\n constId = props.i;\n }\n\n this.___key = key;\n this.___flags = flags || 0;\n this.___attributes = attrs || EMPTY_OBJECT;\n this.___properties = props || EMPTY_OBJECT;\n this.___nodeName = tagName;\n this.___valueInternal = null;\n this.___constId = constId;\n this.___preserve = false;\n this.___preserveBody = false;\n}\n\nVElement.prototype = {\n ___nodeType: 1,\n\n ___cloneNode: function () {\n return new VElementClone(this);\n },\n\n /**\n * Shorthand method for creating and appending an HTML element\n *\n * @param {String} tagName The tag name (e.g. \"div\")\n * @param {int|null} attrCount The number of attributes (or `null` if not known)\n * @param {int|null} childCount The number of child nodes (or `null` if not known)\n */\n e: function (tagName, attrs, key, ownerComponent, childCount, flags, props) {\n var child = this.___appendChild(\n new VElement(\n tagName,\n attrs,\n key,\n ownerComponent,\n childCount,\n flags,\n props\n )\n );\n\n if (childCount === 0) {\n return this.___finishChild();\n } else {\n return child;\n }\n },\n\n /**\n * Shorthand method for creating and appending a static node. The provided node is automatically cloned\n * using a shallow clone since it will be mutated as a result of setting `nextSibling` and `parentNode`.\n *\n * @param {String} value The value for the new Comment node\n */\n n: function (node, ownerComponent) {\n node = node.___cloneNode();\n node.___ownerComponent = ownerComponent;\n this.___appendChild(node);\n return this.___finishChild();\n },\n\n ___actualize: function (host, parentNamespaceURI) {\n var tagName = this.___nodeName;\n var attributes = this.___attributes;\n var namespaceURI = DEFAULT_NS[tagName] || parentNamespaceURI || NS_HTML;\n\n var flags = this.___flags;\n var el = (host.ownerDocument || host).createElementNS(\n namespaceURI,\n tagName\n );\n\n if (flags & FLAG_CUSTOM_ELEMENT) {\n assign(el, attributes);\n } else {\n for (var attrName in attributes) {\n var attrValue = attributes[attrName];\n\n if (attrValue !== false && attrValue != null) {\n var type = typeof attrValue;\n\n if (type !== \"string\") {\n // Special attributes aren't copied to the real DOM. They are only\n // kept in the virtual attributes map\n attrValue = convertAttrValue(type, attrValue);\n }\n\n if (attrName == ATTR_XLINK_HREF) {\n setAttribute(el, NS_XLINK, ATTR_HREF, attrValue);\n } else {\n el.setAttribute(attrName, attrValue);\n }\n }\n }\n\n if (tagName === \"textarea\") {\n el.defaultValue = el.value = this.___value;\n }\n }\n\n vElementByDOMNode.set(el, this);\n\n return el;\n },\n\n ___hasAttribute: function (name) {\n // We don't care about the namespaces since the there\n // is no chance that attributes with the same name will have\n // different namespaces\n var value = this.___attributes[name];\n return value != null && value !== false;\n }\n};\n\ninherit(VElement, VNode);\n\nvar proto = (VElementClone.prototype = VElement.prototype);\n\n[\"checked\", \"selected\", \"disabled\"].forEach(function (name) {\n defineProperty(proto, name, {\n get: function () {\n var value = this.___attributes[name];\n return value !== false && value != null;\n }\n });\n});\n\ndefineProperty(proto, \"___value\", {\n get: function () {\n var value = this.___valueInternal;\n if (value == null) {\n value = this.___attributes.value;\n }\n return value != null && value !== false\n ? value + \"\"\n : this.___attributes.type === \"checkbox\" ||\n this.___attributes.type === \"radio\"\n ? \"on\"\n : \"\";\n }\n});\n\nVElement.___removePreservedAttributes = function (attrs) {\n // By default this static method is a no-op, but if there are any\n // compiled components that have \"no-update\" attributes then\n // `preserve-attrs.js` will be imported and this method will be replaced\n // with a method that actually does something\n return attrs;\n};\n\nfunction virtualizeElement(node, virtualizeChildNodes, ownerComponent) {\n var attributes = node.attributes;\n var attrCount = attributes.length;\n\n var attrs = null;\n var props = null;\n\n if (attrCount) {\n attrs = {};\n for (var i = 0; i < attrCount; i++) {\n var attr = attributes[i];\n var attrName = attr.name;\n if (!xmlnsRegExp.test(attrName)) {\n if (attrName === \"data-marko\") {\n props = componentsUtil.___getMarkoPropsFromEl(node);\n } else if (attr.namespaceURI === NS_XLINK) {\n attrs[ATTR_XLINK_HREF] = attr.value;\n } else {\n attrs[attrName] = attr.value;\n }\n }\n }\n }\n\n var tagName = node.nodeName;\n\n if (node.namespaceURI === NS_HTML) {\n tagName = tagName.toLowerCase();\n }\n\n var vdomEl = new VElement(\n tagName,\n attrs,\n null /*key*/,\n ownerComponent,\n 0 /*child count*/,\n 0 /*flags*/,\n props\n );\n\n if (vdomEl.___nodeName === \"textarea\") {\n vdomEl.___valueInternal = node.value;\n } else if (virtualizeChildNodes) {\n virtualizeChildNodes(node, vdomEl, ownerComponent);\n }\n\n return vdomEl;\n}\n\nVElement.___virtualize = virtualizeElement;\n\nVElement.___morphAttrs = function (fromEl, vFromEl, toEl) {\n var removePreservedAttributes = VElement.___removePreservedAttributes;\n\n var fromFlags = vFromEl.___flags;\n var toFlags = toEl.___flags;\n\n vElementByDOMNode.set(fromEl, toEl);\n\n var attrs = toEl.___attributes;\n var props = toEl.___properties;\n\n if (toFlags & FLAG_CUSTOM_ELEMENT) {\n return assign(fromEl, attrs);\n }\n\n var attrName;\n\n // We use expando properties to associate the previous HTML\n // attributes provided as part of the VDOM node with the\n // real VElement DOM node. When diffing attributes,\n // we only use our internal representation of the attributes.\n // When diffing for the first time it's possible that the\n // real VElement node will not have the expando property\n // so we build the attribute map from the expando property\n\n var oldAttrs = vFromEl.___attributes;\n\n if (oldAttrs) {\n if (oldAttrs === attrs) {\n // For constant attributes the same object will be provided\n // every render and we can use that to our advantage to\n // not waste time diffing a constant, immutable attribute\n // map.\n return;\n } else {\n oldAttrs = removePreservedAttributes(oldAttrs, props);\n }\n }\n\n var attrValue;\n\n if (toFlags & FLAG_SIMPLE_ATTRS && fromFlags & FLAG_SIMPLE_ATTRS) {\n if (oldAttrs[\"class\"] !== (attrValue = attrs[\"class\"])) {\n fromEl.className = attrValue;\n }\n if (oldAttrs.id !== (attrValue = attrs.id)) {\n fromEl.id = attrValue;\n }\n if (oldAttrs.style !== (attrValue = attrs.style)) {\n fromEl.style.cssText = attrValue;\n }\n return;\n }\n\n // In some cases we only want to set an attribute value for the first\n // render or we don't want certain attributes to be touched. To support\n // that use case we delete out all of the preserved attributes\n // so it's as if they never existed.\n attrs = removePreservedAttributes(attrs, props, true);\n\n var namespaceURI;\n\n // Loop over all of the attributes in the attribute map and compare\n // them to the value in the old map. However, if the value is\n // null/undefined/false then we want to remove the attribute\n for (attrName in attrs) {\n attrValue = attrs[attrName];\n namespaceURI = null;\n\n if (attrName === ATTR_XLINK_HREF) {\n namespaceURI = NS_XLINK;\n attrName = ATTR_HREF;\n }\n\n if (attrValue == null || attrValue === false) {\n removeAttribute(fromEl, namespaceURI, attrName);\n } else if (oldAttrs[attrName] !== attrValue) {\n var type = typeof attrValue;\n\n if (type !== \"string\") {\n attrValue = convertAttrValue(type, attrValue);\n }\n\n setAttribute(fromEl, namespaceURI, attrName, attrValue);\n }\n }\n\n // If there are any old attributes that are not in the new set of attributes\n // then we need to remove those attributes from the target node\n //\n // NOTE: We can skip this if the the element is keyed and didn't have spread attributes\n // because we know we already processed all of the attributes for\n // both the target and original element since target VElement nodes will\n // have all attributes declared. However, we can only skip if the node\n // was not a virtualized node (i.e., a node that was not rendered by a\n // Marko template, but rather a node that was created from an HTML\n // string or a real DOM node).\n if (toEl.___key === null || fromFlags & FLAG_SPREAD_ATTRS) {\n for (attrName in oldAttrs) {\n if (!(attrName in attrs)) {\n if (attrName === ATTR_XLINK_HREF) {\n fromEl.removeAttributeNS(ATTR_XLINK_HREF, ATTR_HREF);\n } else {\n fromEl.removeAttribute(attrName);\n }\n }\n }\n }\n};\n\nmodule.exports = VElement;\n"],"file":"VElement.js"}
@@ -6,16 +6,16 @@ var inherit = require("raptor-util/inherit");
6
6
  var createFragmentNode = require("./morphdom/fragment").ao_;
7
7
 
8
8
  function VFragment(key, ownerComponent, preserve) {
9
- this.bz_(null /* childCount */, ownerComponent);
10
- this.bA_ = key;
9
+ this.by_(null /* childCount */, ownerComponent);
10
+ this.bz_ = key;
11
11
  this.n_ = preserve;
12
12
  }
13
13
 
14
14
  VFragment.prototype = {
15
- bB_: 12,
16
- by_: function () {
15
+ bA_: 12,
16
+ bx_: function () {
17
17
  var fragment = createFragmentNode();
18
- keysByDOMNode.set(fragment, this.bA_);
18
+ keysByDOMNode.set(fragment, this.bz_);
19
19
  vElementByDOMNode.set(fragment, this);
20
20
  return fragment;
21
21
  } };
@@ -2,81 +2,81 @@
2
2
  function VNode() {}
3
3
 
4
4
  VNode.prototype = {
5
- bz_: function (finalChildCount, ownerComponent) {
6
- this.bP_ = finalChildCount;
7
- this.bQ_ = 0;
8
- this.bF_ = null;
9
- this.bR_ = null;
5
+ by_: function (finalChildCount, ownerComponent) {
6
+ this.bO_ = finalChildCount;
7
+ this.bP_ = 0;
8
+ this.bE_ = null;
9
+ this.bQ_ = null;
10
+ this.bB_ = null;
10
11
  this.bC_ = null;
11
- this.bD_ = null;
12
12
  this.aA_ = ownerComponent;
13
13
  },
14
14
 
15
15
  get _r_() {
16
- var firstChild = this.bF_;
16
+ var firstChild = this.bE_;
17
17
 
18
- if (firstChild && firstChild.bE_) {
18
+ if (firstChild && firstChild.bD_) {
19
19
  var nestedFirstChild = firstChild._r_;
20
20
  // The first child is a DocumentFragment node.
21
21
  // If the DocumentFragment node has a first child then we will return that.
22
22
  // Otherwise, the DocumentFragment node is not *really* the first child and
23
23
  // we need to skip to its next sibling
24
- return nestedFirstChild || firstChild.bS_;
24
+ return nestedFirstChild || firstChild.bR_;
25
25
  }
26
26
 
27
27
  return firstChild;
28
28
  },
29
29
 
30
- get bS_() {
31
- var nextSibling = this.bD_;
30
+ get bR_() {
31
+ var nextSibling = this.bC_;
32
32
 
33
33
  if (nextSibling) {
34
- if (nextSibling.bE_) {
34
+ if (nextSibling.bD_) {
35
35
  var firstChild = nextSibling._r_;
36
- return firstChild || nextSibling.bS_;
36
+ return firstChild || nextSibling.bR_;
37
37
  }
38
38
  } else {
39
- var parentNode = this.bC_;
40
- if (parentNode && parentNode.bE_) {
41
- return parentNode.bS_;
39
+ var parentNode = this.bB_;
40
+ if (parentNode && parentNode.bD_) {
41
+ return parentNode.bR_;
42
42
  }
43
43
  }
44
44
 
45
45
  return nextSibling;
46
46
  },
47
47
 
48
- br_: function (child) {
49
- this.bQ_++;
48
+ bq_: function (child) {
49
+ this.bP_++;
50
50
 
51
- if (this.bH_ === "textarea") {
52
- if (child.bT_) {
53
- var childValue = child.bU_;
54
- this.bI_ = (this.bI_ || "") + childValue;
51
+ if (this.bG_ === "textarea") {
52
+ if (child.bS_) {
53
+ var childValue = child.bT_;
54
+ this.bH_ = (this.bH_ || "") + childValue;
55
55
  } else if (child.n_ || child.m_) {
56
- this.bV_ = true;
56
+ this.bU_ = true;
57
57
  } else {
58
58
  throw TypeError();
59
59
  }
60
60
  } else {
61
- var lastChild = this.bR_;
61
+ var lastChild = this.bQ_;
62
62
 
63
- child.bC_ = this;
63
+ child.bB_ = this;
64
64
 
65
65
  if (lastChild) {
66
- lastChild.bD_ = child;
66
+ lastChild.bC_ = child;
67
67
  } else {
68
- this.bF_ = child;
68
+ this.bE_ = child;
69
69
  }
70
70
 
71
- this.bR_ = child;
71
+ this.bQ_ = child;
72
72
  }
73
73
 
74
74
  return child;
75
75
  },
76
76
 
77
- bK_: function finishChild() {
78
- if (this.bQ_ === this.bP_ && this.bC_) {
79
- return this.bC_.bK_();
77
+ bJ_: function finishChild() {
78
+ if (this.bP_ === this.bO_ && this.bB_) {
79
+ return this.bB_.bJ_();
80
80
  } else {
81
81
  return this;
82
82
  }
@@ -2,21 +2,21 @@
2
2
  var inherit = require("raptor-util/inherit");
3
3
 
4
4
  function VText(value, ownerComponent) {
5
- this.bz_(-1 /* no children */, ownerComponent);
6
- this.bU_ = value;
5
+ this.by_(-1 /* no children */, ownerComponent);
6
+ this.bT_ = value;
7
7
  }
8
8
 
9
9
  VText.prototype = {
10
- bT_: true,
10
+ bS_: true,
11
11
 
12
- bB_: 3,
12
+ bA_: 3,
13
13
 
14
- by_: function (doc) {
15
- return doc.createTextNode(this.bU_);
14
+ bx_: function (host) {
15
+ return (host.ownerDocument || host).createTextNode(this.bT_);
16
16
  },
17
17
 
18
- bs_: function () {
19
- return new VText(this.bU_);
18
+ br_: function () {
19
+ return new VText(this.bT_);
20
20
  } };
21
21
 
22
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/vdom/VText.js"],"names":["VNode","require","inherit","VText","value","ownerComponent","prototype","doc","createTextNode","module","exports"],"mappings":"aAAA,IAAIA,KAAK,GAAGC,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIC,OAAO,GAAGD,OAAO,CAAC,qBAAD,CAArB;;AAEA,SAASE,KAAT,CAAeC,KAAf,EAAsBC,cAAtB,EAAsC;AACpC,WAAc,CAAC,CAAf,CAAiB,iBAAjB,EAAoCA,cAApC;AACA,aAAoBD,KAApB;AACD;;AAEDD,KAAK,CAACG,SAAN,GAAkB;AAChB,OAAS,IADO;;AAGhB,OAAa,CAHG;;AAKhB,OAAc,UAAUC,GAAV,EAAe;AAC3B,WAAOA,GAAG,CAACC,cAAJ,CAAmB,QAAnB,CAAP;AACD,GAPe;;AAShB,OAAc,YAAY;AACxB,WAAO,IAAIL,KAAJ,CAAU,QAAV,CAAP;AACD,GAXe,EAAlB;;;AAcAD,OAAO,CAACC,KAAD,EAAQH,KAAR,CAAP;;AAEAS,MAAM,CAACC,OAAP,GAAiBP,KAAjB","sourcesContent":["var VNode = require(\"./VNode\");\nvar inherit = require(\"raptor-util/inherit\");\n\nfunction VText(value, ownerComponent) {\n this.___VNode(-1 /* no children */, ownerComponent);\n this.___nodeValue = value;\n}\n\nVText.prototype = {\n ___Text: true,\n\n ___nodeType: 3,\n\n ___actualize: function (doc) {\n return doc.createTextNode(this.___nodeValue);\n },\n\n ___cloneNode: function () {\n return new VText(this.___nodeValue);\n }\n};\n\ninherit(VText, VNode);\n\nmodule.exports = VText;\n"],"file":"VText.js"}
1
+ {"version":3,"sources":["../../../src/runtime/vdom/VText.js"],"names":["VNode","require","inherit","VText","value","ownerComponent","prototype","host","ownerDocument","createTextNode","module","exports"],"mappings":"aAAA,IAAIA,KAAK,GAAGC,OAAO,CAAC,SAAD,CAAnB;AACA,IAAIC,OAAO,GAAGD,OAAO,CAAC,qBAAD,CAArB;;AAEA,SAASE,KAAT,CAAeC,KAAf,EAAsBC,cAAtB,EAAsC;AACpC,WAAc,CAAC,CAAf,CAAiB,iBAAjB,EAAoCA,cAApC;AACA,aAAoBD,KAApB;AACD;;AAEDD,KAAK,CAACG,SAAN,GAAkB;AAChB,OAAS,IADO;;AAGhB,OAAa,CAHG;;AAKhB,OAAc,UAAUC,IAAV,EAAgB;AAC5B,WAAO,CAACA,IAAI,CAACC,aAAL,IAAsBD,IAAvB,EAA6BE,cAA7B,CAA4C,QAA5C,CAAP;AACD,GAPe;;AAShB,OAAc,YAAY;AACxB,WAAO,IAAIN,KAAJ,CAAU,QAAV,CAAP;AACD,GAXe,EAAlB;;;AAcAD,OAAO,CAACC,KAAD,EAAQH,KAAR,CAAP;;AAEAU,MAAM,CAACC,OAAP,GAAiBR,KAAjB","sourcesContent":["var VNode = require(\"./VNode\");\nvar inherit = require(\"raptor-util/inherit\");\n\nfunction VText(value, ownerComponent) {\n this.___VNode(-1 /* no children */, ownerComponent);\n this.___nodeValue = value;\n}\n\nVText.prototype = {\n ___Text: true,\n\n ___nodeType: 3,\n\n ___actualize: function (host) {\n return (host.ownerDocument || host).createTextNode(this.___nodeValue);\n },\n\n ___cloneNode: function () {\n return new VText(this.___nodeValue);\n }\n};\n\ninherit(VText, VNode);\n\nmodule.exports = VText;\n"],"file":"VText.js"}
@@ -16,7 +16,7 @@ runtime.t = function (typeName) {
16
16
 
17
17
  var renderFn;
18
18
  var template = registered[typeName] = createTemplate(typeName);
19
- var instances = template.bW_ = [];
19
+ var instances = template.bV_ = [];
20
20
  Object.defineProperty(template, "_", {
21
21
  get: function () {
22
22
  return renderFn && proxyRenderer;
@@ -39,7 +39,7 @@ runtime.t = function (typeName) {
39
39
  var parentNode = startNode.parentNode;
40
40
  var curNode;
41
41
 
42
- instance.bX_ = true;
42
+ instance.bW_ = true;
43
43
  instance._a_();
44
44
  instance._b_();
45
45
 
@@ -53,7 +53,7 @@ runtime.t = function (typeName) {
53
53
  parentNode.removeChild(curNode);
54
54
  }
55
55
 
56
- instance.bX_ = false;
56
+ instance.bW_ = false;
57
57
  instance.R_ = false;
58
58
  }
59
59
 
@@ -79,10 +79,10 @@ registry._P_ = function (typeName, id) {
79
79
  var instance = createComponent(typeName, id);
80
80
 
81
81
  if (template) {
82
- var instances = template.bW_;
82
+ var instances = template.bV_;
83
83
  instances.push(instance);
84
84
  instance.once("destroy", function () {
85
- if (!instance.bX_) {
85
+ if (!instance.bW_) {
86
86
  instances.splice(1, instances.indexOf(instance));
87
87
  }
88
88
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/vdom/hot-reload.js"],"names":["runtime","require","queueMicrotask","util","registry","updateManager","createTemplate","t","createComponent","registered","queue","typeName","renderFn","template","instances","Object","defineProperty","get","proxyRenderer","set","v","length","batchUpdate","push","newProto","prototype","forEach","instance","hasLifecycleChanged","__proto__","startNode","endNode","parentNode","curNode","removeAllListeners","nextSibling","removeChild","afterInsert","apply","arguments","id","once","splice","indexOf","oldProto","hasMethodChanged","method","toString","pending","undefined","i","module","exports"],"mappings":"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","sourcesContent":["var runtime = require(\".\");\nvar queueMicrotask = require(\"../queueMicrotask\");\nvar util = require(\"../components/util\");\nvar registry = require(\"../components/registry\");\nvar updateManager = require(\"../components/update-manager\");\n\nvar createTemplate = runtime.t;\nvar createComponent = registry.___createComponent;\nvar registered = {};\nvar queue;\n\nruntime.t = function (typeName) {\n if (registered[typeName]) {\n return registered[typeName];\n }\n\n var renderFn;\n var template = (registered[typeName] = createTemplate(typeName));\n var instances = (template.___instances = []);\n Object.defineProperty(template, \"_\", {\n get: function () {\n return renderFn && proxyRenderer;\n },\n set: function (v) {\n renderFn = v;\n\n if (instances.length) {\n if (!queue) {\n queue = [];\n queueMicrotask(batchUpdate);\n }\n\n queue.push(function () {\n var newProto = registry.___getComponentClass(typeName).prototype;\n instances.forEach(function (instance) {\n if (hasLifecycleChanged(instance.__proto__, newProto)) {\n var startNode = instance.___rootNode.startNode;\n var endNode = instance.___rootNode.endNode;\n var parentNode = startNode.parentNode;\n var curNode;\n\n instance.___hmrDestroyed = true;\n instance.___emitDestroy();\n instance.___removeDOMEventListeners();\n\n if (instance.___subscriptions) {\n instance.___subscriptions.removeAllListeners();\n instance.___subscriptions = null;\n }\n\n while ((curNode = startNode.nextSibling) !== endNode) {\n util.___destroyNodeRecursive(curNode);\n parentNode.removeChild(curNode);\n }\n\n instance.___hmrDestroyed = false;\n instance.___mounted = false;\n }\n\n instance.__proto__ = newProto;\n instance\n .___rerender(instance.___input, false)\n .afterInsert(instance.___document);\n });\n });\n }\n }\n });\n\n return template;\n\n function proxyRenderer() {\n return renderFn.apply(this, arguments);\n }\n};\n\nregistry.___createComponent = function (typeName, id) {\n var template = registered[typeName];\n var instance = createComponent(typeName, id);\n\n if (template) {\n var instances = template.___instances;\n instances.push(instance);\n instance.once(\"destroy\", function () {\n if (!instance.___hmrDestroyed) {\n instances.splice(1, instances.indexOf(instance));\n }\n });\n }\n\n return instance;\n};\n\nfunction hasLifecycleChanged(oldProto, newProto) {\n return (\n hasMethodChanged(\"onCreate\") ||\n hasMethodChanged(\"onInput\") ||\n hasMethodChanged(\"onRender\") ||\n hasMethodChanged(\"onMount\")\n );\n\n function hasMethodChanged(method) {\n return (\n (oldProto[method] && oldProto[method].toString()) !==\n (newProto[method] && newProto[method].toString())\n );\n }\n}\n\nfunction batchUpdate() {\n updateManager.___batchUpdate(function () {\n var pending = queue;\n queue = undefined;\n\n for (var i = 0; i < pending.length; i++) {\n pending[i]();\n }\n });\n}\n\nmodule.exports = runtime;\n"],"file":"hot-reload.js"}
1
+ {"version":3,"sources":["../../../src/runtime/vdom/hot-reload.js"],"names":["runtime","require","queueMicrotask","util","registry","updateManager","createTemplate","t","createComponent","registered","queue","typeName","renderFn","template","instances","Object","defineProperty","get","proxyRenderer","set","v","length","batchUpdate","push","newProto","prototype","forEach","instance","hasLifecycleChanged","__proto__","startNode","endNode","parentNode","curNode","removeAllListeners","nextSibling","removeChild","afterInsert","apply","arguments","id","once","splice","indexOf","oldProto","hasMethodChanged","method","toString","pending","undefined","i","module","exports"],"mappings":"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","sourcesContent":["var runtime = require(\".\");\nvar queueMicrotask = require(\"../queueMicrotask\");\nvar util = require(\"../components/util\");\nvar registry = require(\"../components/registry\");\nvar updateManager = require(\"../components/update-manager\");\n\nvar createTemplate = runtime.t;\nvar createComponent = registry.___createComponent;\nvar registered = {};\nvar queue;\n\nruntime.t = function (typeName) {\n if (registered[typeName]) {\n return registered[typeName];\n }\n\n var renderFn;\n var template = (registered[typeName] = createTemplate(typeName));\n var instances = (template.___instances = []);\n Object.defineProperty(template, \"_\", {\n get: function () {\n return renderFn && proxyRenderer;\n },\n set: function (v) {\n renderFn = v;\n\n if (instances.length) {\n if (!queue) {\n queue = [];\n queueMicrotask(batchUpdate);\n }\n\n queue.push(function () {\n var newProto = registry.___getComponentClass(typeName).prototype;\n instances.forEach(function (instance) {\n if (hasLifecycleChanged(instance.__proto__, newProto)) {\n var startNode = instance.___rootNode.startNode;\n var endNode = instance.___rootNode.endNode;\n var parentNode = startNode.parentNode;\n var curNode;\n\n instance.___hmrDestroyed = true;\n instance.___emitDestroy();\n instance.___removeDOMEventListeners();\n\n if (instance.___subscriptions) {\n instance.___subscriptions.removeAllListeners();\n instance.___subscriptions = null;\n }\n\n while ((curNode = startNode.nextSibling) !== endNode) {\n util.___destroyNodeRecursive(curNode);\n parentNode.removeChild(curNode);\n }\n\n instance.___hmrDestroyed = false;\n instance.___mounted = false;\n }\n\n instance.__proto__ = newProto;\n instance\n .___rerender(instance.___input, false)\n .afterInsert(instance.___host);\n });\n });\n }\n }\n });\n\n return template;\n\n function proxyRenderer() {\n return renderFn.apply(this, arguments);\n }\n};\n\nregistry.___createComponent = function (typeName, id) {\n var template = registered[typeName];\n var instance = createComponent(typeName, id);\n\n if (template) {\n var instances = template.___instances;\n instances.push(instance);\n instance.once(\"destroy\", function () {\n if (!instance.___hmrDestroyed) {\n instances.splice(1, instances.indexOf(instance));\n }\n });\n }\n\n return instance;\n};\n\nfunction hasLifecycleChanged(oldProto, newProto) {\n return (\n hasMethodChanged(\"onCreate\") ||\n hasMethodChanged(\"onInput\") ||\n hasMethodChanged(\"onRender\") ||\n hasMethodChanged(\"onMount\")\n );\n\n function hasMethodChanged(method) {\n return (\n (oldProto[method] && oldProto[method].toString()) !==\n (newProto[method] && newProto[method].toString())\n );\n }\n}\n\nfunction batchUpdate() {\n updateManager.___batchUpdate(function () {\n var pending = queue;\n queue = undefined;\n\n for (var i = 0; i < pending.length; i++) {\n pending[i]();\n }\n });\n}\n\nmodule.exports = runtime;\n"],"file":"hot-reload.js"}
@@ -80,8 +80,8 @@ function createFragmentNode(startNode, nextNode, parentNode) {
80
80
 
81
81
  function beginFragmentNode(startNode, parentNode) {
82
82
  var fragment = createFragmentNode(startNode, null, parentNode);
83
- fragment.bY_ = function (nextNode) {
84
- fragment.bY_ = null;
83
+ fragment.bX_ = function (nextNode) {
84
+ fragment.bX_ = null;
85
85
  insertBefore(
86
86
  fragment.endNode,
87
87
  nextNode,
@@ -92,5 +92,5 @@ function beginFragmentNode(startNode, parentNode) {
92
92
  }
93
93
 
94
94
  exports.ao_ = createFragmentNode;
95
- exports.bZ_ = beginFragmentNode;
95
+ exports.bY_ = beginFragmentNode;
96
96
  //# sourceMappingURL=fragment.js.map
@@ -37,7 +37,7 @@ function removeChild(node) {
37
37
 
38
38
  exports.aF_ = insertBefore;
39
39
  exports.aG_ = insertAfter;
40
- exports.bS_ = nextSibling;
40
+ exports.bR_ = nextSibling;
41
41
  exports._r_ = firstChild;
42
42
  exports.aH_ = removeChild;
43
43
  //# sourceMappingURL=helpers.js.map