@openhealthnz-credentials/pdf-image-qr-scanner
Version:
Library to scan user-uploaded PDF's or images locally and reliably for QR codes using jsQR.
3 lines (2 loc) • 3.17 kB
JavaScript
var e=require("jsqr"),t=require("pdfjs-dist");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=/*#__PURE__*/n(e),i=/*#__PURE__*/n(t);function o(e,t,n){if(!e.s){if(n instanceof u){if(!n.s)return void(n.o=o.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(o.bind(null,e,t),o.bind(null,e,2));e.s=t,e.v=n;var r=e.o;r&&r(e)}}var u=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var r=new e,i=this.s;if(i){var u=1&i?t:n;if(u){try{o(r,1,u(this.v))}catch(e){o(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?o(r,1,t?t(i):i):n?o(r,1,n(i)):o(r,2,i)}catch(e){o(r,2,e)}},r},e}();function a(e){return e instanceof u&&1&e.s}var h=i.default.getDocument;function c(e){var t=e.getContext("2d").getImageData(0,0,e.width,e.height),n=r.default(t.data,e.width,e.height,{inversionAttempts:"attemptBoth"});return(null==n?void 0:n.data)||null}i.default.GlobalWorkerOptions.workerSrc="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/"+i.default.version+"/pdf.worker.min.js",exports.scanFile=function(e){try{var t=new Response(e);return"application/pdf"===e.type?Promise.resolve(t.arrayBuffer()).then(function(e){var t=new Uint8Array(e);return Promise.resolve(h(t).promise).then(function(e){return Promise.resolve(function(e){try{var t,n=null,r=1,i=function(e,t,n){for(var r;;){var i=e();if(a(i)&&(i=i.v),!i)return h;if(i.then){r=0;break}var h=n();if(h&&h.then){if(!a(h)){r=1;break}h=h.s}if(t){var c=t();if(c&&c.then&&!a(c)){r=2;break}}}var f=new u,s=o.bind(null,f,2);return(0===r?i.then(l):1===r?h.then(v):c.then(d)).then(void 0,s),f;function v(r){h=r;do{if(t&&(c=t())&&c.then&&!a(c))return void c.then(d).then(void 0,s);if(!(i=e())||a(i)&&!i.v)return void o(f,1,h);if(i.then)return void i.then(l).then(void 0,s);a(h=n())&&(h=h.v)}while(!h||!h.then);h.then(v).then(void 0,s)}function l(e){e?(h=n())&&h.then?h.then(v).then(void 0,s):v(h):o(f,1,h)}function d(){(i=e())?i.then?i.then(l).then(void 0,s):l(i):o(f,1,h)}}(function(){return!t&&r<=e.numPages},function(){return r++},function(){return Promise.resolve(e.getPage(r)).then(function(e){var r=document.createElement("canvas");r.height=3508,r.width=2480;var i=e.getViewport({scale:1}),o=Math.min(r.height/i.height,r.width/i.width),u=e.getViewport({scale:o}),a={canvasContext:r.getContext("2d"),viewport:u};return Promise.resolve(e.render(a).promise).then(function(){if(null!==(n=c(r)))return t=1,n})})});return Promise.resolve(i&&i.then?i.then(function(e){return t?e:null}):t?i:null)}catch(e){return Promise.reject(e)}}(e))})}):Promise.resolve(t.blob()).then(function(e){return Promise.resolve(function(e){return Promise.resolve(function(e){try{return Promise.resolve(new Promise(function(t,n){var r=new Image;r.onload=function(){return t(r)},r.onerror=n,r.src=URL.createObjectURL(e)}))}catch(e){return Promise.reject(e)}}(e)).then(function(e){for(var t=document.createElement("canvas"),n=0,r=[.5,1,.25];n<r.length;n++){var i=r[n];t.height=e.height*i,t.width=e.width*i,t.getContext("2d").drawImage(e,0,0,t.width,t.height);var o=c(t);if(o)return o}return null})}(e))})}catch(e){return Promise.reject(e)}};
//# sourceMappingURL=index.cjs.map