Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@loaders.gl/images

Package Overview
Dependencies
Maintainers
9
Versions
326
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@loaders.gl/images - npm Package Compare versions

Comparing version 1.3.3 to 2.0.0-alpha.1

dist/es5/image-loaders.js

2

dist/dist.min.js

@@ -1,1 +0,1 @@

!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t,n){"use strict";(function(e,r){n.d(t,"a",function(){return i});"object"!=typeof e||"[object process]"!==String(e)||e.browser;const o={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==r&&r},i=o.global||o.self||o.window}).call(this,n(3),n(1))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(t){const r=n(4),o="undefined"==typeof window?t:window;o.loaders=o.loaders||{},e.exports=Object.assign(o.loaders,r)}).call(this,n(1))},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var c,f=[],s=!1,d=-1;function g(){s&&c&&(s=!1,c.length?f=c.concat(f):d=-1,f.length&&l())}function l(){if(!s){var e=u(g);s=!0;for(var t=f.length;t;){for(c=f,f=[];++d<t;)c&&c[d].run();d=-1,t=f.length}c=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];f.push(new p(e,t)),1!==f.length||s||u(l)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){"use strict";n.r(t);var r=n(0);const o=!1,i=!0,a=new Map([["image/png",{test:function(e){return e.byteLength>=24&&2303741511===e.getUint32(0,o)},getSize:function(e){return{width:e.getUint32(16,o),height:e.getUint32(20,o)}}}],["image/jpeg",{test:function(e){return e.byteLength>=3&&65496===e.getUint16(0,o)&&255===e.getUint8(2,o)},getSize:function(e){if(e.byteLength<2||65496!==e.getUint16(0,o))return null;const{tableMarkers:t,sofMarkers:n}=function(){const e=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)e.add(t);const t=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:t}}();let r=2;for(;r<e.byteLength;){const i=e.getUint16(r,o);if(n.has(i))return{height:e.getUint16(r+5,o),width:e.getUint16(r+7,o)};if(!t.has(i))return null;r+=2,r+=e.getUint16(r,o)}return null}}],["image/gif",{test:function(e){return e.byteLength>=10&&1195984440===e.getUint32(0,o)},getSize:function(e){return{width:e.getUint16(6,i),height:e.getUint16(8,i)}}}],["image/bmp",{test:function(e){return e.byteLength>=2&&16973===e.getUint16(0,o)},getSize:function(e){return{width:e.getUint32(18,i),height:e.getUint32(22,i)}}}]]);const u=`Invalid MIME type. Supported MIME types are: ${Array.from(a.keys()).join(", ")}`;function c(e,t){if(t){const{test:n}=g(t);return n(l(e))}return Boolean(f(e))}function f(e){const t=l(e);for(const[e,{test:n}]of a.entries())if(n(t))return e;return null}function s(e,t=null){t=t||f(e);const{getSize:n}=g(t),r=n(l(e));if(!r)throw new Error(`invalid image data for type: ${t}`);return r}function d(e,t=null){const n=s(e,t=t||f(e));return n.mimeType=t,n}function g(e){const t=a.get(e);if(!t)throw new Error(u);return t}function l(e){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return new DataView(e.buffer||e);throw new Error("toDataView")}function p(e,t){if(r.a._parseImageNode){const{mimeType:n}=d(e);return r.a._parseImageNode(e,n,t)}return w(e,t)}async function m(e,t={}){if("undefined"==typeof Image){const n=await fetch(e,t);return p(await n.arrayBuffer(),t)}return await h(e,t)}function w(e,t){if("undefined"==typeof createImageBitmap)throw new Error("parseImage");const n=new Blob([new Uint8Array(e)]);return createImageBitmap(n)}async function h(e,t){let n;if(/\.svg((\?|#).*)?$/.test(e)){const r=await fetch(e,t),o=await r.text();n=`data:image/svg+xml;base64,${btoa(o)}`}else n=await e;return await new Promise((r,o)=>{try{const i=new Image;i.onload=()=>r(i),i.onerror=t=>o(new Error(`Could not load image ${e}: ${t}`)),i.crossOrigin=t&&t.crossOrigin||"anonymous",i.src=n}catch(e){o(e)}})}const y=["png","jpg","jpeg","gif","webp","bmp","ico","svg"];var b={name:"Images",extensions:y,parse:(r.a._parseImageNode||"undefined"!=typeof ImageBitmap)&&p,loadAndParse:"undefined"!=typeof Image&&h};const v={extensions:y,parse:w},I={extensions:y,loadAndParse:h};var T={name:"Images",extensions:["jpeg"],encode:function(e,t){if(r.a._encodeImageNode)return r.a._encodeImageNode(e,t);if(e instanceof HTMLCanvasElement){return e.toDataURL(t)}!function(e,t){if(!e)throw new Error(t||"@loaders.gl/images assertion failed.")}(e instanceof Image,"getImageData accepts image or canvas");const n=document.createElement("canvas");n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0);const o=n.toDataURL(t||"png").replace(/^data:image\/(png|jpg);base64,/,"");return Promise.resolve(o)},DEFAULT_OPTIONS:{type:"png"}};function U(e,{mimeType:t="image/jpeg"}){const n=new Blob([e],{type:t}),r=(window.URL||window.webkitURL).createObjectURL(n);return new Promise((e,t)=>{const n=new Image;return n.onload=()=>e(n),n.onerror=t,n.src=r,n})}n.d(t,"ImageLoader",function(){return b}),n.d(t,"HTMLImageLoader",function(){return I}),n.d(t,"ImageBitmapLoader",function(){return v}),n.d(t,"ImageWriter",function(){return T}),n.d(t,"loadImage",function(){return m}),n.d(t,"isImage",function(){return c}),n.d(t,"getImageMetadata",function(){return d}),n.d(t,"getImageMIMEType",function(){return f}),n.d(t,"getImageSize",function(){return s}),n.d(t,"decodeImage",function(){return U})}])});
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){"use strict";(function(e,r){n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return s}));const o="object"!=typeof e||"[object process]"!==String(e)||e.browser,i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==r&&r,document:"undefined"!=typeof document&&document},s=i.global||i.self||i.window,a=void 0!==e&&e.version&&e.version.match(/v([0-9]*)/);a&&parseFloat(a[1])}).call(this,n(4),n(2))},function(e,t,n){"use strict";(function(e,r){n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return s}));const o="object"!=typeof e||"[object process]"!==String(e)||e.browser,i=("undefined"!=typeof self&&self,"undefined"!=typeof window&&window,"undefined"!=typeof document&&document,void 0!==e&&e.version&&e.version.match(/v([0-9]*)/)),s=i&&parseFloat(i[1])||0}).call(this,n(4),n(2))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var u,c=[],f=!1,l=-1;function d(){f&&u&&(f=!1,u.length?c=u.concat(c):l=-1,c.length&&g())}function g(){if(!f){var e=a(d);f=!0;for(var t=c.length;t;){for(u=c,c=[];++l<t;)u&&u[l].run();l=-1,t=c.length}u=null,f=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function y(e,t){this.fun=e,this.array=t}function p(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new y(e,t)),1!==c.length||f||a(g)},y.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=p,o.addListener=p,o.once=p,o.off=p,o.removeListener=p,o.removeAllListeners=p,o.emit=p,o.prependListener=p,o.prependOnceListener=p,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(t){const r=n(6),o="undefined"==typeof window?t:window;o.loaders=o.loaders||{},e.exports=Object.assign(o.loaders,r)}).call(this,n(2))},function(e,t,n){"use strict";n.r(t);const r=e=>"undefined"!=typeof Response&&e instanceof Response||e.arrayBuffer&&e.text&&e.json,o=e=>(e=>"undefined"!=typeof File&&e instanceof File)(e)||(e=>"undefined"!=typeof Blob&&e instanceof Blob)(e);let i="";const s={};function a(e,t){if(!e)throw new Error(t||"loader assertion failed.")}class u{constructor(e){this._fileOrBlob=e,this.bodyUsed=!1}get headers(){return new Headers({"Content-Length":this._fileOrBlob.size,"Content-Type":this._fileOrBlob.type})}get ok(){return!0}get status(){return 200}get url(){return this._fileOrBlob.name||""}async arrayBuffer(){const{reader:e,promise:t}=this._getFileReader();return e.readAsArrayBuffer(this._fileOrBlob),t}async text(){const{reader:e,promise:t}=this._getFileReader();return e.readAsText(this._fileOrBlob),t}async json(){const e=await this.text();return JSON.parse(e)}_getFileReader(){let e;a(!this.bodyUsed),this.bodyUsed=!0;const t=new Promise((t,n)=>{try{(e=new FileReader).onerror=e=>n(new Error(e)),e.onabort=()=>n(new Error("Read aborted.")),e.onload=()=>t(e.result)}catch(e){n(e)}});return{reader:e,promise:t}}}function c(e,t){return Promise.resolve(new u(e,t))}async function f(e,t){return o(e)?c(e,t):(e=function(e){for(const t in s)if(e.startsWith(t)){const n=s[t];return e.replace(t,n)}return e+=i}(e),fetch(e,t))}function l(e){if(!e)return!1;return Array.isArray(e)&&(e=e[0]),e.parseTextSync||e.parseSync||e.parse||e.parseStream||e.parseInBatches||e.worker}function d(e){let t;return a(l(e),"invalid loader"),Array.isArray(e)&&(t=e[1],e=e[0],e={...e,options:{...e.options,...t}}),e.extension&&(e.extensions=e.extensions||e.extension,delete e.extension),Array.isArray(e.extensions)||(e.extensions=[e.extensions]),a(e.extensions&&e.extensions.length>0&&e.extensions[0]),e.parseTextSync&&(e.text=!0),e.text||(e.binary=!0),e}class g{log(){return e=>{}}info(){return e=>{}}warn(){return e=>{}}error(){return e=>{}}}const y={log:new class{constructor(){this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}}},p=e=>e&&"object"==typeof e&&e.constructor==={}.constructor;n(1);const h="Cannot convert supplied data type";async function m(e,t){const n=(e=await e)instanceof ArrayBuffer||ArrayBuffer.isView(e);if("string"==typeof e||n)return function(e,t){if(t.text&&"string"==typeof e)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){const n=e.buffer||e;if(t.text&&!t.binary){return new TextDecoder("utf8").decode(n)}return n}throw new Error(h)}(e,t);if(o(e)&&(e=await c(e)),r(e))return await async function(e){if(!e.ok){let t=`fetch failed ${e.status} `;try{t+=await e.text()}catch(e){}throw new Error(t)}}(e),t.binary?await e.arrayBuffer():await e.text();throw new Error(h)}var w=n(3);function b(e){if(w.toArrayBuffer&&(e=Object(w.toArrayBuffer)(e)),e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.buffer;if("string"==typeof e){const t=e;return(new TextEncoder).encode(t).buffer}return a(!1)}function x(e,t=!0,n=[]){if(e){if(e instanceof ArrayBuffer)n.push(e);else if(e.buffer&&e.buffer instanceof ArrayBuffer)n.push(e.buffer);else if(t&&"object"==typeof e)for(const r in e)x(e[r],t,n)}else;return n}const v=new Map;let A=0;function j({data:e,resolve:t}){t(e)}class T{constructor({source:e,name:t=`web-worker-${A++}`,onMessage:n}){const r=function(e){if(a("string"==typeof e,"worker source"),e.startsWith("url(")&&e.endsWith(")"))return e.match(/^url\((.*)\)$/)[1];let t=v.get(e);if(!t){const n=new Blob([e],{type:"application/javascript"});t=URL.createObjectURL(n),v.set(e,t)}return t}(e);this.worker=new Worker(r,{name:t}),this.name=t,this.onMessage=n||j}async process(e){return new Promise((t,n)=>{this.worker.onmessage=e=>this.onMessage({worker:this.worker,data:e.data,resolve:t,reject:n}),this.worker.onerror=e=>n(e);const r=x(e);this.worker.postMessage(e,r)})}destroy(){this.worker.terminate(),this.worker=null}}class k{constructor({source:e,name:t="unnamed",maxConcurrency:n=1,onMessage:r,onDebug:o=(()=>{})}){this.source=e,this.name=t,this.maxConcurrency=n,this.onMessage=r,this.onDebug=o,this.jobQueue=[],this.idleQueue=[],this.count=0,this.isDestroyed=!1}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}async process(e,t){return new Promise((n,r)=>{this.jobQueue.push({data:e,jobName:t,resolve:n,reject:r}),this._startQueuedJob()})}_startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();this.onDebug({message:"processing",worker:e.name,job:t.jobName,backlog:this.jobQueue.length}),e.process(t.data).then(e=>t.resolve(e)).catch(e=>t.reject(e)).then(()=>this._onWorkerDone(e))}_onWorkerDone(e){this.isDestroyed?e.destroy():(this.idleQueue.push(e),this._startQueuedJob())}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift();if(this.count<this.maxConcurrency){this.count++;const e=`${this.name.toLowerCase()}-worker-${this.count}-of-${this.maxConcurrency}`;return new T({source:this.source,onMessage:this.onMessage,name:e})}return null}}const B=5;class L{constructor({maxConcurrency:e=B,onMessage:t,onDebug:n=(()=>{})}){this.maxConcurrency=e,this.onMessage=t,this.onDebug=n,this.workerPools=new Map}setProps(e){"maxConcurrency"in e&&(this.maxConcurrency=e.maxConcurrency),"onDebug"in e&&(this.onDebug=e.onDebug)}destroy(){this.workerPools.forEach(e=>e.destroy())}async process(e,t,n){return this._getWorkerPool(e,t).process(n)}_getWorkerPool(e,t){let n=this.workerPools.get(t);return n||(n=new k({source:e,name:t,onMessage:this.onMessage,maxConcurrency:this.maxConcurrency,onDebug:this.onDebug}),this.workerPools.set(t,n)),n}}let I=null;async function M({worker:e,data:t,resolve:n,reject:r}){switch(t.type){case"done":n(t.result);break;case"process":try{const n=await C(t.arraybuffer,t.options,t.url);e.postMessage({type:"process-done",id:t.id,result:n},x(n))}catch(n){e.postMessage({type:"process-error",id:t.id,message:n.message})}break;case"error":r(t.message)}}function _(e,t,n,r={},o={}){const i=function(e={}){const t={};return e.maxConcurrency&&(t.maxConcurrency=e.maxConcurrency),e.onDebug&&(t.onDebug=e.onDebug),I||(I=new L({onMessage:M})),I.setProps(t),I}(r);return r=JSON.parse(JSON.stringify(r)),i.process(e,`loaders.gl-${t}`,{arraybuffer:b(n),options:r,source:"loaders.gl",type:"process"})}let U=[];const D=/[^.]+$/;function S(e,t="",n=null,{nothrow:r=!1}={}){if(t=t||"",e&&!Array.isArray(e)){const t=e;return d(t),t}(function(e){for(const t of e)d(t)})(e=[...e||[],...U]),t=t.replace(/\?.*/,"");let o=null;if(!(o=(o=o||function(e,t){const n=t.match(D),r=n&&n[0];return r&&function(e,t){t=t.toLowerCase();for(const n of e)for(const e of n.extensions)if(e.toLowerCase()===t)return n;return null}(e,r)}(e,t))||function(e,t){if(!t)return null;for(const n of e)if("string"==typeof t){if(O(t,n))return n}else if(ArrayBuffer.isView(t)){if(E(t.buffer,t.byteOffset,n))return n}else if(t instanceof ArrayBuffer){if(E(t,0,n))return n}return null}(e,n))){if(r)return null;let e="No valid loader found";throw n&&(e+=` for data starting with "${function(e,t=5){if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return P(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){return P(e,0,t)}return""}(n)}"`),t&&(e+=` for ${t}`),new Error(e)}return o}function O(e,t){return t.testText&&t.testText(e)}function E(e,t,n){switch(Array.isArray(n.test)?"array":typeof n.test){case"function":return n.test(e,n);case"string":case"array":return(Array.isArray(n.test)?n.test:[n.test]).some(n=>{return n===P(e,t,n.length)});default:return!1}}function P(e,t,n){if(e.byteLength<=t+n)return"";const r=new DataView(e);let o="";for(let e=0;e<n;e++)o+=String.fromCharCode(r.getUint8(t+e));return o}async function C(e,t,n,i){Array.isArray(t)||l(t)||(i=n,n=t,t=null);let s="";"string"==typeof i&&(s=i,i=null),n=n||{};const u=function(e,t){return r(e)?t=t||e.url:o(t)&&(t=t.name),"string"==typeof t?t.replace(/\?.*/,""):t}(e,s),c=function(e,t){if(!t&&!Array.isArray(e))return e;let n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){const e=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[...n,...e]:e}return n&&n.length?n:null}(t,i),f=S(c,u,e);return f?(n=function(e,t){const n=e&&(e.DEFAULT_OPTIONS||e.defaultOptions||e.options||{}),r={...y,...n,dataType:"arraybuffer",...t};null===r.log&&(r.log=new g);for(const e in t){const o=t[e];p(o)&&e in n&&(p(n[e])?r[e]={...n[e],...t[e]}:r.log.warn(`Nested option ${e} not recognized`)())}return r}(f,n),i=function(e,t,n){return n||(e={fetch:e.fetch||"undefined"!=typeof window&&window.fetch,...e},Array.isArray(e.loaders)||(e.loaders=null),e)}({url:u,parse:C,loaders:c},0,i),await async function(e,t,n,r){if(t=await m(t,e),e.parseTextSync&&"string"==typeof t)return n.dataType="text",e.parseTextSync(t,n,r,e);if(e.parse)return await e.parse(t,n,r,e);if(e.parseSync)return e.parseSync(t,n,r,e);if(e.worker)return await _(e.worker,e.name,t,n,r);return a(!1)}(f,e,n,i)):null}function R(e,t){if(!e)throw new Error(t)}var N=n(0);const $=!1,V=!0,F=new Map([["image/png",{test:Q,getSize:function(e){return{width:e.getUint32(16,$),height:e.getUint32(20,$)}}}],["image/jpeg",{test:G,getSize:function(e){if(e.byteLength<2||65496!==e.getUint16(0,$))return null;const{tableMarkers:t,sofMarkers:n}=function(){const e=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)e.add(t);const t=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:t}}();let r=2;for(;r<e.byteLength;){const o=e.getUint16(r,$);if(n.has(o))return{height:e.getUint16(r+5,$),width:e.getUint16(r+7,$)};if(!t.has(o))return null;r+=2,r+=e.getUint16(r,$)}return null}}],["image/gif",{test:W,getSize:function(e){return{width:e.getUint16(6,V),height:e.getUint16(8,V)}}}],["image/bmp",{test:z,getSize:function(e){return{width:e.getUint32(18,V),height:e.getUint32(22,V)}}}]]);function Q(e){return e.byteLength>=24&&2303741511===e.getUint32(0,$)}function W(e){return e.byteLength>=10&&1195984440===e.getUint32(0,$)}function z(e){return e.byteLength>=2&&16973===e.getUint16(0,$)}function G(e){return e.byteLength>=3&&65496===e.getUint16(0,$)&&255===e.getUint8(2,$)}const J=`Invalid MIME type. Supported MIME types are: ${Array.from(F.keys()).join(", ")}`;function H(e,t){if(t){const{test:n}=Y(t);return n(Z(e))}return Boolean(q(e))}function q(e){const t=Z(e);for(const[e,{test:n}]of F.entries())if(n(t))return e;return null}function K(e,t=null){t=t||q(e);const{getSize:n}=Y(t),r=n(Z(e));if(!r)throw new Error(`invalid image data for type: ${t}`);return r}function X(e,t=null){const n=K(e,t=t||q(e));return n.mimeType=t,n}function Y(e){const t=F.get(e);if(!t)throw new Error(J);return t}function Z(e){if((e=e.buffer||e)instanceof ArrayBuffer||ArrayBuffer.isView(e))return new DataView(e.buffer||e);throw new Error("toDataView")}const ee=Boolean(N.a._parseImageNode);const te=void 0!==typeof Image;async function ne(e,t){const n=new Image;return n.crossOrigin=t&&t.crossOrigin||"anonymous",t.images.decodeHTML&&n.decode?await n.decode():await new Promise((t,r)=>{try{n.onload=()=>t(n),n.onerror=t=>r(new Error(`Could not load image ${e}: ${t}`)),n.src=e}catch(e){r(e)}})}const re="undefined"!=typeof ImageBitmap;async function oe(e,t){const n=(new TextDecoder).decode(e),r=`data:image/svg+xml;base64,${btoa(n)}`;return await ne(r,t)}async function ie(e,t,n){const{url:r}=n;if(r&&/\.svg((\?|#).*)?$/.test(r))return await oe(e,t);switch(function(e={}){const t=(e.image||{}).format||"auto";switch(t){case"imagebitmap":return R(re),t;case"html":return R(te),t;default:case"auto":if(ee)return"ndarray";if(!N.b)throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js");return re?"imagebitmap":te?"html":R(!1)}}(t)){case"imagebitmap":return await function(e,t){const n=new Blob([new Uint8Array(e)]);return createImageBitmap(n)}(e);case"html":return await async function(e,t){const n=new Blob([e],{type:"image/jpeg"}),r=self.URL||self.webkitURL,o=r.createObjectURL(n);try{return await ne(o,t)}finally{r.revokeObjectURL(o)}}(e,t);case"ndarray":return await function(e,t){R(N.a._parseImageNode);const{mimeType:n}=X(e);return N.a._parseImageNode(e,n,t)}(e,t);default:return R(!1)}}const se={name:"Images",extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:ie,test:e=>{const t=new DataView(e);return G(t)||z(t)||W(t)||Q(t)},options:{images:{format:"auto",decodeHTML:!0}}};var ae=se;const ue={...se,options:{images:{format:"imagebitmap"}}};var ce={name:"Images",extensions:["jpeg"],encode:function(e,t){if(N.a._encodeImageNode)return N.a._encodeImageNode(e,t);if(e instanceof HTMLCanvasElement){return e.toDataURL(t)}R(e instanceof Image,"getImageData accepts image or canvas");const n=document.createElement("canvas");n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0);const r=n.toDataURL(t||"png").replace(/^data:image\/(png|jpg);base64,/,"");return Promise.resolve(r)},DEFAULT_OPTIONS:{type:"png"}};const fe={id:"jpeg",category:"image",name:"JPEG",extensions:["jpg","jpeg"],mimeType:"image/jpeg",test:e=>G(new DataView(e)),parse:ie,options:{}},le={id:"png",category:"image",name:"PNG",extensions:["png"],mimeType:"image/png",test:e=>Q(new DataView(e)),parse:ie,options:{}},de={id:"gif",category:"image",name:"GIF",extensions:["gif"],mimeType:"image/gif",test:e=>W(new DataView(e)),parse:ie,options:{}},ge={id:"bmp",category:"image",name:"BMP",extensions:["gif"],mimeType:"image/gif",test:e=>z(new DataView(e)),parse:ie,options:{}},ye={id:"svg",name:"SVG",extensions:["svg"],mimeType:"image/svg+xml",parse:oe},pe=[fe,le,de,ge,ye];function he(e){switch(function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?"imagebitmap":"undefined"!=typeof Image&&e instanceof Image?"html":e&&"object"==typeof e&&e.data&&e.width&&e.height?"ndarray":Array.isArray(e)?"ndarray":R(!1)}(e)){case"imagebitmap":case"ndarray":return{width:e.width,height:e.height};case"html":return{width:e.naturalWidth,height:e.naturalHeight};default:return R(!1)}}async function me(e,t){return await async function(e,t,n){Array.isArray(t)||l(t)||(n=t,t=null);let r=e;return"string"==typeof e&&(r=await f(e,n)),o(e)&&(r=await f(e,n),e=null),await C(r,t,n,e)}(e,ae,t)}function we(e,{mimeType:t="image/jpeg"}){const n=new Blob([e],{type:t}),r=(window.URL||window.webkitURL).createObjectURL(n);return new Promise((e,t)=>{const n=new Image;return n.onload=()=>e(n),n.onerror=t,n.src=r,n})}n.d(t,"loadImage",(function(){return me})),n.d(t,"decodeImage",(function(){return we})),n.d(t,"ImageLoader",(function(){return ae})),n.d(t,"ImageWriter",(function(){return ce})),n.d(t,"_JPEGLoader",(function(){return fe})),n.d(t,"_PNGLoader",(function(){return le})),n.d(t,"_GIFLoader",(function(){return de})),n.d(t,"_BMPLoader",(function(){return ge})),n.d(t,"_SVGLoader",(function(){return ye})),n.d(t,"_ImageLoaders",(function(){return pe})),n.d(t,"_getImageSize",(function(){return he})),n.d(t,"isImage",(function(){return H})),n.d(t,"getImageMetadata",(function(){return X})),n.d(t,"getImageMIMEType",(function(){return q})),n.d(t,"getImageSize",(function(){return K})),n.d(t,"HTMLImageLoader",(function(){return ae})),n.d(t,"ImageBitmapLoader",(function(){return ue}))}])}));
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {

@@ -8,22 +10,51 @@ value: true

var _parseImage = require("./lib/parse-image");
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _parseImage = _interopRequireDefault(require("./lib/parsers/parse-image"));
var _imageSniffers = require("./lib/metadata/image-sniffers");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg'];
var _default = {
var ImageLoader = {
name: 'Images',
extensions: EXTENSIONS,
parse: _parseImage.canParseImage && _parseImage.parseImage,
loadAndParse: typeof Image !== 'undefined' && _parseImage.loadToHTMLImage
parse: _parseImage["default"],
test: function test(arrayBuffer) {
var dataView = new DataView(arrayBuffer);
return (0, _imageSniffers.isJpeg)(dataView) || (0, _imageSniffers.isBmp)(dataView) || (0, _imageSniffers.isGif)(dataView) || (0, _imageSniffers.isPng)(dataView);
},
options: {
images: {
format: 'auto',
decodeHTML: true
}
}
};
var _default = ImageLoader;
exports["default"] = _default;
var ImageBitmapLoader = {
extensions: EXTENSIONS,
parse: _parseImage.parseToImageBitmap
};
var ImageBitmapLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'imagebitmap'
}
}
});
exports.ImageBitmapLoader = ImageBitmapLoader;
var HTMLImageLoader = {
extensions: EXTENSIONS,
loadAndParse: _parseImage.loadToHTMLImage
};
var HTMLImageLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'html',
decodeHTML: true
}
}
});
exports.HTMLImageLoader = HTMLImageLoader;
//# sourceMappingURL=image-loader.js.map

