{"version":3,"file":"useScript2.mjs","sources":["../../../../../../packages/hooks/web/useScript.ts"],"sourcesContent":["import { onMounted, onUnmounted, ref } from 'vue'\n\ninterface ScriptOptions {\n  src: string\n}\n\nexport function useScript(opts: ScriptOptions) {\n  const isLoading = ref(false)\n  const error = ref(false)\n  const success = ref(false)\n  let script: HTMLScriptElement\n\n  const promise = new Promise((resolve, reject) => {\n    onMounted(() => {\n      script = document.createElement('script')\n      script.type = 'text/javascript'\n      script.onload = function () {\n        isLoading.value = false\n        success.value = true\n        error.value = false\n        resolve('')\n      }\n\n      script.onerror = function (err) {\n        isLoading.value = false\n        success.value = false\n        error.value = true\n        reject(err)\n      }\n\n      script.src = opts.src\n      document.head.appendChild(script)\n    })\n  })\n\n  onUnmounted(() => {\n    script && script.remove()\n  })\n\n  return {\n    isLoading,\n    error,\n    success,\n    toPromise: () => promise,\n  }\n}\n"],"names":[],"mappings":";;AACO,SAAS,SAAS,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,EAAE,IAAI,MAAM,CAAC;AACb,EAAE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AACnD,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;AACtC,MAAM,MAAM,CAAC,MAAM,GAAG,WAAW;AACjC,QAAQ,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,QAAQ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7B,QAAQ,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC;AACpB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;AACrC,QAAQ,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,QAAQ,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B,QAAQ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AAC3B,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AAC5B,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACxC,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,EAAE,WAAW,CAAC,MAAM;AACpB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,MAAM,OAAO;AAC5B,GAAG,CAAC;AACJ;;;;"}