{"ast":null,"code":"var dataUriPattern = /^data:/;\nexport class ImageUriCache {\n  static has(uri) {\n    var entries = ImageUriCache._entries;\n    var isDataUri = dataUriPattern.test(uri);\n    return isDataUri || Boolean(entries[uri]);\n  }\n  static add(uri) {\n    var entries = ImageUriCache._entries;\n    var lastUsedTimestamp = Date.now();\n    if (entries[uri]) {\n      entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n      entries[uri].refCount += 1;\n    } else {\n      entries[uri] = {\n        lastUsedTimestamp,\n        refCount: 1\n      };\n    }\n  }\n  static remove(uri) {\n    var entries = ImageUriCache._entries;\n    if (entries[uri]) {\n      entries[uri].refCount -= 1;\n    }\n    ImageUriCache._cleanUpIfNeeded();\n  }\n  static _cleanUpIfNeeded() {\n    var entries = ImageUriCache._entries;\n    var imageUris = Object.keys(entries);\n    if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n      var leastRecentlyUsedKey;\n      var leastRecentlyUsedEntry;\n      imageUris.forEach(uri => {\n        var entry = entries[uri];\n        if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n          leastRecentlyUsedKey = uri;\n          leastRecentlyUsedEntry = entry;\n        }\n      });\n      if (leastRecentlyUsedKey) {\n        delete entries[leastRecentlyUsedKey];\n      }\n    }\n  }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n  abort(requestId) {\n    var image = requests[\"\" + requestId];\n    if (image) {\n      image.onerror = null;\n      image.onload = null;\n      image = null;\n      delete requests[\"\" + requestId];\n    }\n  },\n  getSize(uri, success, failure) {\n    var complete = false;\n    var interval = setInterval(callback, 16);\n    var requestId = ImageLoader.load(uri, callback, errorCallback);\n    function callback() {\n      var image = requests[\"\" + requestId];\n      if (image) {\n        var naturalHeight = image.naturalHeight,\n          naturalWidth = image.naturalWidth;\n        if (naturalHeight && naturalWidth) {\n          success(naturalWidth, naturalHeight);\n          complete = true;\n        }\n      }\n      if (complete) {\n        ImageLoader.abort(requestId);\n        clearInterval(interval);\n      }\n    }\n    function errorCallback() {\n      if (typeof failure === 'function') {\n        failure();\n      }\n      ImageLoader.abort(requestId);\n      clearInterval(interval);\n    }\n  },\n  has(uri) {\n    return ImageUriCache.has(uri);\n  },\n  load(uri, onLoad, onError) {\n    id += 1;\n    var image = new window.Image();\n    image.onerror = onError;\n    image.onload = e => {\n      var onDecode = () => onLoad({\n        nativeEvent: e\n      });\n      if (typeof image.decode === 'function') {\n        image.decode().then(onDecode, onDecode);\n      } else {\n        setTimeout(onDecode, 0);\n      }\n    };\n    image.src = uri;\n    requests[\"\" + id] = image;\n    return id;\n  },\n  prefetch(uri) {\n    return new Promise((resolve, reject) => {\n      ImageLoader.load(uri, () => {\n        ImageUriCache.add(uri);\n        ImageUriCache.remove(uri);\n        resolve();\n      }, reject);\n    });\n  },\n  queryCache(uris) {\n    var result = {};\n    uris.forEach(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,"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"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-web/dist/modules/ImageLoader/index.js"],"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 */\n\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n  static has(uri) {\n    var entries = ImageUriCache._entries;\n    var isDataUri = dataUriPattern.test(uri);\n    return isDataUri || Boolean(entries[uri]);\n  }\n  static add(uri) {\n    var entries = ImageUriCache._entries;\n    var lastUsedTimestamp = Date.now();\n    if (entries[uri]) {\n      entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n      entries[uri].refCount += 1;\n    } else {\n      entries[uri] = {\n        lastUsedTimestamp,\n        refCount: 1\n      };\n    }\n  }\n  static remove(uri) {\n    var entries = ImageUriCache._entries;\n    if (entries[uri]) {\n      entries[uri].refCount -= 1;\n    }\n    // Free up entries when the cache is \"full\"\n    ImageUriCache._cleanUpIfNeeded();\n  }\n  static _cleanUpIfNeeded() {\n    var entries = ImageUriCache._entries;\n    var imageUris = Object.keys(entries);\n    if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n      var leastRecentlyUsedKey;\n      var leastRecentlyUsedEntry;\n      imageUris.forEach(uri => {\n        var entry = entries[uri];\n        if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n          leastRecentlyUsedKey = uri;\n          leastRecentlyUsedEntry = entry;\n        }\n      });\n      if (leastRecentlyUsedKey) {\n        delete entries[leastRecentlyUsedKey];\n      }\n    }\n  }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n  abort(requestId) {\n    var image = requests[\"\" + requestId];\n    if (image) {\n      image.onerror = null;\n      image.onload = null;\n      image = null;\n      delete requests[\"\" + requestId];\n    }\n  },\n  getSize(uri, success, failure) {\n    var complete = false;\n    var interval = setInterval(callback, 16);\n    var requestId = ImageLoader.load(uri, callback, errorCallback);\n    function callback() {\n      var image = requests[\"\" + requestId];\n      if (image) {\n        var naturalHeight = image.naturalHeight,\n          naturalWidth = image.naturalWidth;\n        if (naturalHeight && naturalWidth) {\n          success(naturalWidth, naturalHeight);\n          complete = true;\n        }\n      }\n      if (complete) {\n        ImageLoader.abort(requestId);\n        clearInterval(interval);\n      }\n    }\n    function errorCallback() {\n      if (typeof failure === 'function') {\n        failure();\n      }\n      ImageLoader.abort(requestId);\n      clearInterval(interval);\n    }\n  },\n  has(uri) {\n    return ImageUriCache.has(uri);\n  },\n  load(uri, onLoad, onError) {\n    id += 1;\n    var image = new window.Image();\n    image.onerror = onError;\n    image.onload = e => {\n      // avoid blocking the main thread\n      var onDecode = () => onLoad({\n        nativeEvent: e\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    image.src = uri;\n    requests[\"\" + id] = image;\n    return id;\n  },\n  prefetch(uri) {\n    return new Promise((resolve, reject) => {\n      ImageLoader.load(uri, () => {\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(uris) {\n    var result = {};\n    uris.forEach(u => {\n      if (ImageUriCache.has(u)) {\n        result[u] = 'disk/memory';\n      }\n    });\n    return Promise.resolve(result);\n  }\n};\nexport default ImageLoader;"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}