UNPKG

vue-admin-core

Version:
1 lines 3.7 kB
{"version":3,"file":"useRequestImplement.mjs","sources":["../../../../../../package/hooks/useRequest/src/useRequestImplement.ts"],"sourcesContent":["import { onMounted, onUnmounted, toValue } from \"vue\";\n\nimport Fetch from \"./Fetch\";\nimport type { Options, Plugin, Result, Service } from \"./types\";\nimport { isEmpty } from \"lodash-es\";\n\nfunction useRequestImplement<TData, TParams extends any[]>(\n service: Service<TData, TParams>,\n options: Options<TData, TParams> = {},\n plugins: Plugin<TData, TParams>[] = []\n) {\n const { manual = false, ...rest } = options;\n\n const fetchOptions = {\n manual,\n ...rest\n };\n\n const initState = plugins.map((p) => p?.onInit?.(fetchOptions)).filter(Boolean);\n\n const fetchInstance = new Fetch<TData, TParams>(\n service,\n fetchOptions,\n Object.assign({}, ...initState)\n );\n\n fetchInstance.options = fetchOptions;\n // run all plugins hooks\n fetchInstance.pluginImpls = plugins.map((p) => p(fetchInstance, fetchOptions));\n\n onMounted(() => {\n if (!manual) {\n let params: any[] = toValue(options.defaultParams || []);\n if (!isEmpty(toValue(fetchInstance.params))) {\n params = toValue(fetchInstance.params);\n }\n // @ts-ignore\n fetchInstance.run(...params);\n }\n });\n\n onUnmounted(() => {\n fetchInstance.cancel();\n });\n\n return {\n loading: fetchInstance.loading,\n data: fetchInstance.data,\n error: fetchInstance.error,\n params: fetchInstance.params || [],\n cancel: fetchInstance.cancel.bind(fetchInstance),\n refresh: fetchInstance.refresh.bind(fetchInstance),\n refreshAsync: fetchInstance.refreshAsync.bind(fetchInstance),\n run: fetchInstance.run.bind(fetchInstance),\n runAsync: fetchInstance.runAsync.bind(fetchInstance),\n mutate: fetchInstance.mutate.bind(fetchInstance)\n } as Result<TData, TParams>;\n}\n\nexport default useRequestImplement;\n"],"names":[],"mappings":";;;;AAMA,SAAS,oBACP,OACA,EAAA,OAAA,GAAmC,EACnC,EAAA,OAAA,GAAoC,EACpC,EAAA;AACA,EAAA,MAAM,EAAE,MAAA,GAAS,KAAO,EAAA,GAAG,MAAS,GAAA,OAAA,CAAA;AAEpC,EAAA,MAAM,YAAe,GAAA;AAAA,IACnB,MAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AAEA,EAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,CAAG,KAAA;AAlBpC,IAAA,IAAA,EAAA,CAAA;AAkBuC,IAAA,OAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAG,WAAH,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,GAAa,CAAA,CAAE,OAAO,OAAO,CAAA,CAAA;AAE9E,EAAA,MAAM,gBAAgB,IAAI,KAAA;AAAA,IACxB,OAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAO,CAAA,MAAA,CAAO,EAAC,EAAG,GAAG,SAAS,CAAA;AAAA,GAChC,CAAA;AAEA,EAAA,aAAA,CAAc,OAAU,GAAA,YAAA,CAAA;AAExB,EAAc,aAAA,CAAA,WAAA,GAAc,QAAQ,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,aAAA,EAAe,YAAY,CAAC,CAAA,CAAA;AAE7E,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,IAAI,MAAgB,GAAA,OAAA,CAAQ,OAAQ,CAAA,aAAA,IAAiB,EAAE,CAAA,CAAA;AACvD,MAAA,IAAI,CAAC,OAAQ,CAAA,OAAA,CAAQ,aAAc,CAAA,MAAM,CAAC,CAAG,EAAA;AAC3C,QAAS,MAAA,GAAA,OAAA,CAAQ,cAAc,MAAM,CAAA,CAAA;AAAA,OACvC;AAEA,MAAc,aAAA,CAAA,GAAA,CAAI,GAAG,MAAM,CAAA,CAAA;AAAA,KAC7B;AAAA,GACD,CAAA,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,aAAA,CAAc,MAAO,EAAA,CAAA;AAAA,GACtB,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAS,aAAc,CAAA,OAAA;AAAA,IACvB,MAAM,aAAc,CAAA,IAAA;AAAA,IACpB,OAAO,aAAc,CAAA,KAAA;AAAA,IACrB,MAAA,EAAQ,aAAc,CAAA,MAAA,IAAU,EAAC;AAAA,IACjC,MAAQ,EAAA,aAAA,CAAc,MAAO,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,IAC/C,OAAS,EAAA,aAAA,CAAc,OAAQ,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,IACjD,YAAc,EAAA,aAAA,CAAc,YAAa,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,IAC3D,GAAK,EAAA,aAAA,CAAc,GAAI,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,IACzC,QAAU,EAAA,aAAA,CAAc,QAAS,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,IACnD,MAAQ,EAAA,aAAA,CAAc,MAAO,CAAA,IAAA,CAAK,aAAa,CAAA;AAAA,GACjD,CAAA;AACF;;;;"}