@@ -8,3 +8,3 @@ "use strict";

var _encodeImage = require("./lib/encode-image");
var _encodeImage = require("./lib/encoders/encode-image");

@@ -11,0 +11,0 @@ var _default = {

"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.loadImage = loadImage;
exports.decodeImage = decodeImage;
Object.defineProperty(exports, "ImageLoader", {

@@ -19,3 +21,3 @@ enumerable: true,

get: function get() {
return _imageLoader.HTMLImageLoader;
return _imageLoader["default"];
}

@@ -35,8 +37,44 @@ });

});
Object.defineProperty(exports, "loadImage", {
Object.defineProperty(exports, "_JPEGLoader", {
enumerable: true,
get: function get() {
return _parseImage.loadImage;
return _imageLoaders.JPEGLoader;
}
});
Object.defineProperty(exports, "_PNGLoader", {
enumerable: true,
get: function get() {
return _imageLoaders.PNGLoader;
}
});
Object.defineProperty(exports, "_GIFLoader", {
enumerable: true,
get: function get() {
return _imageLoaders.GIFLoader;
}
});
Object.defineProperty(exports, "_BMPLoader", {
enumerable: true,
get: function get() {
return _imageLoaders.BMPLoader;
}
});
Object.defineProperty(exports, "_SVGLoader", {
enumerable: true,
get: function get() {
return _imageLoaders.SVGLoader;
}
});
Object.defineProperty(exports, "_ImageLoaders", {
enumerable: true,
get: function get() {
return _imageLoaders.ImageLoaders;
}
});
Object.defineProperty(exports, "_getImageSize", {
enumerable: true,
get: function get() {
return _imageAccessors.getImageSize;
}
});
Object.defineProperty(exports, "isImage", {

@@ -66,9 +104,9 @@ enumerable: true,

});
Object.defineProperty(exports, "decodeImage", {
enumerable: true,
get: function get() {
return _imageUtilsBrowser.decodeImage;
}
});
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _core = require("@loaders.gl/core");
var _imageLoader = _interopRequireWildcard(require("./image-loader"));

@@ -78,7 +116,54 @@

var _parseImage = require("./lib/parse-image");
var _imageLoaders = require("./image-loaders");
var _getImageMetadata = require("./lib/get-image-metadata");
var _imageAccessors = require("./lib/accessors/image-accessors");
var _imageUtilsBrowser = require("./lib/image-utils-browser");
var _getImageMetadata = require("./lib/metadata/get-image-metadata");
function loadImage(_x, _x2) {
return _loadImage.apply(this, arguments);
}
function _loadImage() {
_loadImage = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(url, options) {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0, _core.load)(url, _imageLoader["default"], options);
case 2:
return _context.abrupt("return", _context.sent);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _loadImage.apply(this, arguments);
}
function decodeImage(arrayBufferOrView, _ref) {
var _ref$mimeType = _ref.mimeType,
mimeType = _ref$mimeType === void 0 ? 'image/jpeg' : _ref$mimeType;
var blob = new Blob([arrayBufferOrView], {
type: mimeType
});
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL(blob);
return new Promise(function (resolve, reject) {
var image = new Image();
image.onload = function () {
return resolve(image);
};
image.onerror = reject;
image.src = imageUrl;
return image;
});
}
//# sourceMappingURL=index.js.map

@@ -1,17 +0,41 @@

import { canParseImage, parseImage, parseToImageBitmap, loadToHTMLImage } from './lib/parse-image';
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
import parseImage from './lib/parsers/parse-image';
import { isPng, isGif, isBmp, isJpeg } from './lib/metadata/image-sniffers';
const EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg'];
export default {
const ImageLoader = {
name: 'Images',
extensions: EXTENSIONS,
parse: canParseImage && parseImage,
loadAndParse: typeof Image !== 'undefined' && loadToHTMLImage
parse: parseImage,
test: arrayBuffer => {
const dataView = new DataView(arrayBuffer);
return isJpeg(dataView) || isBmp(dataView) || isGif(dataView) || isPng(dataView);
},
options: {
images: {
format: 'auto',
decodeHTML: true
}
}
};
export const ImageBitmapLoader = {
extensions: EXTENSIONS,
parse: parseToImageBitmap
};
export const HTMLImageLoader = {
extensions: EXTENSIONS,
loadAndParse: loadToHTMLImage
};
export default ImageLoader;
export const ImageBitmapLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'imagebitmap'
}
}
});
export const HTMLImageLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'html',
decodeHTML: true
}
}
});
//# sourceMappingURL=image-loader.js.map

