{"version":3,"sources":["node_modules\\fbjs\\lib\\createNodesFromMarkup.js"],"names":["ExecutionEnvironment","require","createArrayFromMixed","getMarkupWrap","invariant","dummyNode","canUseDOM","document","createElement","nodeNamePattern","getNodeName","markup","nodeNameMatch","match","toLowerCase","createNodesFromMarkup","handleScript","node","process","env","NODE_ENV","nodeName","wrap","innerHTML","wrapDepth","lastChild","scripts","getElementsByTagName","length","forEach","nodes","Array","from","childNodes","removeChild","module","exports"],"mappings":"AAAA;;;;;;;;;;;;;;;AAeA,GAAIA,sBAAuBC,QAAQ,wBAAR,CAA3B;;AAEA,GAAIC,sBAAuBD,QAAQ,wBAAR,CAA3B;AACA,GAAIE,eAAgBF,QAAQ,iBAAR,CAApB;AACA,GAAIG,WAAYH,QAAQ,aAAR,CAAhB;;;;;AAKA,GAAII,WAAYL,qBAAqBM,SAArB,CAAiCC,SAASC,aAAT,CAAuB,KAAvB,CAAjC,CAAiE,IAAjF;;;;;AAKA,GAAIC,iBAAkB,YAAtB;;;;;;;;AAQA,QAASC,YAAT,CAAqBC,MAArB,CAA6B;AAC3B,GAAIC,eAAgBD,OAAOE,KAAP,CAAaJ,eAAb,CAApB;AACA,MAAOG,gBAAiBA,cAAc,CAAd,EAAiBE,WAAjB,EAAxB;AACD;;;;;;;;;;;;AAYD,QAASC,sBAAT,CAA+BJ,MAA/B,CAAuCK,YAAvC,CAAqD;AACnD,GAAIC,MAAOZ,SAAX;AACA,CAAC,CAAC,CAACA,SAAH,CAAea,QAAQC,GAAR,CAAYC,QAAZ,GAAyB,YAAzB,CAAwChB,UAAU,KAAV,CAAiB,6CAAjB,CAAxC,CAA0GA,UAAU,KAAV,CAAzH,CAA4I,IAAK,EAAjJ;AACA,GAAIiB,UAAWX,YAAYC,MAAZ,CAAf;;AAEA,GAAIW,MAAOD,UAAYlB,cAAckB,QAAd,CAAvB;AACA,GAAIC,IAAJ,CAAU;AACRL,KAAKM,SAAL,CAAiBD,KAAK,CAAL,EAAUX,MAAV,CAAmBW,KAAK,CAAL,CAApC;;AAEA,GAAIE,WAAYF,KAAK,CAAL,CAAhB;AACA,MAAOE,WAAP,CAAoB;AAClBP,KAAOA,KAAKQ,SAAZ;AACD;AACF,CAPD,IAOO;AACLR,KAAKM,SAAL,CAAiBZ,MAAjB;AACD;;AAED,GAAIe,SAAUT,KAAKU,oBAAL,CAA0B,QAA1B,CAAd;AACA,GAAID,QAAQE,MAAZ,CAAoB;AAClB,CAACZ,YAAD,CAAgBE,QAAQC,GAAR,CAAYC,QAAZ,GAAyB,YAAzB,CAAwChB,UAAU,KAAV,CAAiB,mEAAjB,CAAxC,CAAgIA,UAAU,KAAV,CAAhJ,CAAmK,IAAK,EAAxK;AACAF,qBAAqBwB,OAArB,EAA8BG,OAA9B,CAAsCb,YAAtC;AACD;;AAED,GAAIc,OAAQC,MAAMC,IAAN,CAAWf,KAAKgB,UAAhB,CAAZ;AACA,MAAOhB,KAAKQ,SAAZ,CAAuB;AACrBR,KAAKiB,WAAL,CAAiBjB,KAAKQ,SAAtB;AACD;AACD,MAAOK,MAAP;AACD;;AAEDK,OAAOC,OAAP,CAAiBrB,qBAAjB","file":"createNodesFromMarkup.js","sourceRoot":"d:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["'use strict';\n\n/**\n * Copyright (c) 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 * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar getMarkupWrap = require('./getMarkupWrap');\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n  var nodeNameMatch = markup.match(nodeNamePattern);\n  return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n * <script> element that is rendered. If no `handleScript` function is supplied,\n * an exception is thrown if any <script> elements are rendered.\n *\n * @param {string} markup A string of valid HTML markup.\n * @param {?function} handleScript Invoked once for each rendered <script>.\n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n */\nfunction createNodesFromMarkup(markup, handleScript) {\n  var node = dummyNode;\n  !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;\n  var nodeName = getNodeName(markup);\n\n  var wrap = nodeName && getMarkupWrap(nodeName);\n  if (wrap) {\n    node.innerHTML = wrap[1] + markup + wrap[2];\n\n    var wrapDepth = wrap[0];\n    while (wrapDepth--) {\n      node = node.lastChild;\n    }\n  } else {\n    node.innerHTML = markup;\n  }\n\n  var scripts = node.getElementsByTagName('script');\n  if (scripts.length) {\n    !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0;\n    createArrayFromMixed(scripts).forEach(handleScript);\n  }\n\n  var nodes = Array.from(node.childNodes);\n  while (node.lastChild) {\n    node.removeChild(node.lastChild);\n  }\n  return nodes;\n}\n\nmodule.exports = createNodesFromMarkup;"]}