{"version":3,"file":"_...slug_.ef93fffa.js","sources":["../../../../../../node_modules/@storyblok/nuxt/dist/runtime/composables/useAsyncStoryblok.mjs","../../../../composables/useAsyncStoryblokHandler.ts","../../../../pages/[...slug].vue"],"sourcesContent":["import { useStoryblokApi, useStoryblokBridge } from \"@storyblok/vue\";\nimport { useAsyncData, useState, onMounted } from \"#imports\";\n\nconst useAsyncStoryblok = async (url, apiOptions = {}, bridgeOptions = {}) => {\n const uniqueKey = `${JSON.stringify(apiOptions)}${url}`;\n const story = useState(`${uniqueKey}-state`, () => null);\n const storyblokApiInstance = useStoryblokApi();\n\n onMounted(() => {\n if (story.value && story.value.id) {\n useStoryblokBridge(\n story.value.id,\n (evStory) => (story.value = evStory),\n bridgeOptions\n );\n }\n });\n\n const { data } = await useAsyncData(\n `${uniqueKey}-asyncdata`,\n async () => await storyblokApiInstance.get(`cdn/stories/${url}`, apiOptions)\n );\n story.value = data.value.data.story;\n\n return story;\n};\n\nexport default useAsyncStoryblok;\n","import { ISbStoryData } from 'storyblok-js-client'\nimport { Ref } from 'vue'\n/**\n * Wrapper for Storyblok's JS client, with error handling\n */\nexport const useAsyncStoryblokHandler = () => {\n const runtimeConfig = useRuntimeConfig()\n\n /**\n * Fetches a story based on the current route\n */\n const fetchRouteStory = async (apiOptions = {}, bridgeOptions = {}) => {\n let slug = useRoute().params.slug || 'home'\n if (Array.isArray(slug)) {\n slug = slug.join('/')\n }\n // trim trailing slash\n if (slug !== '/') slug = slug.replace(/\\/$/, '')\n return fetchStory(slug, apiOptions, bridgeOptions)\n }\n\n /**\n * Fetches a story based on the given path\n */\n const fetchStory = async (\n path: string,\n apiOptions = {},\n bridgeOptions = {}\n ) => {\n try {\n const story: Ref = await useAsyncStoryblok(\n path,\n {\n ...apiOptions,\n version: runtimeConfig.public.STORYBLOK.VERSION,\n },\n bridgeOptions\n )\n return story\n } catch (error) {\n if (useRoute().query._storyblok) {\n return ref({\n content: {},\n name: '',\n published_at: '',\n first_published_at: '',\n })\n } else {\n throw createError({ statusCode: 404, message: 'Story not found' })\n }\n }\n }\n\n return {\n fetchRouteStory,\n fetchStory,\n }\n}\n","\n\n\n"],"names":["useAsyncStoryblok","url","apiOptions","bridgeOptions","uniqueKey","story","useState","storyblokApiInstance","useStoryblokApi","onMounted","useStoryblokBridge","evStory","data","useAsyncData","useAsyncStoryblokHandler","runtimeConfig","useRuntimeConfig","fetchRouteStory","slug","useRoute","fetchStory","path","ref","createError","__temp","__restore","_withAsyncContext"],"mappings":"+LAGA,MAAAA,EAAA,MAAAC,EAAAC,EAAA,CAAA,EAAAC,EAAA,CAAA,IAAA,CACA,MAAAC,EAAA,GAAA,KAAA,UAAAF,CAAA,IAAAD,IACAI,EAAAC,EAAA,GAAAF,UAAA,IAAA,IAAA,EACAG,EAAAC,IAEAC,EAAA,IAAA,CACAJ,EAAA,OAAAA,EAAA,MAAA,IACAK,EACAL,EAAA,MAAA,GACAM,GAAAN,EAAA,MAAAM,EACAR,CACA,CAEA,CAAA,EAEA,KAAA,CAAA,KAAAS,CAAA,EAAA,MAAAC,EACA,GAAAT,cACA,SAAA,MAAAG,EAAA,IAAA,eAAAN,IAAAC,CAAA,CACA,EACA,OAAAG,EAAA,MAAAO,EAAA,MAAA,KAAA,MAEAP,CACA,ECpBOS,EAAA,IAAA,CACL,MAAAC,EAAAC,IAKAC,EAAA,MAAAf,EAAA,CAAA,EAAAC,EAAA,CAAA,IAAA,CACE,IAAAe,EAAAC,EAAA,EAAA,OAAA,MAAA,OACA,OAAA,MAAA,QAAAD,CAAA,IACEA,EAAAA,EAAA,KAAA,GAAA,GAGFA,IAAA,MAAkBA,EAAAA,EAAA,QAAA,MAAA,EAAA,GAClBE,EAAAF,EAAAhB,EAAAC,CAAA,CAAiD,EAMnDiB,EAAA,MAAAC,EAAAnB,EAAA,CAAA,EAAAC,EAAA,KAAA,CAKE,GAAA,CASE,OARA,MAAAH,EAAuCqB,EACrC,CACA,GAAAnB,EACK,QAAAa,EAAA,OAAA,UAAA,OACqC,EAC1CZ,CACA,CAEK,MAAA,CAEP,GAAAgB,EAAA,EAAA,MAAA,WACE,OAAAG,EAAA,CAAW,QAAA,CAAA,EACC,KAAA,GACJ,aAAA,GACQ,mBAAA,EACM,CAAA,EAGtB,MAAAC,EAAA,CAAA,WAAA,IAAA,QAAA,iBAAA,CAAA,CACF,CACF,EAGF,MAAA,CAAO,gBAAAN,EACL,WAAAG,CACA,CAEJ,2DCtDM,KAAA,CAAE,gBAAAH,GAAoBH,IAEtBT,GAAc,CAAAmB,EAAAC,CAAA,EAAAC,EAAA,IAAAT,EAAgB,CAClC,cAAe,KAAA,CAChB,CAAA"}