@@ -1,2 +0,2 @@

import { encodeImage } from './lib/encode-image';
import { encodeImage } from './lib/encoders/encode-image';
export default {

@@ -3,0 +3,0 @@ name: 'Images',

@@ -1,6 +0,30 @@

export { default as ImageLoader, HTMLImageLoader, ImageBitmapLoader } from './image-loader';
import { load } from '@loaders.gl/core';
import ImageLoader from './image-loader';
export { default as ImageLoader } from './image-loader';
export { default as ImageWriter } from './image-writer';
export { loadImage } from './lib/parse-image';
export { isImage, getImageMetadata, getImageMIMEType, getImageSize } from './lib/get-image-metadata';
export { decodeImage } from './lib/image-utils-browser';
export { JPEGLoader as _JPEGLoader, PNGLoader as _PNGLoader, GIFLoader as _GIFLoader, BMPLoader as _BMPLoader, SVGLoader as _SVGLoader, ImageLoaders as _ImageLoaders } from './image-loaders';
export { getImageSize as _getImageSize } from './lib/accessors/image-accessors';
export { isImage, getImageMetadata, getImageMIMEType, getImageSize } from './lib/metadata/get-image-metadata';
export { default as HTMLImageLoader, ImageBitmapLoader } from './image-loader';
export async function loadImage(url, options) {
return await load(url, ImageLoader, options);
}
export function decodeImage(arrayBufferOrView, {
mimeType = 'image/jpeg'
}) {
const blob = new Blob([arrayBufferOrView], {
type: mimeType
});
const urlCreator = window.URL || window.webkitURL;
const imageUrl = urlCreator.createObjectURL(blob);
return new Promise((resolve, reject) => {
const image = new Image();
image.onload = () => resolve(image);
image.onerror = reject;
image.src = imageUrl;
return image;
});
}
//# sourceMappingURL=index.js.map

@@ -1,17 +0,41 @@

import { canParseImage, parseImage, parseToImageBitmap, loadToHTMLImage } from './lib/parse-image';
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
import parseImage from './lib/parsers/parse-image';
import { isPng, isGif, isBmp, isJpeg } from './lib/metadata/image-sniffers';
var EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg'];
export default {
var ImageLoader = {
name: 'Images',
extensions: EXTENSIONS,
parse: canParseImage && parseImage,
loadAndParse: typeof Image !== 'undefined' && loadToHTMLImage
parse: parseImage,
test: function test(arrayBuffer) {
var dataView = new DataView(arrayBuffer);
return isJpeg(dataView) || isBmp(dataView) || isGif(dataView) || isPng(dataView);
},
options: {
images: {
format: 'auto',
decodeHTML: true
}
}
};
export var ImageBitmapLoader = {
extensions: EXTENSIONS,
parse: parseToImageBitmap
};
export var HTMLImageLoader = {
extensions: EXTENSIONS,
loadAndParse: loadToHTMLImage
};
export default ImageLoader;
export var ImageBitmapLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'imagebitmap'
}
}
});
export var HTMLImageLoader = _objectSpread({}, ImageLoader, {
options: {
images: {
format: 'html',
decodeHTML: true
}
}
});
//# sourceMappingURL=image-loader.js.map

