{"version":3,"sources":["jsdelivr-header.js","/npm/get-pixels@3.2.2/dom-pixels.js"],"names":[],"mappings":"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","file":"/npm/get-pixels@3.2.2/dom-pixels.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/get-pixels@3.2.2/dom-pixels.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\n\nvar path          = require('path')\nvar ndarray       = require('ndarray')\nvar GifReader     = require('omggif').GifReader\nvar pack          = require('ndarray-pack')\nvar through       = require('through')\nvar parseDataURI  = require('data-uri-to-buffer')\n\nfunction defaultImage(url, cb) {\n  var img = new Image()\n  img.crossOrigin = \"Anonymous\"\n  img.onload = function() {\n    var canvas = document.createElement('canvas')\n    canvas.width = img.width\n    canvas.height = img.height\n    var context = canvas.getContext('2d')\n    context.drawImage(img, 0, 0)\n    var pixels = context.getImageData(0, 0, img.width, img.height)\n    cb(null, ndarray(new Uint8Array(pixels.data), [img.width, img.height, 4], [4, 4*img.width, 1], 0))\n  }\n  img.onerror = function(err) {\n    cb(err)\n  }\n  img.src = url\n}\n\n//Animated gif loading\nfunction handleGif(data, cb) {\n  var reader\n  try {\n    reader = new GifReader(data)\n  } catch(err) {\n    cb(err)\n    return\n  }\n  if(reader.numFrames() > 0) {\n    var nshape = [reader.numFrames(), reader.height, reader.width, 4]\n    var ndata = new Uint8Array(nshape[0] * nshape[1] * nshape[2] * nshape[3])\n    var result = ndarray(ndata, nshape)\n    try {\n      for(var i=0; i<reader.numFrames(); ++i) {\n        reader.decodeAndBlitFrameRGBA(i, ndata.subarray(\n          result.index(i, 0, 0, 0),\n          result.index(i+1, 0, 0, 0)))\n      }\n    } catch(err) {\n      cb(err)\n      return\n    }\n    cb(null, result.transpose(0,2,1))\n  } else {\n    var nshape = [reader.height, reader.width, 4]\n    var ndata = new Uint8Array(nshape[0] * nshape[1] * nshape[2])\n    var result = ndarray(ndata, nshape)\n    try {\n      reader.decodeAndBlitFrameRGBA(0, ndata)\n    } catch(err) {\n      cb(err)\n      return\n    }\n    cb(null, result.transpose(1,0))\n  }\n}\n\nfunction httpGif(url, cb) {\n  var xhr          = new XMLHttpRequest()\n  xhr.open('GET', url, true)\n  xhr.responseType = 'arraybuffer'\n  if(xhr.overrideMimeType){\n    xhr.overrideMimeType('application/binary')\n  }\n  xhr.onerror = function(err) {\n    cb(err)\n  }\n  xhr.onload = function() {\n    if(xhr.readyState !== 4) {\n      return\n    }\n    var data = new Uint8Array(xhr.response)\n    handleGif(data, cb)\n    return\n  }\n  xhr.send()\n}\n\nfunction copyBuffer(buffer) {\n  if(buffer[0] === undefined) {\n    var n = buffer.length\n    var result = new Uint8Array(n)\n    for(var i=0; i<n; ++i) {\n      result[i] = buffer.get(i)\n    }\n    return result\n  } else {\n    return new Uint8Array(buffer)\n  }\n}\n\nfunction dataGif(url, cb) {\n  process.nextTick(function() {\n    try {\n      var buffer = parseDataURI(url)\n      if(buffer) {\n        handleGif(copyBuffer(buffer), cb)\n      } else {\n        cb(new Error('Error parsing data URI'))\n      }\n    } catch(err) {\n      cb(err)\n    }\n  })\n}\n\nmodule.exports = function getPixels(url, type, cb) {\n  if(!cb) {\n    cb = type\n    type = ''\n  }\n  var ext = path.extname(url)\n  switch(type || ext.toUpperCase()) {\n    case '.GIF':\n      httpGif(url, cb)\n    break\n    default:\n      if(Buffer.isBuffer(url)) {\n        url = 'data:' + type + ';base64,' + url.toString('base64')\n      }\n      if(url.indexOf('data:image/gif;') === 0) {\n        dataGif(url, cb)\n      } else {\n        defaultImage(url, cb)\n      }\n  }\n}"]}