UNPKG

rn-web-cli

Version:

React Native for Web

1 lines 13.9 kB
{"version":3,"sources":["node_modules\\react-dom\\lib\\DOMChildrenOperations.js"],"names":["DOMLazyTree","require","Danger","ReactDOMComponentTree","ReactInstrumentation","createMicrosoftUnsafeLocalFunction","setInnerHTML","setTextContent","getNodeAfter","parentNode","node","Array","isArray","nextSibling","firstChild","insertChildAt","childNode","referenceNode","insertBefore","insertLazyTreeChildAt","childTree","insertTreeBefore","moveChild","moveDelimitedText","removeChild","closingComment","removeDelimitedText","openingComment","nextNode","startNode","replaceDelimitedText","stringText","nodeAfterComment","document","createTextNode","process","env","NODE_ENV","debugTool","onHostOperation","instanceID","getInstanceFromNode","_debugID","type","payload","dangerouslyReplaceNodeWithMarkup","oldChild","markup","prevInstance","toString","nextInstance","DOMChildrenOperations","processUpdates","updates","parentNodeDebugID","k","length","update","content","afterNode","toIndex","fromNode","fromIndex","module","exports"],"mappings":"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","file":"DOMChildrenOperations.js","sourceRoot":"D:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2013-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 DOMLazyTree = require('./DOMLazyTree');\nvar Danger = require('./Danger');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\n\nfunction getNodeAfter(parentNode, node) {\n // Special case for text components, which return [open, close] comments\n // from getHostNode.\n if (Array.isArray(node)) {\n node = node[1];\n }\n return node ? node.nextSibling : parentNode.firstChild;\n}\n\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n // We rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n // we are careful to use `null`.)\n parentNode.insertBefore(childNode, referenceNode);\n});\n\nfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n}\n\nfunction moveChild(parentNode, childNode, referenceNode) {\n if (Array.isArray(childNode)) {\n moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n } else {\n insertChildAt(parentNode, childNode, referenceNode);\n }\n}\n\nfunction removeChild(parentNode, childNode) {\n if (Array.isArray(childNode)) {\n var closingComment = childNode[1];\n childNode = childNode[0];\n removeDelimitedText(parentNode, childNode, closingComment);\n parentNode.removeChild(closingComment);\n }\n parentNode.removeChild(childNode);\n}\n\nfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n var node = openingComment;\n while (true) {\n var nextNode = node.nextSibling;\n insertChildAt(parentNode, node, referenceNode);\n if (node === closingComment) {\n break;\n }\n node = nextNode;\n }\n}\n\nfunction removeDelimitedText(parentNode, startNode, closingComment) {\n while (true) {\n var node = startNode.nextSibling;\n if (node === closingComment) {\n // The closing comment is removed by ReactMultiChild.\n break;\n } else {\n parentNode.removeChild(node);\n }\n }\n}\n\nfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n var parentNode = openingComment.parentNode;\n var nodeAfterComment = openingComment.nextSibling;\n if (nodeAfterComment === closingComment) {\n // There are no text nodes between the opening and closing comments; insert\n // a new one if stringText isn't empty.\n if (stringText) {\n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n }\n } else {\n if (stringText) {\n // Set the text content of the first node after the opening comment, and\n // remove all following nodes up until the closing comment.\n setTextContent(nodeAfterComment, stringText);\n removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n } else {\n removeDelimitedText(parentNode, openingComment, closingComment);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID,\n type: 'replace text',\n payload: stringText\n });\n }\n}\n\nvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\nif (process.env.NODE_ENV !== 'production') {\n dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {\n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n if (prevInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: prevInstance._debugID,\n type: 'replace with',\n payload: markup.toString()\n });\n } else {\n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n if (nextInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: nextInstance._debugID,\n type: 'mount',\n payload: markup.toString()\n });\n }\n }\n };\n}\n\n/**\n * Operations for updating with DOM children.\n */\nvar DOMChildrenOperations = {\n dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n\n replaceDelimitedText: replaceDelimitedText,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array<object>} updates List of update configurations.\n * @internal\n */\n processUpdates: function (parentNode, updates) {\n if (process.env.NODE_ENV !== 'production') {\n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n }\n\n for (var k = 0; k < updates.length; k++) {\n var update = updates[k];\n switch (update.type) {\n case 'INSERT_MARKUP':\n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'insert child',\n payload: {\n toIndex: update.toIndex,\n content: update.content.toString()\n }\n });\n }\n break;\n case 'MOVE_EXISTING':\n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'move child',\n payload: { fromIndex: update.fromIndex, toIndex: update.toIndex }\n });\n }\n break;\n case 'SET_MARKUP':\n setInnerHTML(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace children',\n payload: update.content.toString()\n });\n }\n break;\n case 'TEXT_CONTENT':\n setTextContent(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace text',\n payload: update.content.toString()\n });\n }\n break;\n case 'REMOVE_NODE':\n removeChild(parentNode, update.fromNode);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'remove child',\n payload: { fromIndex: update.fromIndex }\n });\n }\n break;\n }\n }\n }\n};\n\nmodule.exports = DOMChildrenOperations;"]}