@scandit/web-datacapture-core
Version:
Scandit Data Capture SDK for the Web
1 lines • 1.17 kB
JavaScript
var t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]));var a=()=>(async e=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch{return false}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));function i(){return typeof crossOriginIsolated>"u"?false:crossOriginIsolated}function A(){try{return new WebAssembly.Memory({initial:1,maximum:1,shared:true}).buffer.constructor.name==="SharedArrayBuffer"}catch{return false}}async function b(){return t()}async function o(){if(!await a())return false;let n=null;try{n=new Worker(URL.createObjectURL(new Blob(['postMessage("Worker" in self);'],{type:"text/javascript"})),{name:"nestedWorkerTest"});}catch{return false}return new Promise(r=>{if(n==null){r(false);return}n.onmessage=s=>{n==null||n.terminate(),r(s.data);};})}async function u(){let e=await o();return i()&&A()&&e&&y()>=2}function y(){var e;return (e=navigator.hardwareConcurrency)!=null?e:1}export{i as a,A as b,b as c,o as d,u as e,y as f};