wcz-test 6.9.2 → 6.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DialogsHooks-Bi8dZoyu.js +338 -0
- package/dist/DialogsHooks-Bi8dZoyu.js.map +1 -0
- package/dist/{RouterListItemButton-Cx7rXEfm.js → RouterListItemButton-CHS7rofI.js} +4 -4
- package/dist/{RouterListItemButton-Cx7rXEfm.js.map → RouterListItemButton-CHS7rofI.js.map} +1 -1
- package/dist/auth-client-B6cIXYDV.js +1417 -0
- package/dist/auth-client-B6cIXYDV.js.map +1 -0
- package/dist/client.d.ts +725 -0
- package/dist/client.js +1 -1
- package/dist/components.d.ts +134 -0
- package/dist/components.js +65 -66
- package/dist/components.js.map +1 -1
- package/dist/error-BhAKg8LX-X0sdNXNa.js +195 -0
- package/dist/error-BhAKg8LX-X0sdNXNa.js.map +1 -0
- package/dist/hooks.d.ts +192 -0
- package/dist/hooks.js +31 -31
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +74 -0
- package/dist/index.js +83 -84
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +476 -0
- package/dist/queries.d.ts +1956 -0
- package/dist/server-mxQ3s5dx-CC81W42s.js +644 -0
- package/dist/server-mxQ3s5dx-CC81W42s.js.map +1 -0
- package/dist/server.d.ts +41 -0
- package/dist/server.js +8659 -7
- package/dist/server.js.map +1 -1
- package/dist/utils.d.ts +11 -0
- package/dist/vite.d.ts +5 -0
- package/package.json +29 -29
- package/dist/DialogsHooks-BlUsVlfv.js +0 -39
- package/dist/DialogsHooks-BlUsVlfv.js.map +0 -1
- package/dist/auth-client-o9U0_qmf.js +0 -79
- package/dist/auth-client-o9U0_qmf.js.map +0 -1
- package/dist/components/core/AppTitle.d.ts +0 -2
- package/dist/components/core/Fullscreen.d.ts +0 -3
- package/dist/components/core/Layout.d.ts +0 -8
- package/dist/components/core/ToolbarAccount.d.ts +0 -2
- package/dist/components/core/TypographyWithIcon.d.ts +0 -7
- package/dist/components/core/navigation/NavigationList.d.ts +0 -22
- package/dist/components/core/navigation/NavigationListItem.d.ts +0 -16
- package/dist/components/core/navigation/NavigationRail.d.ts +0 -12
- package/dist/components/data-grid/ChipInputCell.d.ts +0 -9
- package/dist/components/data-grid/EditableColumnHeader.d.ts +0 -2
- package/dist/components/file/Dropzone.d.ts +0 -8
- package/dist/components/file/FileViewer.d.ts +0 -20
- package/dist/components/file/fileViewer/FileViewerGrid.d.ts +0 -17
- package/dist/components/file/fileViewer/FileViewerList.d.ts +0 -12
- package/dist/components/file/fileViewer/ImageViewer.d.ts +0 -6
- package/dist/components/file/fileViewer/common/ActionsMenu.d.ts +0 -15
- package/dist/components/form/FormAutocomplete.d.ts +0 -7
- package/dist/components/form/FormCheckbox.d.ts +0 -7
- package/dist/components/form/FormDatePicker.d.ts +0 -8
- package/dist/components/form/FormDateRangePicker.d.ts +0 -8
- package/dist/components/form/FormDateTimePicker.d.ts +0 -8
- package/dist/components/form/FormDateTimeRangePicker.d.ts +0 -8
- package/dist/components/form/FormNumberField.d.ts +0 -9
- package/dist/components/form/FormRadioGroup.d.ts +0 -13
- package/dist/components/form/FormSlider.d.ts +0 -7
- package/dist/components/form/FormSubmitButton.d.ts +0 -4
- package/dist/components/form/FormSwitch.d.ts +0 -7
- package/dist/components/form/FormTextField.d.ts +0 -7
- package/dist/components/form/FormTimePicker.d.ts +0 -8
- package/dist/components/form/FormTimeRangePicker.d.ts +0 -8
- package/dist/components/router/RouterButton.d.ts +0 -6
- package/dist/components/router/RouterError.d.ts +0 -7
- package/dist/components/router/RouterGridActionsCellItem.d.ts +0 -6
- package/dist/components/router/RouterIconButton.d.ts +0 -6
- package/dist/components/router/RouterLink.d.ts +0 -6
- package/dist/components/router/RouterListItemButton.d.ts +0 -6
- package/dist/components/router/RouterNotFound.d.ts +0 -1
- package/dist/components/router/RouterTab.d.ts +0 -6
- package/dist/contexts/DialogsContext.d.ts +0 -6
- package/dist/contexts/FileContext.d.ts +0 -13
- package/dist/env.d.ts +0 -10
- package/dist/exports/client.d.ts +0 -5
- package/dist/exports/components.d.ts +0 -14
- package/dist/exports/hooks.d.ts +0 -4
- package/dist/exports/index.d.ts +0 -3
- package/dist/exports/models.d.ts +0 -25
- package/dist/exports/queries.d.ts +0 -4
- package/dist/exports/server.d.ts +0 -3
- package/dist/exports/utils.d.ts +0 -3
- package/dist/exports/vite.d.ts +0 -1
- package/dist/hooks/DialogsHooks.d.ts +0 -42
- package/dist/hooks/FormHooks.d.ts +0 -52
- package/dist/hooks/ThemeHook.d.ts +0 -4
- package/dist/lib/auth/auth-client.d.ts +0 -688
- package/dist/lib/auth/auth.d.ts +0 -24
- package/dist/lib/db/index.d.ts +0 -4
- package/dist/lib/db/schemas/auth.d.ts +0 -606
- package/dist/lib/utils.d.ts +0 -50
- package/dist/lib/vite-plugin.d.ts +0 -2
- package/dist/models/Navigation.d.ts +0 -18
- package/dist/models/User.d.ts +0 -8
- package/dist/models/approval/Approval.d.ts +0 -177
- package/dist/models/approval/ApprovalEmployee.d.ts +0 -7
- package/dist/models/approval/ApprovalFlow.d.ts +0 -49
- package/dist/models/approval/ApprovalFlowStep.d.ts +0 -29
- package/dist/models/approval/ApprovalRequestType.d.ts +0 -5
- package/dist/models/approval/ApprovalStatus.d.ts +0 -9
- package/dist/models/approval/ApprovalStepResult.d.ts +0 -11
- package/dist/models/approval/StepApprovalOrder.d.ts +0 -6
- package/dist/models/email/Email.d.ts +0 -13
- package/dist/models/email/EmailAttachment.d.ts +0 -6
- package/dist/models/file/FileActions.d.ts +0 -6
- package/dist/models/file/FileMeta.d.ts +0 -15
- package/dist/models/peoplesoft/Department.d.ts +0 -58
- package/dist/models/peoplesoft/Employee.d.ts +0 -46
- package/dist/models/peoplesoft/EmployeeCategoryGroup.d.ts +0 -6
- package/dist/models/peoplesoft/EmployeeStatus.d.ts +0 -6
- package/dist/providers/DialogsProvider.d.ts +0 -6
- package/dist/providers/LayoutProvider.d.ts +0 -11
- package/dist/queries/Approval.d.ts +0 -585
- package/dist/queries/ApprovalHooks.d.ts +0 -315
- package/dist/queries/FileHooks.d.ts +0 -151
- package/dist/queries/PeopleSoftHooks.d.ts +0 -537
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-client-B6cIXYDV.js","sources":["../src/hooks/ThemeHook.ts","../node_modules/better-auth/dist/url-C4fqRUH1.mjs","../node_modules/better-auth/dist/parser-kwbb5q_C.mjs","../node_modules/nanostores/clean-stores/index.js","../node_modules/nanostores/atom/index.js","../node_modules/nanostores/lifecycle/index.js","../node_modules/nanostores/listen-keys/index.js","../node_modules/@better-fetch/fetch/dist/index.js","../node_modules/better-auth/dist/proxy-DZR0bcsP.mjs","../node_modules/better-auth/dist/client/react/index.mjs","../src/lib/auth/auth-client.ts"],"sourcesContent":["import { createTheme, darken, lighten } from \"@mui/material\";\r\nimport { grey } from \"@mui/material/colors\";\r\nimport { csCZ, enUS } from \"@mui/material/locale\";\r\nimport { csCZ as dataGridCsCz, enUS as dataGridEnUs } from \"@mui/x-data-grid/locales\";\r\nimport { csCZ as datePickersCsCz, enUS as datePickersEnUs } from \"@mui/x-date-pickers/locales\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport type { CssVarsThemeOptions } from \"@mui/material\";\r\n\r\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\r\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\r\n\r\nconst LOCALE_MAP = {\r\n cs: [dataGridCsCz, datePickersCsCz, csCZ],\r\n en: [dataGridEnUs, datePickersEnUs, enUS],\r\n} as const;\r\n\r\nexport const useGetTheme = (theme?: Pick<CssVarsThemeOptions, \"colorSchemes\" | \"components\">) => {\r\n const { i18n } = useTranslation();\r\n\r\n return createTheme(\r\n {\r\n cssVariables: {\r\n colorSchemeSelector: \"data-mui-color-scheme\"\r\n },\r\n colorSchemes: {\r\n light: {\r\n palette: {\r\n primary: { main: WISTRON_PRIMARY_COLOR },\r\n secondary: { main: WISTRON_SECONDARY_COLOR },\r\n },\r\n },\r\n dark: {\r\n palette: {\r\n primary: { main: lighten(WISTRON_PRIMARY_COLOR, 0.5) },\r\n secondary: { main: darken(WISTRON_SECONDARY_COLOR, 0.5) },\r\n },\r\n },\r\n ...theme?.colorSchemes\r\n },\r\n components: {\r\n MuiCssBaseline: {\r\n styleOverrides: ({ palette }) => {\r\n return {\r\n body: {\r\n \"&::-webkit-scrollbar, & *::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.7em\",\r\n },\r\n \"&::-webkit-scrollbar-track, & *::-webkit-scrollbar-track\": {\r\n backgroundColor:\r\n palette.mode === \"dark\" ? grey[900] : grey[200],\r\n borderRadius: \"5px\",\r\n },\r\n \"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb\": {\r\n backgroundColor:\r\n palette.mode === \"dark\" ? grey[800] : grey[400],\r\n borderRadius: \"10px\",\r\n },\r\n \"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover\":\r\n {\r\n backgroundColor:\r\n palette.mode === \"dark\" ? grey[700] : grey[500],\r\n },\r\n \"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner\": {\r\n backgroundColor: \"transparent\",\r\n },\r\n },\r\n };\r\n },\r\n },\r\n ...theme?.components\r\n },\r\n },\r\n ...LOCALE_MAP[i18n.language as keyof typeof LOCALE_MAP]\r\n );\r\n};\r\n","import { env } from \"@better-auth/core/env\";\nimport { BetterAuthError } from \"@better-auth/core/error\";\n\n//#region src/utils/url.ts\nfunction checkHasPath(url) {\n\ttry {\n\t\treturn (new URL(url).pathname.replace(/\\/+$/, \"\") || \"/\") !== \"/\";\n\t} catch (error) {\n\t\tthrow new BetterAuthError(`Invalid base URL: ${url}. Please provide a valid base URL.`);\n\t}\n}\nfunction assertHasProtocol(url) {\n\ttry {\n\t\tconst parsedUrl = new URL(url);\n\t\tif (parsedUrl.protocol !== \"http:\" && parsedUrl.protocol !== \"https:\") throw new BetterAuthError(`Invalid base URL: ${url}. URL must include 'http://' or 'https://'`);\n\t} catch (error) {\n\t\tif (error instanceof BetterAuthError) throw error;\n\t\tthrow new BetterAuthError(`Invalid base URL: ${url}. Please provide a valid base URL.`, String(error));\n\t}\n}\nfunction withPath(url, path = \"/api/auth\") {\n\tassertHasProtocol(url);\n\tif (checkHasPath(url)) return url;\n\tconst trimmedUrl = url.replace(/\\/+$/, \"\");\n\tif (!path || path === \"/\") return trimmedUrl;\n\tpath = path.startsWith(\"/\") ? path : `/${path}`;\n\treturn `${trimmedUrl}${path}`;\n}\nfunction getBaseURL(url, path, request, loadEnv) {\n\tif (url) return withPath(url, path);\n\tif (loadEnv !== false) {\n\t\tconst fromEnv = env.BETTER_AUTH_URL || env.NEXT_PUBLIC_BETTER_AUTH_URL || env.PUBLIC_BETTER_AUTH_URL || env.NUXT_PUBLIC_BETTER_AUTH_URL || env.NUXT_PUBLIC_AUTH_URL || (env.BASE_URL !== \"/\" ? env.BASE_URL : void 0);\n\t\tif (fromEnv) return withPath(fromEnv, path);\n\t}\n\tconst fromRequest = request?.headers.get(\"x-forwarded-host\");\n\tconst fromRequestProto = request?.headers.get(\"x-forwarded-proto\");\n\tif (fromRequest && fromRequestProto) return withPath(`${fromRequestProto}://${fromRequest}`, path);\n\tif (request) {\n\t\tconst url$1 = getOrigin(request.url);\n\t\tif (!url$1) throw new BetterAuthError(\"Could not get origin from request. Please provide a valid base URL.\");\n\t\treturn withPath(url$1, path);\n\t}\n\tif (typeof window !== \"undefined\" && window.location) return withPath(window.location.origin, path);\n}\nfunction getOrigin(url) {\n\ttry {\n\t\tconst parsedUrl = new URL(url);\n\t\treturn parsedUrl.origin === \"null\" ? null : parsedUrl.origin;\n\t} catch (error) {\n\t\treturn null;\n\t}\n}\nfunction getProtocol(url) {\n\ttry {\n\t\treturn new URL(url).protocol;\n\t} catch (error) {\n\t\treturn null;\n\t}\n}\nfunction getHost(url) {\n\ttry {\n\t\treturn new URL(url).host;\n\t} catch (error) {\n\t\treturn null;\n\t}\n}\n\n//#endregion\nexport { getProtocol as i, getHost as n, getOrigin as r, getBaseURL as t };","//#region src/client/parser.ts\nconst PROTO_POLLUTION_PATTERNS = {\n\tproto: /\"(?:_|\\\\u0{2}5[Ff]){2}(?:p|\\\\u0{2}70)(?:r|\\\\u0{2}72)(?:o|\\\\u0{2}6[Ff])(?:t|\\\\u0{2}74)(?:o|\\\\u0{2}6[Ff])(?:_|\\\\u0{2}5[Ff]){2}\"\\s*:/,\n\tconstructor: /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/,\n\tprotoShort: /\"__proto__\"\\s*:/,\n\tconstructorShort: /\"constructor\"\\s*:/\n};\nconst JSON_SIGNATURE = /^\\s*[\"[{]|^\\s*-?\\d{1,16}(\\.\\d{1,17})?([Ee][+-]?\\d+)?\\s*$/;\nconst SPECIAL_VALUES = {\n\ttrue: true,\n\tfalse: false,\n\tnull: null,\n\tundefined: void 0,\n\tnan: NaN,\n\tinfinity: Number.POSITIVE_INFINITY,\n\t\"-infinity\": Number.NEGATIVE_INFINITY\n};\nconst ISO_DATE_REGEX = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,7}))?(?:Z|([+-])(\\d{2}):(\\d{2}))$/;\nfunction isValidDate(date) {\n\treturn date instanceof Date && !isNaN(date.getTime());\n}\nfunction parseISODate(value) {\n\tconst match = ISO_DATE_REGEX.exec(value);\n\tif (!match) return null;\n\tconst [, year, month, day, hour, minute, second, ms, offsetSign, offsetHour, offsetMinute] = match;\n\tlet date = new Date(Date.UTC(parseInt(year, 10), parseInt(month, 10) - 1, parseInt(day, 10), parseInt(hour, 10), parseInt(minute, 10), parseInt(second, 10), ms ? parseInt(ms.padEnd(3, \"0\"), 10) : 0));\n\tif (offsetSign) {\n\t\tconst offset = (parseInt(offsetHour, 10) * 60 + parseInt(offsetMinute, 10)) * (offsetSign === \"+\" ? -1 : 1);\n\t\tdate.setUTCMinutes(date.getUTCMinutes() + offset);\n\t}\n\treturn isValidDate(date) ? date : null;\n}\nfunction betterJSONParse(value, options = {}) {\n\tconst { strict = false, warnings = false, reviver, parseDates = true } = options;\n\tif (typeof value !== \"string\") return value;\n\tconst trimmed = value.trim();\n\tif (trimmed.length > 0 && trimmed[0] === \"\\\"\" && trimmed.endsWith(\"\\\"\") && !trimmed.slice(1, -1).includes(\"\\\"\")) return trimmed.slice(1, -1);\n\tconst lowerValue = trimmed.toLowerCase();\n\tif (lowerValue.length <= 9 && lowerValue in SPECIAL_VALUES) return SPECIAL_VALUES[lowerValue];\n\tif (!JSON_SIGNATURE.test(trimmed)) {\n\t\tif (strict) throw new SyntaxError(\"[better-json] Invalid JSON\");\n\t\treturn value;\n\t}\n\tif (Object.entries(PROTO_POLLUTION_PATTERNS).some(([key, pattern]) => {\n\t\tconst matches = pattern.test(trimmed);\n\t\tif (matches && warnings) console.warn(`[better-json] Detected potential prototype pollution attempt using ${key} pattern`);\n\t\treturn matches;\n\t}) && strict) throw new Error(\"[better-json] Potential prototype pollution attempt detected\");\n\ttry {\n\t\tconst secureReviver = (key, value$1) => {\n\t\t\tif (key === \"__proto__\" || key === \"constructor\" && value$1 && typeof value$1 === \"object\" && \"prototype\" in value$1) {\n\t\t\t\tif (warnings) console.warn(`[better-json] Dropping \"${key}\" key to prevent prototype pollution`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (parseDates && typeof value$1 === \"string\") {\n\t\t\t\tconst date = parseISODate(value$1);\n\t\t\t\tif (date) return date;\n\t\t\t}\n\t\t\treturn reviver ? reviver(key, value$1) : value$1;\n\t\t};\n\t\treturn JSON.parse(trimmed, secureReviver);\n\t} catch (error) {\n\t\tif (strict) throw error;\n\t\treturn value;\n\t}\n}\nfunction parseJSON(value, options = { strict: true }) {\n\treturn betterJSONParse(value, options);\n}\nvar parser_default = parseJSON;\n\n//#endregion\nexport { parser_default as n, parseJSON as t };","import { cleanTasks } from '../task/index.js'\n\nexport let clean = Symbol('clean')\n\nexport let cleanStores = (...stores) => {\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\n 'cleanStores() can be used only during development or tests'\n )\n }\n cleanTasks()\n for (let $store of stores) {\n if ($store) {\n if ($store.mocked) delete $store.mocked\n if ($store[clean]) $store[clean]()\n }\n }\n}\n","import { clean } from '../clean-stores/index.js'\n\nlet listenerQueue = []\nlet lqIndex = 0\nconst QUEUE_ITEMS_PER_LISTENER = 4\nexport let epoch = 0\n\n/* @__NO_SIDE_EFFECTS__ */\nexport const atom = initialValue => {\n let listeners = []\n let $atom = {\n get() {\n if (!$atom.lc) {\n $atom.listen(() => {})()\n }\n return $atom.value\n },\n lc: 0,\n listen(listener) {\n $atom.lc = listeners.push(listener)\n\n return () => {\n for (\n let i = lqIndex + QUEUE_ITEMS_PER_LISTENER;\n i < listenerQueue.length;\n\n ) {\n if (listenerQueue[i] === listener) {\n listenerQueue.splice(i, QUEUE_ITEMS_PER_LISTENER)\n } else {\n i += QUEUE_ITEMS_PER_LISTENER\n }\n }\n\n let index = listeners.indexOf(listener)\n if (~index) {\n listeners.splice(index, 1)\n if (!--$atom.lc) $atom.off()\n }\n }\n },\n notify(oldValue, changedKey) {\n epoch++\n let runListenerQueue = !listenerQueue.length\n for (let listener of listeners) {\n listenerQueue.push(listener, $atom.value, oldValue, changedKey)\n }\n\n if (runListenerQueue) {\n for (\n lqIndex = 0;\n lqIndex < listenerQueue.length;\n lqIndex += QUEUE_ITEMS_PER_LISTENER\n ) {\n listenerQueue[lqIndex](\n listenerQueue[lqIndex + 1],\n listenerQueue[lqIndex + 2],\n listenerQueue[lqIndex + 3]\n )\n }\n listenerQueue.length = 0\n }\n },\n /* It will be called on last listener unsubscribing.\n We will redefine it in onMount and onStop. */\n off() {},\n set(newValue) {\n let oldValue = $atom.value\n if (oldValue !== newValue) {\n $atom.value = newValue\n $atom.notify(oldValue)\n }\n },\n subscribe(listener) {\n let unbind = $atom.listen(listener)\n listener($atom.value)\n return unbind\n },\n value: initialValue\n }\n\n if (process.env.NODE_ENV !== 'production') {\n $atom[clean] = () => {\n listeners = []\n $atom.lc = 0\n $atom.off()\n }\n }\n\n return $atom\n}\n\nexport const readonlyType = store => store\n","import { clean } from '../clean-stores/index.js'\n\nconst START = 0\nconst STOP = 1\nconst SET = 2\nconst NOTIFY = 3\nconst MOUNT = 5\nconst UNMOUNT = 6\nconst REVERT_MUTATION = 10\n\nexport let on = (object, listener, eventKey, mutateStore) => {\n object.events = object.events || {}\n if (!object.events[eventKey + REVERT_MUTATION]) {\n object.events[eventKey + REVERT_MUTATION] = mutateStore(eventProps => {\n // eslint-disable-next-line no-sequences\n object.events[eventKey].reduceRight((event, l) => (l(event), event), {\n shared: {},\n ...eventProps\n })\n })\n }\n object.events[eventKey] = object.events[eventKey] || []\n object.events[eventKey].push(listener)\n return () => {\n let currentListeners = object.events[eventKey]\n let index = currentListeners.indexOf(listener)\n currentListeners.splice(index, 1)\n if (!currentListeners.length) {\n delete object.events[eventKey]\n object.events[eventKey + REVERT_MUTATION]()\n delete object.events[eventKey + REVERT_MUTATION]\n }\n }\n}\n\nexport let onStart = ($store, listener) =>\n on($store, listener, START, runListeners => {\n let originListen = $store.listen\n $store.listen = arg => {\n if (!$store.lc && !$store.starting) {\n $store.starting = true\n runListeners()\n delete $store.starting\n }\n return originListen(arg)\n }\n return () => {\n $store.listen = originListen\n }\n })\n\nexport let onStop = ($store, listener) =>\n on($store, listener, STOP, runListeners => {\n let originOff = $store.off\n $store.off = () => {\n runListeners()\n originOff()\n }\n return () => {\n $store.off = originOff\n }\n })\n\nexport let onSet = ($store, listener) =>\n on($store, listener, SET, runListeners => {\n let originSet = $store.set\n let originSetKey = $store.setKey\n if ($store.setKey) {\n $store.setKey = (changed, changedValue) => {\n let isAborted\n let abort = () => {\n isAborted = true\n }\n\n runListeners({\n abort,\n changed,\n newValue: { ...$store.value, [changed]: changedValue }\n })\n if (!isAborted) return originSetKey(changed, changedValue)\n }\n }\n $store.set = newValue => {\n let isAborted\n let abort = () => {\n isAborted = true\n }\n\n runListeners({ abort, newValue })\n if (!isAborted) return originSet(newValue)\n }\n return () => {\n $store.set = originSet\n $store.setKey = originSetKey\n }\n })\n\nexport let onNotify = ($store, listener) =>\n on($store, listener, NOTIFY, runListeners => {\n let originNotify = $store.notify\n $store.notify = (oldValue, changed) => {\n let isAborted\n let abort = () => {\n isAborted = true\n }\n\n runListeners({ abort, changed, oldValue })\n if (!isAborted) return originNotify(oldValue, changed)\n }\n return () => {\n $store.notify = originNotify\n }\n })\n\nexport let STORE_UNMOUNT_DELAY = 1000\n\nexport let onMount = ($store, initialize) => {\n let listener = payload => {\n let destroy = initialize(payload)\n if (destroy) $store.events[UNMOUNT].push(destroy)\n }\n return on($store, listener, MOUNT, runListeners => {\n let originListen = $store.listen\n $store.listen = (...args) => {\n if (!$store.lc && !$store.active) {\n $store.active = true\n runListeners()\n }\n return originListen(...args)\n }\n\n let originOff = $store.off\n $store.events[UNMOUNT] = []\n $store.off = () => {\n originOff()\n setTimeout(() => {\n if ($store.active && !$store.lc) {\n $store.active = false\n for (let destroy of $store.events[UNMOUNT]) destroy()\n $store.events[UNMOUNT] = []\n }\n }, STORE_UNMOUNT_DELAY)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n let originClean = $store[clean]\n $store[clean] = () => {\n for (let destroy of $store.events[UNMOUNT]) destroy()\n $store.events[UNMOUNT] = []\n $store.active = false\n originClean()\n }\n }\n\n return () => {\n $store.listen = originListen\n $store.off = originOff\n }\n })\n}\n","export function listenKeys($store, keys, listener) {\n let keysSet = new Set(keys).add(undefined)\n return $store.listen((value, oldValue, changed) => {\n if (keysSet.has(changed)) {\n listener(value, oldValue, changed)\n }\n })\n}\n\nexport function subscribeKeys($store, keys, listener) {\n let unbind = listenKeys($store, keys, listener)\n listener($store.value)\n return unbind\n}\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\n// src/error.ts\nvar BetterFetchError = class extends Error {\n constructor(status, statusText, error) {\n super(statusText || status.toString(), {\n cause: error\n });\n this.status = status;\n this.statusText = statusText;\n this.error = error;\n }\n};\n\n// src/plugins.ts\nvar initializePlugins = async (url, options) => {\n var _a, _b, _c, _d, _e, _f;\n let opts = options || {};\n const hooks = {\n onRequest: [options == null ? void 0 : options.onRequest],\n onResponse: [options == null ? void 0 : options.onResponse],\n onSuccess: [options == null ? void 0 : options.onSuccess],\n onError: [options == null ? void 0 : options.onError],\n onRetry: [options == null ? void 0 : options.onRetry]\n };\n if (!options || !(options == null ? void 0 : options.plugins)) {\n return {\n url,\n options: opts,\n hooks\n };\n }\n for (const plugin of (options == null ? void 0 : options.plugins) || []) {\n if (plugin.init) {\n const pluginRes = await ((_a = plugin.init) == null ? void 0 : _a.call(plugin, url.toString(), options));\n opts = pluginRes.options || opts;\n url = pluginRes.url;\n }\n hooks.onRequest.push((_b = plugin.hooks) == null ? void 0 : _b.onRequest);\n hooks.onResponse.push((_c = plugin.hooks) == null ? void 0 : _c.onResponse);\n hooks.onSuccess.push((_d = plugin.hooks) == null ? void 0 : _d.onSuccess);\n hooks.onError.push((_e = plugin.hooks) == null ? void 0 : _e.onError);\n hooks.onRetry.push((_f = plugin.hooks) == null ? void 0 : _f.onRetry);\n }\n return {\n url,\n options: opts,\n hooks\n };\n};\n\n// src/retry.ts\nvar LinearRetryStrategy = class {\n constructor(options) {\n this.options = options;\n }\n shouldAttemptRetry(attempt, response) {\n if (this.options.shouldRetry) {\n return Promise.resolve(\n attempt < this.options.attempts && this.options.shouldRetry(response)\n );\n }\n return Promise.resolve(attempt < this.options.attempts);\n }\n getDelay() {\n return this.options.delay;\n }\n};\nvar ExponentialRetryStrategy = class {\n constructor(options) {\n this.options = options;\n }\n shouldAttemptRetry(attempt, response) {\n if (this.options.shouldRetry) {\n return Promise.resolve(\n attempt < this.options.attempts && this.options.shouldRetry(response)\n );\n }\n return Promise.resolve(attempt < this.options.attempts);\n }\n getDelay(attempt) {\n const delay = Math.min(\n this.options.maxDelay,\n this.options.baseDelay * 2 ** attempt\n );\n return delay;\n }\n};\nfunction createRetryStrategy(options) {\n if (typeof options === \"number\") {\n return new LinearRetryStrategy({\n type: \"linear\",\n attempts: options,\n delay: 1e3\n });\n }\n switch (options.type) {\n case \"linear\":\n return new LinearRetryStrategy(options);\n case \"exponential\":\n return new ExponentialRetryStrategy(options);\n default:\n throw new Error(\"Invalid retry strategy\");\n }\n}\n\n// src/auth.ts\nvar getAuthHeader = async (options) => {\n const headers = {};\n const getValue = async (value) => typeof value === \"function\" ? await value() : value;\n if (options == null ? void 0 : options.auth) {\n if (options.auth.type === \"Bearer\") {\n const token = await getValue(options.auth.token);\n if (!token) {\n return headers;\n }\n headers[\"authorization\"] = `Bearer ${token}`;\n } else if (options.auth.type === \"Basic\") {\n const username = getValue(options.auth.username);\n const password = getValue(options.auth.password);\n if (!username || !password) {\n return headers;\n }\n headers[\"authorization\"] = `Basic ${btoa(`${username}:${password}`)}`;\n } else if (options.auth.type === \"Custom\") {\n const value = getValue(options.auth.value);\n if (!value) {\n return headers;\n }\n headers[\"authorization\"] = `${getValue(options.auth.prefix)} ${value}`;\n }\n }\n return headers;\n};\n\n// src/utils.ts\nvar JSON_RE = /^application\\/(?:[\\w!#$%&*.^`~-]*\\+)?json(;.+)?$/i;\nfunction detectResponseType(request) {\n const _contentType = request.headers.get(\"content-type\");\n const textTypes = /* @__PURE__ */ new Set([\n \"image/svg\",\n \"application/xml\",\n \"application/xhtml\",\n \"application/html\"\n ]);\n if (!_contentType) {\n return \"json\";\n }\n const contentType = _contentType.split(\";\").shift() || \"\";\n if (JSON_RE.test(contentType)) {\n return \"json\";\n }\n if (textTypes.has(contentType) || contentType.startsWith(\"text/\")) {\n return \"text\";\n }\n return \"blob\";\n}\nfunction isJSONParsable(value) {\n try {\n JSON.parse(value);\n return true;\n } catch (error) {\n return false;\n }\n}\nfunction isJSONSerializable(value) {\n if (value === void 0) {\n return false;\n }\n const t = typeof value;\n if (t === \"string\" || t === \"number\" || t === \"boolean\" || t === null) {\n return true;\n }\n if (t !== \"object\") {\n return false;\n }\n if (Array.isArray(value)) {\n return true;\n }\n if (value.buffer) {\n return false;\n }\n return value.constructor && value.constructor.name === \"Object\" || typeof value.toJSON === \"function\";\n}\nfunction jsonParse(text) {\n try {\n return JSON.parse(text);\n } catch (error) {\n return text;\n }\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction getFetch(options) {\n if (options == null ? void 0 : options.customFetchImpl) {\n return options.customFetchImpl;\n }\n if (typeof globalThis !== \"undefined\" && isFunction(globalThis.fetch)) {\n return globalThis.fetch;\n }\n if (typeof window !== \"undefined\" && isFunction(window.fetch)) {\n return window.fetch;\n }\n throw new Error(\"No fetch implementation found\");\n}\nfunction isPayloadMethod(method) {\n if (!method) {\n return false;\n }\n const payloadMethod = [\"POST\", \"PUT\", \"PATCH\", \"DELETE\"];\n return payloadMethod.includes(method.toUpperCase());\n}\nfunction isRouteMethod(method) {\n const routeMethod = [\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\"];\n if (!method) {\n return false;\n }\n return routeMethod.includes(method.toUpperCase());\n}\nasync function getHeaders(opts) {\n const headers = new Headers(opts == null ? void 0 : opts.headers);\n const authHeader = await getAuthHeader(opts);\n for (const [key, value] of Object.entries(authHeader || {})) {\n headers.set(key, value);\n }\n if (!headers.has(\"content-type\")) {\n const t = detectContentType(opts == null ? void 0 : opts.body);\n if (t) {\n headers.set(\"content-type\", t);\n }\n }\n return headers;\n}\nfunction getURL(url, options) {\n if (url.startsWith(\"@\")) {\n const m = url.toString().split(\"@\")[1].split(\"/\")[0];\n if (methods.includes(m)) {\n url = url.replace(`@${m}/`, \"/\");\n }\n }\n let _url;\n try {\n if (url.startsWith(\"http\")) {\n _url = url;\n } else {\n let baseURL = options == null ? void 0 : options.baseURL;\n if (baseURL && !(baseURL == null ? void 0 : baseURL.endsWith(\"/\"))) {\n baseURL = baseURL + \"/\";\n }\n if (url.startsWith(\"/\")) {\n _url = new URL(url.substring(1), baseURL);\n } else {\n _url = new URL(url, options == null ? void 0 : options.baseURL);\n }\n }\n } catch (e) {\n if (e instanceof TypeError) {\n if (!(options == null ? void 0 : options.baseURL)) {\n throw TypeError(\n `Invalid URL ${url}. Are you passing in a relative url but not setting the baseURL?`\n );\n }\n throw TypeError(\n `Invalid URL ${url}. Please validate that you are passing the correct input.`\n );\n }\n throw e;\n }\n if (options == null ? void 0 : options.params) {\n if (Array.isArray(options == null ? void 0 : options.params)) {\n const params = (options == null ? void 0 : options.params) ? Array.isArray(options.params) ? `/${options.params.join(\"/\")}` : `/${Object.values(options.params).join(\"/\")}` : \"\";\n _url = _url.toString().split(\"/:\")[0];\n _url = `${_url.toString()}${params}`;\n } else {\n for (const [key, value] of Object.entries(options == null ? void 0 : options.params)) {\n _url = _url.toString().replace(`:${key}`, String(value));\n }\n }\n }\n const __url = new URL(_url);\n const queryParams = options == null ? void 0 : options.query;\n if (queryParams) {\n for (const [key, value] of Object.entries(queryParams)) {\n __url.searchParams.append(key, String(value));\n }\n }\n return __url;\n}\nfunction detectContentType(body) {\n if (isJSONSerializable(body)) {\n return \"application/json\";\n }\n return null;\n}\nfunction getBody(options) {\n if (!(options == null ? void 0 : options.body)) {\n return null;\n }\n const headers = new Headers(options == null ? void 0 : options.headers);\n if (isJSONSerializable(options.body) && !headers.has(\"content-type\")) {\n for (const [key, value] of Object.entries(options == null ? void 0 : options.body)) {\n if (value instanceof Date) {\n options.body[key] = value.toISOString();\n }\n }\n return JSON.stringify(options.body);\n }\n return options.body;\n}\nfunction getMethod(url, options) {\n var _a;\n if (options == null ? void 0 : options.method) {\n return options.method.toUpperCase();\n }\n if (url.startsWith(\"@\")) {\n const pMethod = (_a = url.split(\"@\")[1]) == null ? void 0 : _a.split(\"/\")[0];\n if (!methods.includes(pMethod)) {\n return (options == null ? void 0 : options.body) ? \"POST\" : \"GET\";\n }\n return pMethod.toUpperCase();\n }\n return (options == null ? void 0 : options.body) ? \"POST\" : \"GET\";\n}\nfunction getTimeout(options, controller) {\n let abortTimeout;\n if (!(options == null ? void 0 : options.signal) && (options == null ? void 0 : options.timeout)) {\n abortTimeout = setTimeout(() => controller == null ? void 0 : controller.abort(), options == null ? void 0 : options.timeout);\n }\n return {\n abortTimeout,\n clearTimeout: () => {\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n }\n };\n}\nfunction bodyParser(data, responseType) {\n if (responseType === \"json\") {\n return JSON.parse(data);\n }\n return data;\n}\nvar ValidationError = class _ValidationError extends Error {\n constructor(issues, message) {\n super(message || JSON.stringify(issues, null, 2));\n this.issues = issues;\n Object.setPrototypeOf(this, _ValidationError.prototype);\n }\n};\nasync function parseStandardSchema(schema, input) {\n let result = await schema[\"~standard\"].validate(input);\n if (result.issues) {\n throw new ValidationError(result.issues);\n }\n return result.value;\n}\n\n// src/create-fetch/schema.ts\nvar methods = [\"get\", \"post\", \"put\", \"patch\", \"delete\"];\nvar createSchema = (schema, config) => {\n return {\n schema,\n config\n };\n};\n\n// src/create-fetch/index.ts\nvar applySchemaPlugin = (config) => ({\n id: \"apply-schema\",\n name: \"Apply Schema\",\n version: \"1.0.0\",\n async init(url, options) {\n var _a, _b, _c, _d;\n const schema = ((_b = (_a = config.plugins) == null ? void 0 : _a.find(\n (plugin) => {\n var _a2;\n return ((_a2 = plugin.schema) == null ? void 0 : _a2.config) ? url.startsWith(plugin.schema.config.baseURL || \"\") || url.startsWith(plugin.schema.config.prefix || \"\") : false;\n }\n )) == null ? void 0 : _b.schema) || config.schema;\n if (schema) {\n let urlKey = url;\n if ((_c = schema.config) == null ? void 0 : _c.prefix) {\n if (urlKey.startsWith(schema.config.prefix)) {\n urlKey = urlKey.replace(schema.config.prefix, \"\");\n if (schema.config.baseURL) {\n url = url.replace(schema.config.prefix, schema.config.baseURL);\n }\n }\n }\n if ((_d = schema.config) == null ? void 0 : _d.baseURL) {\n if (urlKey.startsWith(schema.config.baseURL)) {\n urlKey = urlKey.replace(schema.config.baseURL, \"\");\n }\n }\n const keySchema = schema.schema[urlKey];\n if (keySchema) {\n let opts = __spreadProps(__spreadValues({}, options), {\n method: keySchema.method,\n output: keySchema.output\n });\n if (!(options == null ? void 0 : options.disableValidation)) {\n opts = __spreadProps(__spreadValues({}, opts), {\n body: keySchema.input ? await parseStandardSchema(keySchema.input, options == null ? void 0 : options.body) : options == null ? void 0 : options.body,\n params: keySchema.params ? await parseStandardSchema(keySchema.params, options == null ? void 0 : options.params) : options == null ? void 0 : options.params,\n query: keySchema.query ? await parseStandardSchema(keySchema.query, options == null ? void 0 : options.query) : options == null ? void 0 : options.query\n });\n }\n return {\n url,\n options: opts\n };\n }\n }\n return {\n url,\n options\n };\n }\n});\nvar createFetch = (config) => {\n async function $fetch(url, options) {\n const opts = __spreadProps(__spreadValues(__spreadValues({}, config), options), {\n plugins: [...(config == null ? void 0 : config.plugins) || [], applySchemaPlugin(config || {})]\n });\n if (config == null ? void 0 : config.catchAllError) {\n try {\n return await betterFetch(url, opts);\n } catch (error) {\n return {\n data: null,\n error: {\n status: 500,\n statusText: \"Fetch Error\",\n message: \"Fetch related error. Captured by catchAllError option. See error property for more details.\",\n error\n }\n };\n }\n }\n return await betterFetch(url, opts);\n }\n return $fetch;\n};\n\n// src/url.ts\nfunction getURL2(url, option) {\n let { baseURL, params, query } = option || {\n query: {},\n params: {},\n baseURL: \"\"\n };\n let basePath = url.startsWith(\"http\") ? url.split(\"/\").slice(0, 3).join(\"/\") : baseURL || \"\";\n if (url.startsWith(\"@\")) {\n const m = url.toString().split(\"@\")[1].split(\"/\")[0];\n if (methods.includes(m)) {\n url = url.replace(`@${m}/`, \"/\");\n }\n }\n if (!basePath.endsWith(\"/\")) basePath += \"/\";\n let [path, urlQuery] = url.replace(basePath, \"\").split(\"?\");\n const queryParams = new URLSearchParams(urlQuery);\n for (const [key, value] of Object.entries(query || {})) {\n if (value == null) continue;\n queryParams.set(key, String(value));\n }\n if (params) {\n if (Array.isArray(params)) {\n const paramPaths = path.split(\"/\").filter((p) => p.startsWith(\":\"));\n for (const [index, key] of paramPaths.entries()) {\n const value = params[index];\n path = path.replace(key, value);\n }\n } else {\n for (const [key, value] of Object.entries(params)) {\n path = path.replace(`:${key}`, String(value));\n }\n }\n }\n path = path.split(\"/\").map(encodeURIComponent).join(\"/\");\n if (path.startsWith(\"/\")) path = path.slice(1);\n let queryParamString = queryParams.toString();\n queryParamString = queryParamString.length > 0 ? `?${queryParamString}`.replace(/\\+/g, \"%20\") : \"\";\n if (!basePath.startsWith(\"http\")) {\n return `${basePath}${path}${queryParamString}`;\n }\n const _url = new URL(`${path}${queryParamString}`, basePath);\n return _url;\n}\n\n// src/fetch.ts\nvar betterFetch = async (url, options) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const {\n hooks,\n url: __url,\n options: opts\n } = await initializePlugins(url, options);\n const fetch = getFetch(opts);\n const controller = new AbortController();\n const signal = (_a = opts.signal) != null ? _a : controller.signal;\n const _url = getURL2(__url, opts);\n const body = getBody(opts);\n const headers = await getHeaders(opts);\n const method = getMethod(__url, opts);\n let context = __spreadProps(__spreadValues({}, opts), {\n url: _url,\n headers,\n body,\n method,\n signal\n });\n for (const onRequest of hooks.onRequest) {\n if (onRequest) {\n const res = await onRequest(context);\n if (res instanceof Object) {\n context = res;\n }\n }\n }\n if (\"pipeTo\" in context && typeof context.pipeTo === \"function\" || typeof ((_b = options == null ? void 0 : options.body) == null ? void 0 : _b.pipe) === \"function\") {\n if (!(\"duplex\" in context)) {\n context.duplex = \"half\";\n }\n }\n const { clearTimeout: clearTimeout2 } = getTimeout(opts, controller);\n let response = await fetch(context.url, context);\n clearTimeout2();\n const responseContext = {\n response,\n request: context\n };\n for (const onResponse of hooks.onResponse) {\n if (onResponse) {\n const r = await onResponse(__spreadProps(__spreadValues({}, responseContext), {\n response: ((_c = options == null ? void 0 : options.hookOptions) == null ? void 0 : _c.cloneResponse) ? response.clone() : response\n }));\n if (r instanceof Response) {\n response = r;\n } else if (r instanceof Object) {\n response = r.response;\n }\n }\n }\n if (response.ok) {\n const hasBody = context.method !== \"HEAD\";\n if (!hasBody) {\n return {\n data: \"\",\n error: null\n };\n }\n const responseType = detectResponseType(response);\n const successContext = {\n data: \"\",\n response,\n request: context\n };\n if (responseType === \"json\" || responseType === \"text\") {\n const text = await response.text();\n const parser2 = (_d = context.jsonParser) != null ? _d : jsonParse;\n const data = await parser2(text);\n successContext.data = data;\n } else {\n successContext.data = await response[responseType]();\n }\n if (context == null ? void 0 : context.output) {\n if (context.output && !context.disableValidation) {\n successContext.data = await parseStandardSchema(\n context.output,\n successContext.data\n );\n }\n }\n for (const onSuccess of hooks.onSuccess) {\n if (onSuccess) {\n await onSuccess(__spreadProps(__spreadValues({}, successContext), {\n response: ((_e = options == null ? void 0 : options.hookOptions) == null ? void 0 : _e.cloneResponse) ? response.clone() : response\n }));\n }\n }\n if (options == null ? void 0 : options.throw) {\n return successContext.data;\n }\n return {\n data: successContext.data,\n error: null\n };\n }\n const parser = (_f = options == null ? void 0 : options.jsonParser) != null ? _f : jsonParse;\n const responseText = await response.text();\n const isJSONResponse = isJSONParsable(responseText);\n const errorObject = isJSONResponse ? await parser(responseText) : null;\n const errorContext = {\n response,\n responseText,\n request: context,\n error: __spreadProps(__spreadValues({}, errorObject), {\n status: response.status,\n statusText: response.statusText\n })\n };\n for (const onError of hooks.onError) {\n if (onError) {\n await onError(__spreadProps(__spreadValues({}, errorContext), {\n response: ((_g = options == null ? void 0 : options.hookOptions) == null ? void 0 : _g.cloneResponse) ? response.clone() : response\n }));\n }\n }\n if (options == null ? void 0 : options.retry) {\n const retryStrategy = createRetryStrategy(options.retry);\n const _retryAttempt = (_h = options.retryAttempt) != null ? _h : 0;\n if (await retryStrategy.shouldAttemptRetry(_retryAttempt, response)) {\n for (const onRetry of hooks.onRetry) {\n if (onRetry) {\n await onRetry(responseContext);\n }\n }\n const delay = retryStrategy.getDelay(_retryAttempt);\n await new Promise((resolve) => setTimeout(resolve, delay));\n return await betterFetch(url, __spreadProps(__spreadValues({}, options), {\n retryAttempt: _retryAttempt + 1\n }));\n }\n }\n if (options == null ? void 0 : options.throw) {\n throw new BetterFetchError(\n response.status,\n response.statusText,\n isJSONResponse ? errorObject : responseText\n );\n }\n return {\n data: null,\n error: __spreadProps(__spreadValues({}, errorObject), {\n status: response.status,\n statusText: response.statusText\n })\n };\n};\nexport {\n BetterFetchError,\n ValidationError,\n applySchemaPlugin,\n betterFetch,\n bodyParser,\n createFetch,\n createRetryStrategy,\n createSchema,\n detectContentType,\n detectResponseType,\n getBody,\n getFetch,\n getHeaders,\n getMethod,\n getTimeout,\n getURL,\n initializePlugins,\n isFunction,\n isJSONParsable,\n isJSONSerializable,\n isPayloadMethod,\n isRouteMethod,\n jsonParse,\n methods,\n parseStandardSchema\n};\n//# sourceMappingURL=index.js.map","import { t as getBaseURL } from \"./url-C4fqRUH1.mjs\";\nimport { t as parseJSON } from \"./parser-kwbb5q_C.mjs\";\nimport { atom, onMount } from \"nanostores\";\nimport { createFetch } from \"@better-fetch/fetch\";\n\n//#region src/client/broadcast-channel.ts\nconst kBroadcastChannel = Symbol.for(\"better-auth:broadcast-channel\");\nconst now$1 = () => Math.floor(Date.now() / 1e3);\nvar WindowBroadcastChannel = class {\n\tlisteners = /* @__PURE__ */ new Set();\n\tname;\n\tconstructor(name = \"better-auth.message\") {\n\t\tthis.name = name;\n\t}\n\tsubscribe(listener) {\n\t\tthis.listeners.add(listener);\n\t\treturn () => {\n\t\t\tthis.listeners.delete(listener);\n\t\t};\n\t}\n\tpost(message) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\tlocalStorage.setItem(this.name, JSON.stringify({\n\t\t\t\t...message,\n\t\t\t\ttimestamp: now$1()\n\t\t\t}));\n\t\t} catch {}\n\t}\n\tsetup() {\n\t\tif (typeof window === \"undefined\" || typeof window.addEventListener === \"undefined\") return () => {};\n\t\tconst handler = (event) => {\n\t\t\tif (event.key !== this.name) return;\n\t\t\tconst message = JSON.parse(event.newValue ?? \"{}\");\n\t\t\tif (message?.event !== \"session\" || !message?.data) return;\n\t\t\tthis.listeners.forEach((listener) => listener(message));\n\t\t};\n\t\twindow.addEventListener(\"storage\", handler);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"storage\", handler);\n\t\t};\n\t}\n};\nfunction getGlobalBroadcastChannel(name = \"better-auth.message\") {\n\tif (!globalThis[kBroadcastChannel]) globalThis[kBroadcastChannel] = new WindowBroadcastChannel(name);\n\treturn globalThis[kBroadcastChannel];\n}\n\n//#endregion\n//#region src/client/focus-manager.ts\nconst kFocusManager = Symbol.for(\"better-auth:focus-manager\");\nvar WindowFocusManager = class {\n\tlisteners = /* @__PURE__ */ new Set();\n\tsubscribe(listener) {\n\t\tthis.listeners.add(listener);\n\t\treturn () => {\n\t\t\tthis.listeners.delete(listener);\n\t\t};\n\t}\n\tsetFocused(focused) {\n\t\tthis.listeners.forEach((listener) => listener(focused));\n\t}\n\tsetup() {\n\t\tif (typeof window === \"undefined\" || typeof document === \"undefined\" || typeof window.addEventListener === \"undefined\") return () => {};\n\t\tconst onFocus = () => this.setFocused(true);\n\t\tconst visibilityHandler = () => {\n\t\t\tif (document.visibilityState === \"visible\") this.setFocused(true);\n\t\t};\n\t\twindow.addEventListener(\"focus\", onFocus, false);\n\t\tdocument.addEventListener(\"visibilitychange\", visibilityHandler, false);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"focus\", onFocus, false);\n\t\t\tdocument.removeEventListener(\"visibilitychange\", visibilityHandler, false);\n\t\t};\n\t}\n};\nfunction getGlobalFocusManager() {\n\tif (!globalThis[kFocusManager]) globalThis[kFocusManager] = new WindowFocusManager();\n\treturn globalThis[kFocusManager];\n}\n\n//#endregion\n//#region src/client/online-manager.ts\nconst kOnlineManager = Symbol.for(\"better-auth:online-manager\");\nvar WindowOnlineManager = class {\n\tlisteners = /* @__PURE__ */ new Set();\n\tisOnline = typeof navigator !== \"undefined\" ? navigator.onLine : true;\n\tsubscribe(listener) {\n\t\tthis.listeners.add(listener);\n\t\treturn () => {\n\t\t\tthis.listeners.delete(listener);\n\t\t};\n\t}\n\tsetOnline(online) {\n\t\tthis.isOnline = online;\n\t\tthis.listeners.forEach((listener) => listener(online));\n\t}\n\tsetup() {\n\t\tif (typeof window === \"undefined\" || typeof window.addEventListener === \"undefined\") return () => {};\n\t\tconst onOnline = () => this.setOnline(true);\n\t\tconst onOffline = () => this.setOnline(false);\n\t\twindow.addEventListener(\"online\", onOnline, false);\n\t\twindow.addEventListener(\"offline\", onOffline, false);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"online\", onOnline, false);\n\t\t\twindow.removeEventListener(\"offline\", onOffline, false);\n\t\t};\n\t}\n};\nfunction getGlobalOnlineManager() {\n\tif (!globalThis[kOnlineManager]) globalThis[kOnlineManager] = new WindowOnlineManager();\n\treturn globalThis[kOnlineManager];\n}\n\n//#endregion\n//#region src/client/query.ts\nconst isServer = () => typeof window === \"undefined\";\nconst useAuthQuery = (initializedAtom, path, $fetch, options) => {\n\tconst value = atom({\n\t\tdata: null,\n\t\terror: null,\n\t\tisPending: true,\n\t\tisRefetching: false,\n\t\trefetch: (queryParams) => fn(queryParams)\n\t});\n\tconst fn = async (queryParams) => {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst opts = typeof options === \"function\" ? options({\n\t\t\t\tdata: value.get().data,\n\t\t\t\terror: value.get().error,\n\t\t\t\tisPending: value.get().isPending\n\t\t\t}) : options;\n\t\t\t$fetch(path, {\n\t\t\t\t...opts,\n\t\t\t\tquery: {\n\t\t\t\t\t...opts?.query,\n\t\t\t\t\t...queryParams?.query\n\t\t\t\t},\n\t\t\t\tasync onSuccess(context) {\n\t\t\t\t\tvalue.set({\n\t\t\t\t\t\tdata: context.data,\n\t\t\t\t\t\terror: null,\n\t\t\t\t\t\tisPending: false,\n\t\t\t\t\t\tisRefetching: false,\n\t\t\t\t\t\trefetch: value.value.refetch\n\t\t\t\t\t});\n\t\t\t\t\tawait opts?.onSuccess?.(context);\n\t\t\t\t},\n\t\t\t\tasync onError(context) {\n\t\t\t\t\tconst { request } = context;\n\t\t\t\t\tconst retryAttempts = typeof request.retry === \"number\" ? request.retry : request.retry?.attempts;\n\t\t\t\t\tconst retryAttempt = request.retryAttempt || 0;\n\t\t\t\t\tif (retryAttempts && retryAttempt < retryAttempts) return;\n\t\t\t\t\tvalue.set({\n\t\t\t\t\t\terror: context.error,\n\t\t\t\t\t\tdata: null,\n\t\t\t\t\t\tisPending: false,\n\t\t\t\t\t\tisRefetching: false,\n\t\t\t\t\t\trefetch: value.value.refetch\n\t\t\t\t\t});\n\t\t\t\t\tawait opts?.onError?.(context);\n\t\t\t\t},\n\t\t\t\tasync onRequest(context) {\n\t\t\t\t\tconst currentValue = value.get();\n\t\t\t\t\tvalue.set({\n\t\t\t\t\t\tisPending: currentValue.data === null,\n\t\t\t\t\t\tdata: currentValue.data,\n\t\t\t\t\t\terror: null,\n\t\t\t\t\t\tisRefetching: true,\n\t\t\t\t\t\trefetch: value.value.refetch\n\t\t\t\t\t});\n\t\t\t\t\tawait opts?.onRequest?.(context);\n\t\t\t\t}\n\t\t\t}).catch((error) => {\n\t\t\t\tvalue.set({\n\t\t\t\t\terror,\n\t\t\t\t\tdata: null,\n\t\t\t\t\tisPending: false,\n\t\t\t\t\tisRefetching: false,\n\t\t\t\t\trefetch: value.value.refetch\n\t\t\t\t});\n\t\t\t}).finally(() => {\n\t\t\t\tresolve(void 0);\n\t\t\t});\n\t\t});\n\t};\n\tinitializedAtom = Array.isArray(initializedAtom) ? initializedAtom : [initializedAtom];\n\tlet isMounted = false;\n\tfor (const initAtom of initializedAtom) initAtom.subscribe(async () => {\n\t\tif (isServer()) return;\n\t\tif (isMounted) await fn();\n\t\telse onMount(value, () => {\n\t\t\tconst timeoutId = setTimeout(async () => {\n\t\t\t\tif (!isMounted) {\n\t\t\t\t\tawait fn();\n\t\t\t\t\tisMounted = true;\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t\treturn () => {\n\t\t\t\tvalue.off();\n\t\t\t\tinitAtom.off();\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t};\n\t\t});\n\t});\n\treturn value;\n};\n\n//#endregion\n//#region src/client/session-refresh.ts\nconst now = () => Math.floor(Date.now() / 1e3);\n/**\n* Rate limit: don't refetch on focus if a session request was made within this many seconds\n*/\nconst FOCUS_REFETCH_RATE_LIMIT_SECONDS = 5;\nfunction createSessionRefreshManager(opts) {\n\tconst { sessionAtom, sessionSignal, $fetch, options = {} } = opts;\n\tconst refetchInterval = options.sessionOptions?.refetchInterval ?? 0;\n\tconst refetchOnWindowFocus = options.sessionOptions?.refetchOnWindowFocus ?? true;\n\tconst refetchWhenOffline = options.sessionOptions?.refetchWhenOffline ?? false;\n\tconst state = {\n\t\tlastSync: 0,\n\t\tlastSessionRequest: 0,\n\t\tcachedSession: void 0\n\t};\n\tconst shouldRefetch = () => {\n\t\treturn refetchWhenOffline || getGlobalOnlineManager().isOnline;\n\t};\n\tconst triggerRefetch = (event) => {\n\t\tif (!shouldRefetch()) return;\n\t\tif (event?.event === \"storage\") {\n\t\t\tstate.lastSync = now();\n\t\t\tsessionSignal.set(!sessionSignal.get());\n\t\t\treturn;\n\t\t}\n\t\tconst currentSession = sessionAtom.get();\n\t\tif (event?.event === \"poll\") {\n\t\t\tstate.lastSessionRequest = now();\n\t\t\t$fetch(\"/get-session\").then((res) => {\n\t\t\t\tsessionAtom.set({\n\t\t\t\t\t...currentSession,\n\t\t\t\t\tdata: res.data,\n\t\t\t\t\terror: res.error || null\n\t\t\t\t});\n\t\t\t\tstate.lastSync = now();\n\t\t\t\tsessionSignal.set(!sessionSignal.get());\n\t\t\t}).catch(() => {});\n\t\t\treturn;\n\t\t}\n\t\tif (event?.event === \"visibilitychange\") {\n\t\t\tif (now() - state.lastSessionRequest < FOCUS_REFETCH_RATE_LIMIT_SECONDS && currentSession?.data !== null && currentSession?.data !== void 0) return;\n\t\t}\n\t\tif (currentSession?.data === null || currentSession?.data === void 0 || event?.event === \"visibilitychange\") {\n\t\t\tif (event?.event === \"visibilitychange\") state.lastSessionRequest = now();\n\t\t\tstate.lastSync = now();\n\t\t\tsessionSignal.set(!sessionSignal.get());\n\t\t}\n\t};\n\tconst broadcastSessionUpdate = (trigger) => {\n\t\tgetGlobalBroadcastChannel().post({\n\t\t\tevent: \"session\",\n\t\t\tdata: { trigger },\n\t\t\tclientId: Math.random().toString(36).substring(7)\n\t\t});\n\t};\n\tconst setupPolling = () => {\n\t\tif (refetchInterval && refetchInterval > 0) state.pollInterval = setInterval(() => {\n\t\t\tif (sessionAtom.get()?.data) triggerRefetch({ event: \"poll\" });\n\t\t}, refetchInterval * 1e3);\n\t};\n\tconst setupBroadcast = () => {\n\t\tstate.unsubscribeBroadcast = getGlobalBroadcastChannel().subscribe(() => {\n\t\t\ttriggerRefetch({ event: \"storage\" });\n\t\t});\n\t};\n\tconst setupFocusRefetch = () => {\n\t\tif (!refetchOnWindowFocus) return;\n\t\tstate.unsubscribeFocus = getGlobalFocusManager().subscribe(() => {\n\t\t\ttriggerRefetch({ event: \"visibilitychange\" });\n\t\t});\n\t};\n\tconst setupOnlineRefetch = () => {\n\t\tstate.unsubscribeOnline = getGlobalOnlineManager().subscribe((online) => {\n\t\t\tif (online) triggerRefetch({ event: \"visibilitychange\" });\n\t\t});\n\t};\n\tconst init = () => {\n\t\tsetupPolling();\n\t\tsetupBroadcast();\n\t\tsetupFocusRefetch();\n\t\tsetupOnlineRefetch();\n\t\tgetGlobalBroadcastChannel().setup();\n\t\tgetGlobalFocusManager().setup();\n\t\tgetGlobalOnlineManager().setup();\n\t};\n\tconst cleanup = () => {\n\t\tif (state.pollInterval) {\n\t\t\tclearInterval(state.pollInterval);\n\t\t\tstate.pollInterval = void 0;\n\t\t}\n\t\tif (state.unsubscribeBroadcast) {\n\t\t\tstate.unsubscribeBroadcast();\n\t\t\tstate.unsubscribeBroadcast = void 0;\n\t\t}\n\t\tif (state.unsubscribeFocus) {\n\t\t\tstate.unsubscribeFocus();\n\t\t\tstate.unsubscribeFocus = void 0;\n\t\t}\n\t\tif (state.unsubscribeOnline) {\n\t\t\tstate.unsubscribeOnline();\n\t\t\tstate.unsubscribeOnline = void 0;\n\t\t}\n\t\tstate.lastSync = 0;\n\t\tstate.lastSessionRequest = 0;\n\t\tstate.cachedSession = void 0;\n\t};\n\treturn {\n\t\tinit,\n\t\tcleanup,\n\t\ttriggerRefetch,\n\t\tbroadcastSessionUpdate\n\t};\n}\n\n//#endregion\n//#region src/client/fetch-plugins.ts\nconst redirectPlugin = {\n\tid: \"redirect\",\n\tname: \"Redirect\",\n\thooks: { onSuccess(context) {\n\t\tif (context.data?.url && context.data?.redirect) {\n\t\t\tif (typeof window !== \"undefined\" && window.location) {\n\t\t\t\tif (window.location) try {\n\t\t\t\t\twindow.location.href = context.data.url;\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t}\n\t} }\n};\nconst userAgentPlugin = {\n\tid: \"user-agent\",\n\tname: \"UserAgent\",\n\thooks: { onRequest(context) {\n\t\tcontext.headers.append(\"user-agent\", \"better-auth\");\n\t} }\n};\n\n//#endregion\n//#region src/client/session-atom.ts\nfunction getSessionAtom($fetch, options) {\n\tconst $signal = atom(false);\n\tconst session = useAuthQuery($signal, \"/get-session\", $fetch, { method: \"GET\" });\n\tonMount(session, () => {\n\t\tconst refreshManager = createSessionRefreshManager({\n\t\t\tsessionAtom: session,\n\t\t\tsessionSignal: $signal,\n\t\t\t$fetch,\n\t\t\toptions\n\t\t});\n\t\trefreshManager.init();\n\t\treturn () => {\n\t\t\trefreshManager.cleanup();\n\t\t};\n\t});\n\treturn {\n\t\tsession,\n\t\t$sessionSignal: $signal\n\t};\n}\n\n//#endregion\n//#region src/client/config.ts\nconst getClientConfig = (options, loadEnv) => {\n\tconst isCredentialsSupported = \"credentials\" in Request.prototype;\n\tconst baseURL = getBaseURL(options?.baseURL, options?.basePath, void 0, loadEnv) ?? \"/api/auth\";\n\tconst pluginsFetchPlugins = options?.plugins?.flatMap((plugin) => plugin.fetchPlugins).filter((pl) => pl !== void 0) || [];\n\tconst lifeCyclePlugin = {\n\t\tid: \"lifecycle-hooks\",\n\t\tname: \"lifecycle-hooks\",\n\t\thooks: {\n\t\t\tonSuccess: options?.fetchOptions?.onSuccess,\n\t\t\tonError: options?.fetchOptions?.onError,\n\t\t\tonRequest: options?.fetchOptions?.onRequest,\n\t\t\tonResponse: options?.fetchOptions?.onResponse\n\t\t}\n\t};\n\tconst { onSuccess, onError, onRequest, onResponse, ...restOfFetchOptions } = options?.fetchOptions || {};\n\tconst $fetch = createFetch({\n\t\tbaseURL,\n\t\t...isCredentialsSupported ? { credentials: \"include\" } : {},\n\t\tmethod: \"GET\",\n\t\tjsonParser(text) {\n\t\t\tif (!text) return null;\n\t\t\treturn parseJSON(text, { strict: false });\n\t\t},\n\t\tcustomFetchImpl: fetch,\n\t\t...restOfFetchOptions,\n\t\tplugins: [\n\t\t\tlifeCyclePlugin,\n\t\t\t...restOfFetchOptions.plugins || [],\n\t\t\t...options?.disableDefaultFetchPlugins ? [] : [userAgentPlugin, redirectPlugin],\n\t\t\t...pluginsFetchPlugins\n\t\t]\n\t});\n\tconst { $sessionSignal, session } = getSessionAtom($fetch, options);\n\tconst plugins = options?.plugins || [];\n\tlet pluginsActions = {};\n\tlet pluginsAtoms = {\n\t\t$sessionSignal,\n\t\tsession\n\t};\n\tlet pluginPathMethods = {\n\t\t\"/sign-out\": \"POST\",\n\t\t\"/revoke-sessions\": \"POST\",\n\t\t\"/revoke-other-sessions\": \"POST\",\n\t\t\"/delete-user\": \"POST\"\n\t};\n\tconst atomListeners = [{\n\t\tsignal: \"$sessionSignal\",\n\t\tmatcher(path) {\n\t\t\treturn path === \"/sign-out\" || path === \"/update-user\" || path === \"/sign-up/email\" || path === \"/sign-in/email\" || path === \"/delete-user\" || path === \"/verify-email\" || path === \"/revoke-sessions\" || path === \"/revoke-session\" || path === \"/change-email\";\n\t\t}\n\t}];\n\tfor (const plugin of plugins) {\n\t\tif (plugin.getAtoms) Object.assign(pluginsAtoms, plugin.getAtoms?.($fetch));\n\t\tif (plugin.pathMethods) Object.assign(pluginPathMethods, plugin.pathMethods);\n\t\tif (plugin.atomListeners) atomListeners.push(...plugin.atomListeners);\n\t}\n\tconst $store = {\n\t\tnotify: (signal) => {\n\t\t\tpluginsAtoms[signal].set(!pluginsAtoms[signal].get());\n\t\t},\n\t\tlisten: (signal, listener) => {\n\t\t\tpluginsAtoms[signal].subscribe(listener);\n\t\t},\n\t\tatoms: pluginsAtoms\n\t};\n\tfor (const plugin of plugins) if (plugin.getActions) Object.assign(pluginsActions, plugin.getActions?.($fetch, $store, options));\n\treturn {\n\t\tget baseURL() {\n\t\t\treturn baseURL;\n\t\t},\n\t\tpluginsActions,\n\t\tpluginsAtoms,\n\t\tpluginPathMethods,\n\t\tatomListeners,\n\t\t$fetch,\n\t\t$store\n\t};\n};\n\n//#endregion\n//#region src/utils/is-atom.ts\nfunction isAtom(value) {\n\treturn typeof value === \"object\" && value !== null && \"get\" in value && typeof value.get === \"function\" && \"lc\" in value && typeof value.lc === \"number\";\n}\n\n//#endregion\n//#region src/client/proxy.ts\nfunction getMethod(path, knownPathMethods, args) {\n\tconst method = knownPathMethods[path];\n\tconst { fetchOptions, query, ...body } = args || {};\n\tif (method) return method;\n\tif (fetchOptions?.method) return fetchOptions.method;\n\tif (body && Object.keys(body).length > 0) return \"POST\";\n\treturn \"GET\";\n}\nfunction createDynamicPathProxy(routes, client, knownPathMethods, atoms, atomListeners) {\n\tfunction createProxy(path = []) {\n\t\treturn new Proxy(function() {}, {\n\t\t\tget(_, prop) {\n\t\t\t\tif (typeof prop !== \"string\") return;\n\t\t\t\tif (prop === \"then\" || prop === \"catch\" || prop === \"finally\") return;\n\t\t\t\tconst fullPath = [...path, prop];\n\t\t\t\tlet current = routes;\n\t\t\t\tfor (const segment of fullPath) if (current && typeof current === \"object\" && segment in current) current = current[segment];\n\t\t\t\telse {\n\t\t\t\t\tcurrent = void 0;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (typeof current === \"function\") return current;\n\t\t\t\tif (isAtom(current)) return current;\n\t\t\t\treturn createProxy(fullPath);\n\t\t\t},\n\t\t\tapply: async (_, __, args) => {\n\t\t\t\tconst routePath = \"/\" + path.map((segment) => segment.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)).join(\"/\");\n\t\t\t\tconst arg = args[0] || {};\n\t\t\t\tconst fetchOptions = args[1] || {};\n\t\t\t\tconst { query, fetchOptions: argFetchOptions, ...body } = arg;\n\t\t\t\tconst options = {\n\t\t\t\t\t...fetchOptions,\n\t\t\t\t\t...argFetchOptions\n\t\t\t\t};\n\t\t\t\tconst method = getMethod(routePath, knownPathMethods, arg);\n\t\t\t\treturn await client(routePath, {\n\t\t\t\t\t...options,\n\t\t\t\t\tbody: method === \"GET\" ? void 0 : {\n\t\t\t\t\t\t...body,\n\t\t\t\t\t\t...options?.body || {}\n\t\t\t\t\t},\n\t\t\t\t\tquery: query || options?.query,\n\t\t\t\t\tmethod,\n\t\t\t\t\tasync onSuccess(context) {\n\t\t\t\t\t\tawait options?.onSuccess?.(context);\n\t\t\t\t\t\tif (!atomListeners || options.disableSignal) return;\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t* We trigger listeners\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tconst matches = atomListeners.filter((s) => s.matcher(routePath));\n\t\t\t\t\t\tif (!matches.length) return;\n\t\t\t\t\t\tfor (const match of matches) {\n\t\t\t\t\t\t\tconst signal = atoms[match.signal];\n\t\t\t\t\t\t\tif (!signal) return;\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t* To avoid race conditions we set the signal in a setTimeout\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tconst val = signal.get();\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tsignal.set(!val);\n\t\t\t\t\t\t\t}, 10);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\treturn createProxy();\n}\n\n//#endregion\nexport { kOnlineManager as a, kBroadcastChannel as c, useAuthQuery as i, getClientConfig as n, kFocusManager as o, createSessionRefreshManager as r, getGlobalBroadcastChannel as s, createDynamicPathProxy as t };","import \"../../url-C4fqRUH1.mjs\";\nimport { n as getClientConfig, t as createDynamicPathProxy } from \"../../proxy-DZR0bcsP.mjs\";\nimport \"../../parser-kwbb5q_C.mjs\";\nimport { listenKeys } from \"nanostores\";\nimport { useCallback, useRef, useSyncExternalStore } from \"react\";\n\n//#region src/client/react/react-store.ts\n/**\n* Subscribe to store changes and get store's value.\n*\n* Can be used with store builder too.\n*\n* ```js\n* import { useStore } from 'nanostores/react'\n*\n* import { router } from '../store/router'\n*\n* export const Layout = () => {\n* let page = useStore(router)\n* if (page.route === 'home') {\n* return <HomePage />\n* } else {\n* return <Error404 />\n* }\n* }\n* ```\n*\n* @param store Store instance.\n* @returns Store value.\n*/\nfunction useStore(store, options = {}) {\n\tlet snapshotRef = useRef(store.get());\n\tconst { keys, deps = [store, keys] } = options;\n\tlet subscribe = useCallback((onChange) => {\n\t\tconst emitChange = (value) => {\n\t\t\tif (snapshotRef.current === value) return;\n\t\t\tsnapshotRef.current = value;\n\t\t\tonChange();\n\t\t};\n\t\temitChange(store.value);\n\t\tif (keys?.length) return listenKeys(store, keys, emitChange);\n\t\treturn store.listen(emitChange);\n\t}, deps);\n\tlet get = () => snapshotRef.current;\n\treturn useSyncExternalStore(subscribe, get, get);\n}\n\n//#endregion\n//#region src/client/react/index.ts\nfunction getAtomKey(str) {\n\treturn `use${capitalizeFirstLetter(str)}`;\n}\nfunction capitalizeFirstLetter(str) {\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\n}\nfunction createAuthClient(options) {\n\tconst { pluginPathMethods, pluginsActions, pluginsAtoms, $fetch, $store, atomListeners } = getClientConfig(options);\n\tlet resolvedHooks = {};\n\tfor (const [key, value] of Object.entries(pluginsAtoms)) resolvedHooks[getAtomKey(key)] = () => useStore(value);\n\treturn createDynamicPathProxy({\n\t\t...pluginsActions,\n\t\t...resolvedHooks,\n\t\t$fetch,\n\t\t$store\n\t}, $fetch, pluginPathMethods, pluginsAtoms, atomListeners);\n}\n\n//#endregion\nexport { capitalizeFirstLetter, createAuthClient, useStore };","import { createAuthClient } from \"better-auth/react\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const authClient = createAuthClient({\r\n baseURL: clientEnv.VITE_API_URL,\r\n});\r\n"],"names":["dataGridCsCz","datePickersCsCz","csCZ","dataGridEnUs","datePickersEnUs","enUS","getMethod","fetch"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9]}
|