{"version":3,"file":"vue.mjs","names":[],"sources":["../src/vue/UriState.ts"],"sourcesContent":["import { useUrlSearchParams } from '@vueuse/core';\nimport { computed, type WritableComputedRef } from 'vue';\n\nexport function useQueryParam<TType extends string | number>(key: string, initialValue: TType): WritableComputedRef<TType> {\n    const searchParams = useUrlSearchParams();\n    \n    const formatValue = (value: string | string[] | undefined): string | number => {\n        if (typeof value === 'undefined') {\n            return initialValue;\n        }\n        \n        if (Array.isArray(value)) {\n            return formatValue(value[0])\n        }\n        \n        if (typeof initialValue === 'number') {\n            return parseInt(value);\n        }\n        \n        return value;\n    }\n    \n    const currentValue = computed({\n        get() {\n            return formatValue(searchParams[key]) as TType;\n        },\n        set(value) {\n            searchParams[key] = value.toString();\n        }\n    });\n    \n    return currentValue;\n}"],"mappings":";;;;AAGA,SAAgB,cAA6C,KAAa,cAAiD;CACvH,MAAM,eAAe,oBAAoB;CAEzC,MAAM,eAAe,UAA0D;AAC3E,MAAI,OAAO,UAAU,YACjB,QAAO;AAGX,MAAI,MAAM,QAAQ,MAAM,CACpB,QAAO,YAAY,MAAM,GAAG;AAGhC,MAAI,OAAO,iBAAiB,SACxB,QAAO,SAAS,MAAM;AAG1B,SAAO;;AAYX,QATqB,SAAS;EAC1B,MAAM;AACF,UAAO,YAAY,aAAa,KAAK;;EAEzC,IAAI,OAAO;AACP,gBAAa,OAAO,MAAM,UAAU;;EAE3C,CAAC"}