{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type { OpenCVInstance } from './types';\n\nlet cvInstance: OpenCVInstance | null = null;\nlet isInitializing = false;\nlet initPromise: Promise<OpenCVInstance> | null = null;\n\nexport async function opencvInit(): Promise<OpenCVInstance> {\n  if (cvInstance) {\n    return cvInstance;\n  }\n\n  if (isInitializing) {\n    return initPromise!;\n  }\n\n  isInitializing = true;\n  initPromise = new Promise((resolve, reject) => {\n    const __Module__ = {\n      preRun: [],\n      postRun: [],\n      print: console.log,\n      printErr: console.error,\n      setStatus: console.log,\n      onRuntimeInitialized: async () => {\n        try {\n          if (window.__cv__ instanceof Promise) {\n            cvInstance = await window.__cv__;\n          } else {\n            cvInstance = window.__cv__;\n          }\n          resolve(cvInstance);\n        } catch (error) {\n          reject(error);\n        }\n      },\n      totalDependencies: 0,\n    };\n\n    window.__Module__ = __Module__;\n    window.onerror = () => {\n      __Module__.setStatus(`Exception thrown, see JavaScript console`);\n      __Module__.setStatus = (text: string) => {\n        if (text) __Module__.printErr(`[post-exception status] ${text}`);\n      };\n    };\n\n    const script1 = document.createElement('script');\n    script1.src =\n      'https://scplugins.oss-cn-shenzhen.aliyuncs.com/plugins/scloud/assets/qrcode/wechat_qrcode_files.js';\n    script1.setAttribute('crossorigin', 'anonymous');\n    script1.onerror = () => {\n      reject(new Error('Failed to load wechat_qrcode_files.js'));\n    };\n    document.body.appendChild(script1);\n\n    const script2 = document.createElement('script');\n    script2.src =\n      'https://scplugins.oss-cn-shenzhen.aliyuncs.com/plugins/scloud/assets/qrcode/opencv.js';\n    script2.async = true;\n    script2.setAttribute('crossorigin', 'anonymous');\n    script2.type = 'application/javascript';\n    script2.onerror = () => {\n      reject(new Error('Failed to load OpenCV.js'));\n    };\n    document.body.appendChild(script2);\n  });\n\n  return initPromise;\n}\n\ndeclare global {\n  interface Window {\n    __Module__: any;\n    __cv__: OpenCVInstance | Promise<OpenCVInstance>;\n  }\n}\n"],"names":[],"mappings":";;;;AAGA,IAAI,UAAoC,GAAA,IAAA,CAAA;AACxC,IAAI,cAAiB,GAAA,KAAA,CAAA;AACrB,IAAI,WAA8C,GAAA,IAAA,CAAA;AAElD,eAAsB,UAAsC,GAAA;AAC1D,EAAA,IAAI,UAAY,EAAA;AACd,IAAO,OAAA,UAAA,CAAA;AAAA,GACT;AAEA,EAAA,IAAI,cAAgB,EAAA;AAClB,IAAO,OAAA,WAAA,CAAA;AAAA,GACT;AAEA,EAAiB,cAAA,GAAA,IAAA,CAAA;AACjB,EAAA,WAAA,GAAc,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AAC7C,IAAA,MAAM,UAAa,GAAA;AAAA,MACjB,QAAQ,EAAC;AAAA,MACT,SAAS,EAAC;AAAA,MACV,OAAO,OAAQ,CAAA,GAAA;AAAA,MACf,UAAU,OAAQ,CAAA,KAAA;AAAA,MAClB,WAAW,OAAQ,CAAA,GAAA;AAAA,MACnB,sBAAsB,YAAY;AAChC,QAAI,IAAA;AACF,UAAI,IAAA,MAAA,CAAO,kBAAkB,OAAS,EAAA;AACpC,YAAA,UAAA,GAAa,MAAM,MAAO,CAAA,MAAA,CAAA;AAAA,WACrB,MAAA;AACL,YAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAA;AAAA,WACtB;AACA,UAAA,OAAA,CAAQ,UAAU,CAAA,CAAA;AAAA,iBACX,KAAO,EAAA;AACd,UAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,SACd;AAAA,OACF;AAAA,MACA,iBAAmB,EAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,MAAA,CAAO,UAAa,GAAA,UAAA,CAAA;AACpB,IAAA,MAAA,CAAO,UAAU,MAAM;AACrB,MAAA,UAAA,CAAW,UAAU,CAA0C,wCAAA,CAAA,CAAA,CAAA;AAC/D,MAAW,UAAA,CAAA,SAAA,GAAY,CAAC,IAAiB,KAAA;AACvC,QAAI,IAAA,IAAA;AAAM,UAAW,UAAA,CAAA,QAAA,CAAS,CAA2B,wBAAA,EAAA,IAAI,CAAE,CAAA,CAAA,CAAA;AAAA,OACjE,CAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,GACN,GAAA,oGAAA,CAAA;AACF,IAAQ,OAAA,CAAA,YAAA,CAAa,eAAe,WAAW,CAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,MAAO,MAAA,CAAA,IAAI,KAAM,CAAA,uCAAuC,CAAC,CAAA,CAAA;AAAA,KAC3D,CAAA;AACA,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,OAAO,CAAA,CAAA;AAEjC,IAAM,MAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,GACN,GAAA,uFAAA,CAAA;AACF,IAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,IAAQ,OAAA,CAAA,YAAA,CAAa,eAAe,WAAW,CAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,IAAO,GAAA,wBAAA,CAAA;AACf,IAAA,OAAA,CAAQ,UAAU,MAAM;AACtB,MAAO,MAAA,CAAA,IAAI,KAAM,CAAA,0BAA0B,CAAC,CAAA,CAAA;AAAA,KAC9C,CAAA;AACA,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,OAAO,CAAA,CAAA;AAAA,GAClC,CAAA,CAAA;AAED,EAAO,OAAA,WAAA,CAAA;AACT;;;;"}