{"ast":null,"code":"'use strict';\n\nfunction setAndForwardRef(_ref) {\n  var getForwardedRef = _ref.getForwardedRef,\n      setLocalRef = _ref.setLocalRef;\n  return function forwardRef(ref) {\n    var forwardedRef = getForwardedRef();\n    setLocalRef(ref);\n\n    if (typeof forwardedRef === 'function') {\n      forwardedRef(ref);\n    } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n      forwardedRef.current = ref;\n    }\n  };\n}\n\nexport default setAndForwardRef;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/vendor/react-native/Utilities/setAndForwardRef.js"],"names":["setAndForwardRef","_ref","getForwardedRef","setLocalRef","forwardRef","ref","forwardedRef","current"],"mappings":"AASA;;AAgCA,SAASA,gBAAT,CAA0BC,IAA1B,EAAgC;AAC9B,MAAIC,eAAe,GAAGD,IAAI,CAACC,eAA3B;AAAA,MACIC,WAAW,GAAGF,IAAI,CAACE,WADvB;AAEA,SAAO,SAASC,UAAT,CAAoBC,GAApB,EAAyB;AAC9B,QAAIC,YAAY,GAAGJ,eAAe,EAAlC;AACAC,IAAAA,WAAW,CAACE,GAAD,CAAX;;AAEA,QAAI,OAAOC,YAAP,KAAwB,UAA5B,EAAwC;AAEtCA,MAAAA,YAAY,CAACD,GAAD,CAAZ;AACD,KAHD,MAGO,IAAI,OAAOC,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,IAAI,IAAxD,EAA8D;AAEnEA,MAAAA,YAAY,CAACC,OAAb,GAAuBF,GAAvB;AACD;AACF,GAXD;AAYD;;AAED,eAAeL,gBAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n *   class MyView extends React.Component {\n *     _nativeRef = null;\n *\n *     _setNativeRef = setAndForwardRef({\n *       getForwardedRef: () => this.props.forwardedRef,\n *       setLocalRef: ref => {\n *         this._nativeRef = ref;\n *       },\n *     });\n *\n *     render() {\n *       return <View ref={this._setNativeRef} />;\n *     }\n *   }\n *\n *   const MyViewWithRef = React.forwardRef((props, ref) => (\n *     <MyView {...props} forwardedRef={ref} />\n *   ));\n *\n *   module.exports = MyViewWithRef;\n */\nfunction setAndForwardRef(_ref) {\n  var getForwardedRef = _ref.getForwardedRef,\n      setLocalRef = _ref.setLocalRef;\n  return function forwardRef(ref) {\n    var forwardedRef = getForwardedRef();\n    setLocalRef(ref); // Forward to user ref prop (if one has been specified)\n\n    if (typeof forwardedRef === 'function') {\n      // Handle function-based refs. String-based refs are handled as functions.\n      forwardedRef(ref);\n    } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n      // Handle createRef-based refs\n      forwardedRef.current = ref;\n    }\n  };\n}\n\nexport default setAndForwardRef;"]},"metadata":{},"sourceType":"module"}