{"ast":null,"code":"var dataUriPattern = /^data:/;\nexport var ImageUriCache = function () {\n  function ImageUriCache() {}\n\n  ImageUriCache.has = function has(uri) {\n    var entries = ImageUriCache._entries;\n    var isDataUri = dataUriPattern.test(uri);\n    return isDataUri || Boolean(entries[uri]);\n  };\n\n  ImageUriCache.add = function add(uri) {\n    var entries = ImageUriCache._entries;\n    var lastUsedTimestamp = Date.now();\n\n    if (entries[uri]) {\n      entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n      entries[uri].refCount += 1;\n    } else {\n      entries[uri] = {\n        lastUsedTimestamp: lastUsedTimestamp,\n        refCount: 1\n      };\n    }\n  };\n\n  ImageUriCache.remove = function remove(uri) {\n    var entries = ImageUriCache._entries;\n\n    if (entries[uri]) {\n      entries[uri].refCount -= 1;\n    }\n\n    ImageUriCache._cleanUpIfNeeded();\n  };\n\n  ImageUriCache._cleanUpIfNeeded = function _cleanUpIfNeeded() {\n    var entries = ImageUriCache._entries;\n    var imageUris = Object.keys(entries);\n\n    if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n      var leastRecentlyUsedKey;\n      var leastRecentlyUsedEntry;\n      imageUris.forEach(function (uri) {\n        var entry = entries[uri];\n\n        if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n          leastRecentlyUsedKey = uri;\n          leastRecentlyUsedEntry = entry;\n        }\n      });\n\n      if (leastRecentlyUsedKey) {\n        delete entries[leastRecentlyUsedKey];\n      }\n    }\n  };\n\n  return ImageUriCache;\n}();\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n  abort: function abort(requestId) {\n    var image = requests[\"\" + requestId];\n\n    if (image) {\n      image.onerror = null;\n      image.onload = null;\n      image = null;\n      delete requests[\"\" + requestId];\n    }\n  },\n  getSize: function getSize(uri, success, failure) {\n    var complete = false;\n    var interval = setInterval(callback, 16);\n    var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n    function callback() {\n      var image = requests[\"\" + requestId];\n\n      if (image) {\n        var naturalHeight = image.naturalHeight,\n            naturalWidth = image.naturalWidth;\n\n        if (naturalHeight && naturalWidth) {\n          success(naturalWidth, naturalHeight);\n          complete = true;\n        }\n      }\n\n      if (complete) {\n        ImageLoader.abort(requestId);\n        clearInterval(interval);\n      }\n    }\n\n    function errorCallback() {\n      if (typeof failure === 'function') {\n        failure();\n      }\n\n      ImageLoader.abort(requestId);\n      clearInterval(interval);\n    }\n  },\n  has: function has(uri) {\n    return ImageUriCache.has(uri);\n  },\n  load: function load(uri, onLoad, onError) {\n    id += 1;\n    var image = new window.Image();\n    image.onerror = onError;\n\n    image.onload = function (e) {\n      var onDecode = function onDecode() {\n        return onLoad({\n          nativeEvent: e\n        });\n      };\n\n      if (typeof image.decode === 'function') {\n        image.decode().then(onDecode, onDecode);\n      } else {\n        setTimeout(onDecode, 0);\n      }\n    };\n\n    image.src = uri;\n    requests[\"\" + id] = image;\n    return id;\n  },\n  prefetch: function prefetch(uri) {\n    return new Promise(function (resolve, reject) {\n      ImageLoader.load(uri, function () {\n        ImageUriCache.add(uri);\n        ImageUriCache.remove(uri);\n        resolve();\n      }, reject);\n    });\n  },\n  queryCache: function queryCache(uris) {\n    var result = {};\n    uris.forEach(function (u) {\n      if (ImageUriCache.has(u)) {\n        result[u] = 'disk/memory';\n      }\n    });\n    return Promise.resolve(result);\n  }\n};\nexport default ImageLoader;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/modules/ImageLoader/index.js"],"names":["dataUriPattern","ImageUriCache","has","uri","entries","_entries","isDataUri","test","Boolean","add","lastUsedTimestamp","Date","now","refCount","remove","_cleanUpIfNeeded","imageUris","Object","keys","length","_maximumEntries","leastRecentlyUsedKey","leastRecentlyUsedEntry","forEach","entry","id","requests","ImageLoader","abort","requestId","image","onerror","onload","getSize","success","failure","complete","interval","setInterval","callback","load","errorCallback","naturalHeight","naturalWidth","clearInterval","onLoad","onError","window","Image","e","onDecode","nativeEvent","decode","then","setTimeout","src","prefetch","Promise","resolve","reject","queryCache","uris","result","u"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar dataUriPattern = /^data:/;\nexport var ImageUriCache = /*#__PURE__*/function () {\n  function ImageUriCache() {}\n\n  ImageUriCache.has = function has(uri) {\n    var entries = ImageUriCache._entries;\n    var isDataUri = dataUriPattern.test(uri);\n    return isDataUri || Boolean(entries[uri]);\n  };\n\n  ImageUriCache.add = function add(uri) {\n    var entries = ImageUriCache._entries;\n    var lastUsedTimestamp = Date.now();\n\n    if (entries[uri]) {\n      entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n      entries[uri].refCount += 1;\n    } else {\n      entries[uri] = {\n        lastUsedTimestamp: lastUsedTimestamp,\n        refCount: 1\n      };\n    }\n  };\n\n  ImageUriCache.remove = function remove(uri) {\n    var entries = ImageUriCache._entries;\n\n    if (entries[uri]) {\n      entries[uri].refCount -= 1;\n    } // Free up entries when the cache is \"full\"\n\n\n    ImageUriCache._cleanUpIfNeeded();\n  };\n\n  ImageUriCache._cleanUpIfNeeded = function _cleanUpIfNeeded() {\n    var entries = ImageUriCache._entries;\n    var imageUris = Object.keys(entries);\n\n    if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n      var leastRecentlyUsedKey;\n      var leastRecentlyUsedEntry;\n      imageUris.forEach(function (uri) {\n        var entry = entries[uri];\n\n        if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n          leastRecentlyUsedKey = uri;\n          leastRecentlyUsedEntry = entry;\n        }\n      });\n\n      if (leastRecentlyUsedKey) {\n        delete entries[leastRecentlyUsedKey];\n      }\n    }\n  };\n\n  return ImageUriCache;\n}();\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n  abort: function abort(requestId) {\n    var image = requests[\"\" + requestId];\n\n    if (image) {\n      image.onerror = null;\n      image.onload = null;\n      image = null;\n      delete requests[\"\" + requestId];\n    }\n  },\n  getSize: function getSize(uri, success, failure) {\n    var complete = false;\n    var interval = setInterval(callback, 16);\n    var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n    function callback() {\n      var image = requests[\"\" + requestId];\n\n      if (image) {\n        var naturalHeight = image.naturalHeight,\n            naturalWidth = image.naturalWidth;\n\n        if (naturalHeight && naturalWidth) {\n          success(naturalWidth, naturalHeight);\n          complete = true;\n        }\n      }\n\n      if (complete) {\n        ImageLoader.abort(requestId);\n        clearInterval(interval);\n      }\n    }\n\n    function errorCallback() {\n      if (typeof failure === 'function') {\n        failure();\n      }\n\n      ImageLoader.abort(requestId);\n      clearInterval(interval);\n    }\n  },\n  has: function has(uri) {\n    return ImageUriCache.has(uri);\n  },\n  load: function load(uri, onLoad, onError) {\n    id += 1;\n    var image = new window.Image();\n    image.onerror = onError;\n\n    image.onload = function (e) {\n      // avoid blocking the main thread\n      var onDecode = function onDecode() {\n        return onLoad({\n          nativeEvent: e\n        });\n      };\n\n      if (typeof image.decode === 'function') {\n        // Safari currently throws exceptions when decoding svgs.\n        // We want to catch that error and allow the load handler\n        // to be forwarded to the onLoad handler in this case\n        image.decode().then(onDecode, onDecode);\n      } else {\n        setTimeout(onDecode, 0);\n      }\n    };\n\n    image.src = uri;\n    requests[\"\" + id] = image;\n    return id;\n  },\n  prefetch: function prefetch(uri) {\n    return new Promise(function (resolve, reject) {\n      ImageLoader.load(uri, function () {\n        // Add the uri to the cache so it can be immediately displayed when used\n        // but also immediately remove it to correctly reflect that it has no active references\n        ImageUriCache.add(uri);\n        ImageUriCache.remove(uri);\n        resolve();\n      }, reject);\n    });\n  },\n  queryCache: function queryCache(uris) {\n    var result = {};\n    uris.forEach(function (u) {\n      if (ImageUriCache.has(u)) {\n        result[u] = 'disk/memory';\n      }\n    });\n    return Promise.resolve(result);\n  }\n};\nexport default ImageLoader;"]},"metadata":{},"sourceType":"module"}