{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar initialURL = canUseDOM ? window.location.href : '';\n\nvar Linking = function () {\n  function Linking() {\n    var _this = this;\n\n    this._eventCallbacks = {};\n\n    this.addEventListener = function (event, callback) {\n      if (!_this._eventCallbacks[event]) {\n        _this._eventCallbacks[event] = [callback];\n        return;\n      }\n\n      _this._eventCallbacks[event].push(callback);\n    };\n\n    this.removeEventListener = function (event, callback) {\n      var callbacks = _this._eventCallbacks[event];\n      var filteredCallbacks = callbacks.filter(function (c) {\n        return c.toString() !== callback.toString();\n      });\n      _this._eventCallbacks[event] = filteredCallbacks;\n    };\n  }\n\n  var _proto = Linking.prototype;\n\n  _proto._dispatchEvent = function _dispatchEvent(event) {\n    for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      data[_key - 1] = arguments[_key];\n    }\n\n    var listeners = this._eventCallbacks[event];\n\n    if (listeners != null && Array.isArray(listeners)) {\n      listeners.map(function (listener) {\n        listener.apply(void 0, data);\n      });\n    }\n  };\n\n  _proto.canOpenURL = function canOpenURL() {\n    return Promise.resolve(true);\n  };\n\n  _proto.getInitialURL = function getInitialURL() {\n    return Promise.resolve(initialURL);\n  };\n\n  _proto.openURL = function openURL(url) {\n    try {\n      open(url);\n\n      this._dispatchEvent('onOpen', url);\n\n      return Promise.resolve();\n    } catch (e) {\n      return Promise.reject(e);\n    }\n  };\n\n  _proto._validateURL = function _validateURL(url) {\n    invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n    invariant(url, 'Invalid URL: cannot be empty');\n  };\n\n  return Linking;\n}();\n\nvar open = function open(url) {\n  if (canUseDOM) {\n    var urlToOpen = new URL(url, window.location).toString();\n    window.open(urlToOpen, '_blank', 'noopener');\n  }\n};\n\nexport default new Linking();","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/exports/Linking/index.js"],"names":["canUseDOM","invariant","initialURL","window","location","href","Linking","_this","_eventCallbacks","addEventListener","event","callback","push","removeEventListener","callbacks","filteredCallbacks","filter","c","toString","_proto","prototype","_dispatchEvent","_len","arguments","length","data","Array","_key","listeners","isArray","map","listener","apply","canOpenURL","Promise","resolve","getInitialURL","openURL","url","open","e","reject","_validateURL","urlToOpen","URL"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar initialURL = canUseDOM ? window.location.href : '';\n\nvar Linking = /*#__PURE__*/function () {\n  function Linking() {\n    var _this = this;\n\n    this._eventCallbacks = {};\n\n    this.addEventListener = function (event, callback) {\n      if (!_this._eventCallbacks[event]) {\n        _this._eventCallbacks[event] = [callback];\n        return;\n      }\n\n      _this._eventCallbacks[event].push(callback);\n    };\n\n    this.removeEventListener = function (event, callback) {\n      var callbacks = _this._eventCallbacks[event];\n      var filteredCallbacks = callbacks.filter(function (c) {\n        return c.toString() !== callback.toString();\n      });\n      _this._eventCallbacks[event] = filteredCallbacks;\n    };\n  }\n\n  var _proto = Linking.prototype;\n\n  _proto._dispatchEvent = function _dispatchEvent(event) {\n    for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      data[_key - 1] = arguments[_key];\n    }\n\n    var listeners = this._eventCallbacks[event];\n\n    if (listeners != null && Array.isArray(listeners)) {\n      listeners.map(function (listener) {\n        listener.apply(void 0, data);\n      });\n    }\n  }\n  /**\n   * Adds a event listener for the specified event. The callback will be called when the\n   * said event is dispatched.\n   */\n  ;\n\n  _proto.canOpenURL = function canOpenURL() {\n    return Promise.resolve(true);\n  };\n\n  _proto.getInitialURL = function getInitialURL() {\n    return Promise.resolve(initialURL);\n  }\n  /**\n   * Try to open the given url in a secure fashion. The method returns a Promise object.\n   * If the url opens, the promise is resolved. If not, the promise is rejected.\n   * Dispatches the `onOpen` event if `url` is opened successfully\n   */\n  ;\n\n  _proto.openURL = function openURL(url) {\n    try {\n      open(url);\n\n      this._dispatchEvent('onOpen', url);\n\n      return Promise.resolve();\n    } catch (e) {\n      return Promise.reject(e);\n    }\n  };\n\n  _proto._validateURL = function _validateURL(url) {\n    invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n    invariant(url, 'Invalid URL: cannot be empty');\n  };\n\n  return Linking;\n}();\n\nvar open = function open(url) {\n  if (canUseDOM) {\n    var urlToOpen = new URL(url, window.location).toString();\n    window.open(urlToOpen, '_blank', 'noopener');\n  }\n};\n\nexport default new Linking();"]},"metadata":{},"sourceType":"module"}