UNPKG

vue-hooks-plus

Version:
97 lines (96 loc) 3.12 kB
"use strict"; const vue = require("vue"); const utils = require("../devtools/utils"); const devToolsStore = require("../devtools/store"); const _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e }; const devToolsStore__default = /* @__PURE__ */ _interopDefaultLegacy(devToolsStore); const useDevtoolsPlugin = (fetchInstance, { ready = true, debugKey, ...rest }) => { const createDevTarget = () => { if (debugKey && !devToolsStore__default.default.has(debugKey)) { const functionName = fetchInstance.serviceRef.value.toString().includes("function") ? utils.getFunctionName(fetchInstance.serviceRef.value.toString()) : utils.getArrowFunctionName(fetchInstance.serviceRef.value.toString()); devToolsStore__default.default.insert(debugKey, { instance: fetchInstance, requestName: functionName, time: Date.now() }); } }; const processObj = vue.computed( () => Object.fromEntries( Object.entries({ ready, ...rest }).map(([key, value]) => [key, vue.unref(value)]) ) ); vue.watchEffect(() => { if (debugKey && devToolsStore__default.default.has(debugKey)) { devToolsStore__default.default.emit({ ...fetchInstance, options: { ...fetchInstance.options, ...processObj.value } }); } }); return { name: "devtoolsPlugin", onBefore: (params) => { createDevTarget(); if (debugKey && devToolsStore__default.default.has(debugKey)) devToolsStore__default.default.emit({ ...fetchInstance.state, key: debugKey, params, loading: true, time: Date.now(), type: "pending" }); }, onSuccess(data, params) { createDevTarget(); if (debugKey && devToolsStore__default.default.has(debugKey)) devToolsStore__default.default.emit({ ...fetchInstance.state, key: debugKey, data, params, loading: false, time: Date.now(), type: "done" }); }, onCancel() { createDevTarget(); if (debugKey && devToolsStore__default.default.has(debugKey)) devToolsStore__default.default.emit({ ...fetchInstance.state, key: debugKey, loading: false, time: Date.now(), type: "cancel" }); }, onError(e, params) { createDevTarget(); if (debugKey && devToolsStore__default.default.has(debugKey)) devToolsStore__default.default.emit({ ...fetchInstance.state, key: debugKey, params, loading: false, error: e, time: Date.now(), type: "error" }); }, onMutate(data) { createDevTarget(); if (debugKey && devToolsStore__default.default.has(debugKey)) devToolsStore__default.default.emit({ ...fetchInstance.state, key: debugKey, data, loading: false, time: Date.now(), type: "mutate" }); } }; }; module.exports = useDevtoolsPlugin;