{"version":3,"sources":["node_modules\\react-dom\\lib\\DOMLazyTree.js"],"names":["DOMNamespaces","require","setInnerHTML","createMicrosoftUnsafeLocalFunction","setTextContent","ELEMENT_NODE_TYPE","DOCUMENT_FRAGMENT_NODE_TYPE","enableLazy","document","documentMode","navigator","userAgent","test","insertTreeChildren","tree","node","children","length","i","insertTreeBefore","html","text","parentNode","referenceNode","nodeType","nodeName","toLowerCase","namespaceURI","insertBefore","replaceChildWithTree","oldNode","newTree","replaceChild","queueChild","parentTree","childTree","push","appendChild","queueHTML","queueText","toString","DOMLazyTree","module","exports"],"mappings":"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","file":"DOMLazyTree.js","sourceRoot":"D:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar DOMNamespaces = require('./DOMNamespaces');\nvar setInnerHTML = require('./setInnerHTML');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setTextContent = require('./setTextContent');\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n  if (!enableLazy) {\n    return;\n  }\n  var node = tree.node;\n  var children = tree.children;\n  if (children.length) {\n    for (var i = 0; i < children.length; i++) {\n      insertTreeBefore(node, children[i], null);\n    }\n  } else if (tree.html != null) {\n    setInnerHTML(node, tree.html);\n  } else if (tree.text != null) {\n    setTextContent(node, tree.text);\n  }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n  // DocumentFragments aren't actually part of the DOM after insertion so\n  // appending children won't update the DOM. We need to ensure the fragment\n  // is properly populated first, breaking out of our lazy approach for just\n  // this level. Also, some <object> plugins (like Flash Player) will read\n  // <param> nodes immediately upon insertion into the DOM, so <object>\n  // must also be populated prior to insertion into the DOM.\n  if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n    insertTreeChildren(tree);\n    parentNode.insertBefore(tree.node, referenceNode);\n  } else {\n    parentNode.insertBefore(tree.node, referenceNode);\n    insertTreeChildren(tree);\n  }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n  oldNode.parentNode.replaceChild(newTree.node, oldNode);\n  insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n  if (enableLazy) {\n    parentTree.children.push(childTree);\n  } else {\n    parentTree.node.appendChild(childTree.node);\n  }\n}\n\nfunction queueHTML(tree, html) {\n  if (enableLazy) {\n    tree.html = html;\n  } else {\n    setInnerHTML(tree.node, html);\n  }\n}\n\nfunction queueText(tree, text) {\n  if (enableLazy) {\n    tree.text = text;\n  } else {\n    setTextContent(tree.node, text);\n  }\n}\n\nfunction toString() {\n  return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n  return {\n    node: node,\n    children: [],\n    html: null,\n    text: null,\n    toString: toString\n  };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\n\nmodule.exports = DOMLazyTree;"]}