@@ -1,2 +0,2 @@

import { encodeImage } from './lib/encode-image';
import { encodeImage } from './lib/encoders/encode-image';
export default {

@@ -3,0 +3,0 @@ name: 'Images',

@@ -1,6 +0,57 @@

export { default as ImageLoader, HTMLImageLoader, ImageBitmapLoader } from './image-loader';
import _regeneratorRuntime from "@babel/runtime/regenerator";
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
import { load } from '@loaders.gl/core';
import ImageLoader from './image-loader';
export { default as ImageLoader } from './image-loader';
export { default as ImageWriter } from './image-writer';
export { loadImage } from './lib/parse-image';
export { isImage, getImageMetadata, getImageMIMEType, getImageSize } from './lib/get-image-metadata';
export { decodeImage } from './lib/image-utils-browser';
export { JPEGLoader as _JPEGLoader, PNGLoader as _PNGLoader, GIFLoader as _GIFLoader, BMPLoader as _BMPLoader, SVGLoader as _SVGLoader, ImageLoaders as _ImageLoaders } from './image-loaders';
export { getImageSize as _getImageSize } from './lib/accessors/image-accessors';
export { isImage, getImageMetadata, getImageMIMEType, getImageSize } from './lib/metadata/get-image-metadata';
export { default as HTMLImageLoader, ImageBitmapLoader } from './image-loader';
export function loadImage(_x, _x2) {
return _loadImage.apply(this, arguments);
}
function _loadImage() {
_loadImage = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(url, options) {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return load(url, ImageLoader, options);
case 2:
return _context.abrupt("return", _context.sent);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _loadImage.apply(this, arguments);
}
export function decodeImage(arrayBufferOrView, _ref) {
var _ref$mimeType = _ref.mimeType,
mimeType = _ref$mimeType === void 0 ? 'image/jpeg' : _ref$mimeType;
var blob = new Blob([arrayBufferOrView], {
type: mimeType
});
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL(blob);
return new Promise(function (resolve, reject) {
var image = new Image();
image.onload = function () {
return resolve(image);
};
image.onerror = reject;
image.src = imageUrl;
return image;
});
}
//# sourceMappingURL=index.js.map
{
"name": "@loaders.gl/images",
"version": "1.3.3",
"version": "2.0.0-alpha.1",
"description": "Framework-independent loaders and writers for images (PNG, JPG, ...)",

@@ -32,5 +32,6 @@ "license": "MIT",

"pre-build": "npm run build-bundle && npm run build-bundle -- --env.dev",
"build-bundle": "webpack --display=minimal --config ../../scripts/bundle.config.js"
"build-bundle": "webpack --display=minimal --config ../../scripts/bundle.config.js",
"build-worker": "webpack --entry ./src/image-loader.worker.js --output ./dist/image-loader.worker.js --config ../../scripts/worker-webpack-config.js"
},
"gitHead": "6a8d559e11613dc1dd94a12e4ea5df05c0184ae6"
"gitHead": "cff57d05c0495fa661119005cffd886ed6ed1025"
}

@@ -1,20 +0,36 @@

/* global Image */
import {canParseImage, parseImage, parseToImageBitmap, loadToHTMLImage} from './lib/parse-image';
import parseImage from './lib/parsers/parse-image';
import {isPng, isGif, isBmp, isJpeg} from './lib/metadata/image-sniffers';
const EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'ico', 'svg'];
// Loads a platform-specific image type that can be used as input data to WebGL textures
export default {
const ImageLoader = {
name: 'Images',
extensions: EXTENSIONS,
parse: canParseImage && parseImage,
loadAndParse: typeof Image !== 'undefined' && loadToHTMLImage
parse: parseImage,
test: arrayBuffer => {
const dataView = new DataView(arrayBuffer); // , byteOffset, byteLength);
return isJpeg(dataView) || isBmp(dataView) || isGif(dataView) || isPng(dataView);
},
options: {
images: {
format: 'auto',
decodeHTML: true // if format is HTML
}
}
};
// EXPERIMENTAL
export default ImageLoader;
// DEPRECATED
// Specifically loads an ImageBitmap (works on newer browsers, on both main and worker threads)
export const ImageBitmapLoader = {
extensions: EXTENSIONS,
parse: parseToImageBitmap
...ImageLoader,
options: {
images: {
format: 'imagebitmap'
}
}
};

@@ -24,4 +40,9 @@

export const HTMLImageLoader = {
extensions: EXTENSIONS,
loadAndParse: loadToHTMLImage
...ImageLoader,
options: {
images: {
format: 'html',
decodeHTML: true
}
}
};

@@ -1,2 +0,2 @@

import {encodeImage} from './lib/encode-image';
import {encodeImage} from './lib/encoders/encode-image';

@@ -3,0 +3,0 @@ export default {

@@ -1,10 +0,50 @@

export {default as ImageLoader, HTMLImageLoader, ImageBitmapLoader} from './image-loader';
import {load} from '@loaders.gl/core';
import ImageLoader from './image-loader';
export {default as ImageLoader} from './image-loader';
export {default as ImageWriter} from './image-writer';
export {loadImage} from './lib/parse-image';
// EXPERIMENTAL V2.0
export {
JPEGLoader as _JPEGLoader,
PNGLoader as _PNGLoader,
GIFLoader as _GIFLoader,
BMPLoader as _BMPLoader,
SVGLoader as _SVGLoader,
ImageLoaders as _ImageLoaders
} from './image-loaders';
export {getImageSize as _getImageSize} from './lib/accessors/image-accessors';
// UTILS
export {isImage, getImageMetadata, getImageMIMEType, getImageSize} from './lib/get-image-metadata';
export {
isImage,
getImageMetadata,
getImageMIMEType,
getImageSize
} from './lib/metadata/get-image-metadata';
// Experimental
export {decodeImage} from './lib/image-utils-browser';
// DEPRECATED
export {default as HTMLImageLoader, ImageBitmapLoader} from './image-loader';
export async function loadImage(url, options) {
return await load(url, ImageLoader, options);
}
// Now possible to use ImageLoaders on arrayBuffer input
// Unpacks compressed image data into an HTML image
export function decodeImage(arrayBufferOrView, {mimeType = 'image/jpeg'}) {
/* global window, Blob, Image */
const blob = new Blob([arrayBufferOrView], {type: mimeType});
const urlCreator = window.URL || window.webkitURL;
const imageUrl = urlCreator.createObjectURL(blob);
return new Promise((resolve, reject) => {
const image = new Image();
image.onload = () => resolve(image);
image.onerror = reject;
image.src = imageUrl;
return image;
});
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc