UNPKG

3.71 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/react/ReactElementSet.js"],"names":["ReactElementSet","constructor","realm","reactEquivalenceSet","add","reactElement","visitedValues","Set","currentMap","reactElementRoot","getKey","result","getEquivalentPropertyValue","map","value","ObjectValue"],"mappings":";;;;;;;AAWA;;AACA;;AACA;;AACA;;;;AAdA;;;;;;;;AAgBO,MAAMA,eAAN,CAAsB;AAC3BC,cAAYC,KAAZ,EAA0BC,mBAA1B,EAAoE;AAClE,SAAKD,KAAL,GAAaA,KAAb;AACA,SAAKC,mBAAL,GAA2BA,mBAA3B;AACD;;AAIDC,MAAIC,YAAJ,EAA+BC,aAA/B,EAA8E;AAC5E,QAAI,CAACA,aAAL,EAAoBA,gBAAgB,IAAIC,GAAJ,EAAhB;AACpB,QAAIJ,sBAAsB,KAAKA,mBAA/B;AACA,QAAIK,aAAaL,oBAAoBM,gBAArC,CAH4E,CAK5E;;AACAD,iBAAaL,oBAAoBO,MAApB,CAA2B,MAA3B,EAAmCF,UAAnC,EAA+CF,aAA/C,CAAb;AACA,QAAIK,SAASR,oBAAoBS,0BAApB,CAA+CP,YAA/C,EAA6D,MAA7D,EAAqEG,UAArE,EAAiFF,aAAjF,CAAb;AACAE,iBAAaG,OAAOE,GAApB,CAR4E,CAS5E;;AACAL,iBAAaL,oBAAoBO,MAApB,CAA2B,KAA3B,EAAkCF,UAAlC,EAA8CF,aAA9C,CAAb;AACAK,aAASR,oBAAoBS,0BAApB,CAA+CP,YAA/C,EAA6D,KAA7D,EAAoEG,UAApE,EAAgFF,aAAhF,CAAT;AACAE,iBAAaG,OAAOE,GAApB,CAZ4E,CAa5E;;AACAL,iBAAaL,oBAAoBO,MAApB,CAA2B,KAA3B,EAAkCF,UAAlC,EAA8CF,aAA9C,CAAb;AACAK,aAASR,oBAAoBS,0BAApB,CAA+CP,YAA/C,EAA6D,KAA7D,EAAoEG,UAApE,EAAgFF,aAAhF,CAAT;AACAE,iBAAaG,OAAOE,GAApB,CAhB4E,CAiB5E;;AACAL,iBAAaL,oBAAoBO,MAApB,CAA2B,OAA3B,EAAoCF,UAApC,EAAgDF,aAAhD,CAAb;AACAK,aAASR,oBAAoBS,0BAApB,CAA+CP,YAA/C,EAA6D,OAA7D,EAAsEG,UAAtE,EAAkFF,aAAlF,CAAT;;AAEA,QAAIK,OAAOG,KAAP,KAAiB,IAArB,EAA2B;AACzBH,aAAOG,KAAP,GAAeT,YAAf;AACD;;AACD,4BAAUM,OAAOG,KAAP,YAAwBC,kBAAlC;AACA,WAAOJ,OAAOG,KAAd;AACD;;AAlC0B","sourcesContent":["/**\n * Copyright (c) 2017-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/* @flow */\n\nimport { Realm } from \"../realm.js\";\nimport { ObjectValue, Value } from \"../values/index.js\";\nimport invariant from \"../invariant.js\";\nimport { ReactEquivalenceSet } from \"./ReactEquivalenceSet.js\";\n\nexport class ReactElementSet {\n constructor(realm: Realm, reactEquivalenceSet: ReactEquivalenceSet) {\n this.realm = realm;\n this.reactEquivalenceSet = reactEquivalenceSet;\n }\n realm: Realm;\n reactEquivalenceSet: ReactEquivalenceSet;\n\n add(reactElement: ObjectValue, visitedValues: Set<Value> | void): ObjectValue {\n if (!visitedValues) visitedValues = new Set();\n let reactEquivalenceSet = this.reactEquivalenceSet;\n let currentMap = reactEquivalenceSet.reactElementRoot;\n\n // type\n currentMap = reactEquivalenceSet.getKey(\"type\", currentMap, visitedValues);\n let result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, \"type\", currentMap, visitedValues);\n currentMap = result.map;\n // key\n currentMap = reactEquivalenceSet.getKey(\"key\", currentMap, visitedValues);\n result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, \"key\", currentMap, visitedValues);\n currentMap = result.map;\n // ref\n currentMap = reactEquivalenceSet.getKey(\"ref\", currentMap, visitedValues);\n result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, \"ref\", currentMap, visitedValues);\n currentMap = result.map;\n // props\n currentMap = reactEquivalenceSet.getKey(\"props\", currentMap, visitedValues);\n result = reactEquivalenceSet.getEquivalentPropertyValue(reactElement, \"props\", currentMap, visitedValues);\n\n if (result.value === null) {\n result.value = reactElement;\n }\n invariant(result.value instanceof ObjectValue);\n return result.value;\n }\n}\n"],"file":"ReactElementSet.js"}
\No newline at end of file