{"version":3,"file":"DF29GsZL.js","sources":["../../../../node_modules/nuxt/dist/app/composables/fetch.js"],"sourcesContent":["import { computed, reactive, toValue } from \"vue\";\nimport { hash } from \"ohash\";\nimport { useRequestFetch } from \"./ssr.js\";\nimport { useAsyncData } from \"./asyncData.js\";\nimport { fetchDefaults } from \"#build/nuxt.config.mjs\";\nexport function useFetch(request, arg1, arg2) {\n const [opts = {}, autoKey] = typeof arg1 === \"string\" ? [{}, arg1] : [arg1, arg2];\n const _request = computed(() => toValue(request));\n const _key = opts.key || hash([autoKey, typeof _request.value === \"string\" ? _request.value : \"\", ...generateOptionSegments(opts)]);\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useFetch] key must be a string: \" + _key);\n }\n if (!request) {\n throw new Error(\"[nuxt] [useFetch] request is missing.\");\n }\n const key = _key === autoKey ? \"$f\" + _key : _key;\n if (!opts.baseURL && typeof _request.value === \"string\" && (_request.value[0] === \"/\" && _request.value[1] === \"/\")) {\n throw new Error('[nuxt] [useFetch] the request URL must not start with \"//\".');\n }\n const {\n server,\n lazy,\n default: defaultFn,\n transform,\n pick,\n watch,\n immediate,\n getCachedData,\n deep,\n dedupe,\n ...fetchOptions\n } = opts;\n const _fetchOptions = reactive({\n ...fetchDefaults,\n ...fetchOptions,\n cache: typeof opts.cache === \"boolean\" ? void 0 : opts.cache\n });\n const _asyncDataOptions = {\n server,\n lazy,\n default: defaultFn,\n transform,\n pick,\n immediate,\n getCachedData,\n deep,\n dedupe,\n watch: watch === false ? [] : [_fetchOptions, _request, ...watch || []]\n };\n if (import.meta.dev && import.meta.client) {\n _asyncDataOptions._functionName = opts._functionName || \"useFetch\";\n }\n let controller;\n const asyncData = useAsyncData(key, () => {\n controller?.abort?.();\n controller = typeof AbortController !== \"undefined\" ? new AbortController() : {};\n const timeoutLength = toValue(opts.timeout);\n if (timeoutLength) {\n setTimeout(() => controller.abort(), timeoutLength);\n }\n let _$fetch = opts.$fetch || globalThis.$fetch;\n if (import.meta.server && !opts.$fetch) {\n const isLocalFetch = typeof _request.value === \"string\" && _request.value[0] === \"/\" && (!toValue(opts.baseURL) || toValue(opts.baseURL)[0] === \"/\");\n if (isLocalFetch) {\n _$fetch = useRequestFetch();\n }\n }\n return _$fetch(_request.value, { signal: controller.signal, ..._fetchOptions });\n }, _asyncDataOptions);\n return asyncData;\n}\nexport function useLazyFetch(request, arg1, arg2) {\n const [opts = {}, autoKey] = typeof arg1 === \"string\" ? [{}, arg1] : [arg1, arg2];\n if (import.meta.dev && import.meta.client) {\n opts._functionName ||= \"useLazyFetch\";\n }\n return useFetch(\n request,\n {\n ...opts,\n lazy: true\n },\n // @ts-expect-error we pass an extra argument with the resolved auto-key to prevent another from being injected\n autoKey\n );\n}\nfunction generateOptionSegments(opts) {\n const segments = [\n toValue(opts.method)?.toUpperCase() || \"GET\",\n toValue(opts.baseURL)\n ];\n for (const _obj of [opts.params || opts.query]) {\n const obj = toValue(_obj);\n if (!obj) {\n continue;\n }\n const unwrapped = {};\n for (const [key, value] of Object.entries(obj)) {\n unwrapped[toValue(key)] = toValue(value);\n }\n segments.push(unwrapped);\n }\n return segments;\n}\n"],"names":["useFetch","request","arg1","arg2","opts","autoKey","_request","computed","toValue","_key","hash","generateOptionSegments","key","server","lazy","defaultFn","transform","pick","watch","immediate","getCachedData","deep","dedupe","fetchOptions","_fetchOptions","reactive","fetchDefaults","_asyncDataOptions","controller","useAsyncData","_a","timeoutLength","useLazyFetch","segments","_obj","obj","unwrapped","value"],"mappings":"oGAKO,SAASA,EAASC,EAASC,EAAMC,EAAM,CAC5C,KAAM,CAACC,EAAO,CAAA,EAAIC,CAAO,EAAI,OAAOH,GAAS,SAAW,CAAC,CAAE,EAAEA,CAAI,EAAI,CAACA,EAAMC,CAAI,EAC1EG,EAAWC,EAAS,IAAMC,EAAQP,CAAO,CAAC,EAC1CQ,EAAOL,EAAK,KAAOM,EAAK,CAACL,EAAS,OAAOC,EAAS,OAAU,SAAWA,EAAS,MAAQ,GAAI,GAAGK,EAAuBP,CAAI,CAAC,CAAC,EAClI,GAAI,CAACK,GAAQ,OAAOA,GAAS,SAC3B,MAAM,IAAI,UAAU,2CAA6CA,CAAI,EAEvE,GAAI,CAACR,EACH,MAAM,IAAI,MAAM,uCAAuC,EAEzD,MAAMW,EAAMH,IAASJ,EAAU,KAAOI,EAAOA,EAC7C,GAAI,CAACL,EAAK,SAAW,OAAOE,EAAS,OAAU,UAAaA,EAAS,MAAM,CAAC,IAAM,KAAOA,EAAS,MAAM,CAAC,IAAM,IAC7G,MAAM,IAAI,MAAM,6DAA6D,EAE/E,KAAM,CACJ,OAAAO,EACA,KAAAC,EACA,QAASC,EACT,UAAAC,EACA,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,cAAAC,EACA,KAAAC,EACA,OAAAC,EACA,GAAGC,CACJ,EAAGnB,EACEoB,EAAgBC,EAAS,CAC7B,GAAGC,EACH,GAAGH,EACH,MAAO,OAAOnB,EAAK,OAAU,UAAY,OAASA,EAAK,KAC3D,CAAG,EACKuB,EAAoB,CACxB,OAAAd,EACA,KAAAC,EACA,QAASC,EACT,UAAAC,EACA,KAAAC,EACA,UAAAE,EACA,cAAAC,EACA,KAAAC,EACA,OAAAC,EACA,MAAOJ,IAAU,GAAQ,CAAE,EAAG,CAACM,EAAelB,EAAU,GAAGY,GAAS,EAAE,CAC1E,EAIE,IAAIU,EAiBJ,OAhBkBC,EAAajB,EAAK,IAAM,QACxCkB,EAAAF,GAAA,YAAAA,EAAY,QAAZ,MAAAE,EAAA,KAAAF,GACAA,EAAa,OAAO,gBAAoB,IAAc,IAAI,gBAAoB,CAAA,EAC9E,MAAMG,EAAgBvB,EAAQJ,EAAK,OAAO,EAC1C,OAAI2B,GACF,WAAW,IAAMH,EAAW,MAAO,EAAEG,CAAa,GAEtC3B,EAAK,QAAU,WAAW,QAOzBE,EAAS,MAAO,CAAE,OAAQsB,EAAW,OAAQ,GAAGJ,CAAa,CAAE,CAC/E,EAAEG,CAAiB,CAEtB,CACO,SAASK,EAAa/B,EAASC,EAAMC,EAAM,CAChD,KAAM,CAACC,EAAO,CAAA,EAAIC,CAAO,EAAI,OAAOH,GAAS,SAAW,CAAC,CAAE,EAAEA,CAAI,EAAI,CAACA,EAAMC,CAAI,EAIhF,OAAOH,EACLC,EACA,CACE,GAAGG,EACH,KAAM,EACP,EAEDC,CACJ,CACA,CACA,SAASM,EAAuBP,EAAM,OACpC,MAAM6B,EAAW,GACfH,EAAAtB,EAAQJ,EAAK,MAAM,IAAnB,YAAA0B,EAAsB,gBAAiB,MACvCtB,EAAQJ,EAAK,OAAO,CACxB,EACE,UAAW8B,IAAQ,CAAC9B,EAAK,QAAUA,EAAK,KAAK,EAAG,CAC9C,MAAM+B,EAAM3B,EAAQ0B,CAAI,EACxB,GAAI,CAACC,EACH,SAEF,MAAMC,EAAY,CAAA,EAClB,SAAW,CAACxB,EAAKyB,CAAK,IAAK,OAAO,QAAQF,CAAG,EAC3CC,EAAU5B,EAAQI,CAAG,CAAC,EAAIJ,EAAQ6B,CAAK,EAEzCJ,EAAS,KAAKG,CAAS,CACxB,CACD,OAAOH,CACT","x_google_ignoreList":[0]}