UNPKG

scandit-web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

6 lines (3 loc) 1.27 kB
import { Deferred } from 'scandit-web-datacapture-core'; function k(t){return function(o,i,e){return e.value!=null&&typeof e.value=="function"&&(e.value.proxy=!0,typeof(t==null?void 0:t.argumentsSerializer)=="function"&&(e.value.argumentsSerializer=t.argumentsSerializer)),e}}function P(t,n){return Object.getOwnPropertyDescriptor(t,n)}function v(t){return function(o){let i={};for(let e of Object.getOwnPropertyNames(o.prototype))if(e!=="constructor"){let r=P(o.prototype,e);typeof(r==null?void 0:r.value)=="function"&&"proxy"in r.value&&(i[e]=r);}for(let[e,r]of Object.entries(i)){let c=0,s=r.value;r.value=async function(...p){var d,f;typeof s=="function"&&s.apply(this,p);let y=p;typeof s.argumentsSerializer=="function"&&(y=(f=(d=s.argumentsSerializer)==null?void 0:d.call(this,p))!=null?f:[]);let l={id:c++,command:this.command,instanceId:this.getId(),className:t,args:y,methodName:e},{promise:m,resolve:T,reject:g}=new Deferred,u=M=>{let{data:a}=M;l.id===a.payload.id&&(a.payload.result.type==="result"?T(a.payload.result.result):g(a.payload.result.error),this.worker.removeEventListener("message",u));};return this.worker.addEventListener("message",u),this.worker.postMessage(l),m},Object.defineProperty(o.prototype,e,r);}return o}} export { k as a, v as b };