{"version":3,"file":"useAutoRunPlugin.mjs","sources":["../../../../../../../package/hooks/useRequest/src/plugins/useAutoRunPlugin.ts"],"sourcesContent":["import { ref, toRef, toValue, watch } from \"vue\";\nimport type { Plugin } from \"../types\";\n\n// support refreshDeps & ready\nconst useAutoRunPlugin: Plugin<any, any[]> = (\n  fetchInstance,\n  { manual, ready = ref(true), defaultParams = [], refreshDeps = [], refreshDepsAction }\n) => {\n  watch(toRef(ready), () => {\n    if (!manual && toValue(ready)) {\n      fetchInstance.run(...defaultParams);\n    }\n  });\n\n  watch(refreshDeps, () => {\n    if (!manual) {\n      if (refreshDepsAction) {\n        refreshDepsAction();\n      } else {\n        fetchInstance.refresh();\n      }\n    }\n  });\n\n  return {\n    onBefore: () => {\n      if (!ready.value) {\n        return {\n          stopNow: true\n        };\n      }\n    }\n  };\n};\n\nuseAutoRunPlugin.onInit = ({ ready = ref(true), manual }) => {\n  return {\n    loading: !manual && ready.value\n  };\n};\n\nexport default useAutoRunPlugin;\n"],"names":[],"mappings":";;AAIA,MAAM,mBAAuC,CAC3C,aAAA,EACA,EAAE,MAAA,EAAQ,QAAQ,GAAI,CAAA,IAAI,CAAG,EAAA,aAAA,GAAgB,EAAI,EAAA,WAAA,GAAc,EAAC,EAAG,mBAChE,KAAA;AACH,EAAM,KAAA,CAAA,KAAA,CAAM,KAAK,CAAA,EAAG,MAAM;AACxB,IAAA,IAAI,CAAC,MAAA,IAAU,OAAQ,CAAA,KAAK,CAAG,EAAA;AAC7B,MAAc,aAAA,CAAA,GAAA,CAAI,GAAG,aAAa,CAAA,CAAA;AAAA,KACpC;AAAA,GACD,CAAA,CAAA;AAED,EAAA,KAAA,CAAM,aAAa,MAAM;AACvB,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,IAAI,iBAAmB,EAAA;AACrB,QAAkB,iBAAA,EAAA,CAAA;AAAA,OACb,MAAA;AACL,QAAA,aAAA,CAAc,OAAQ,EAAA,CAAA;AAAA,OACxB;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,UAAU,MAAM;AACd,MAAI,IAAA,CAAC,MAAM,KAAO,EAAA;AAChB,QAAO,OAAA;AAAA,UACL,OAAS,EAAA,IAAA;AAAA,SACX,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AACF,EAAA;AAEA,gBAAiB,CAAA,MAAA,GAAS,CAAC,EAAE,KAAA,GAAQ,IAAI,IAAI,CAAA,EAAG,QAAa,KAAA;AAC3D,EAAO,OAAA;AAAA,IACL,OAAA,EAAS,CAAC,MAAA,IAAU,KAAM,CAAA,KAAA;AAAA,GAC5B,CAAA;AACF,CAAA;;;;"}