wcz-test 6.14.0 → 6.20.0
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/ApprovalStatus-C9HPyMiS.js.map +1 -1
- package/dist/DialogsHooks-Bi8dZoyu.js +338 -0
- package/dist/DialogsHooks-Bi8dZoyu.js.map +1 -0
- package/dist/FileHooks-hWKTwLCr.js +195 -0
- package/dist/FileHooks-hWKTwLCr.js.map +1 -0
- package/dist/FileMeta-G1oT3mYK.js.map +1 -1
- package/dist/{RouterListItemButton-Cx7rXEfm.js → RouterListItemButton-CHS7rofI.js} +4 -4
- package/dist/RouterListItemButton-CHS7rofI.js.map +1 -0
- package/dist/auth-client-B6cIXYDV.js +1417 -0
- package/dist/auth-client-B6cIXYDV.js.map +1 -0
- package/dist/client.d.ts +61 -49
- package/dist/client.js +7 -3
- package/dist/client.js.map +1 -1
- package/dist/components.js +68 -3405
- package/dist/components.js.map +1 -1
- package/dist/env-CoxTjaDr.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 +6 -2
- package/dist/hooks.js +35 -1040
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +90 -504
- package/dist/index.js.map +1 -1
- package/dist/manifest.webmanifest +18 -18
- package/dist/models.d.ts +10 -10
- package/dist/models.js +4 -4
- package/dist/models.js.map +1 -1
- package/dist/queries.d.ts +6 -6
- package/dist/queries.js +2 -2
- package/dist/queries.js.map +1 -1
- package/dist/server-mxQ3s5dx-CC81W42s.js +644 -0
- package/dist/server-mxQ3s5dx-CC81W42s.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +8659 -5
- package/dist/server.js.map +1 -1
- package/dist/{utils-JYv9O0GI.js → utils-DKyKGba7.js} +2 -1
- package/dist/utils-DKyKGba7.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -0
- package/dist/vite.js +3 -0
- package/dist/vite.js.map +1 -1
- package/package.json +120 -116
- package/dist/DialogsHooks-BlUsVlfv.js +0 -39
- package/dist/DialogsHooks-BlUsVlfv.js.map +0 -1
- package/dist/FileHooks-41k6-RtZ.js +0 -3262
- package/dist/FileHooks-41k6-RtZ.js.map +0 -1
- package/dist/RouterListItemButton-Cx7rXEfm.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/utils-JYv9O0GI.js.map +0 -1
|
@@ -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\";\nimport { grey } from \"@mui/material/colors\";\nimport { csCZ, enUS } from \"@mui/material/locale\";\nimport { csCZ as dataGridCsCz, enUS as dataGridEnUs } from \"@mui/x-data-grid/locales\";\nimport { csCZ as datePickersCsCz, enUS as datePickersEnUs } from \"@mui/x-date-pickers/locales\";\nimport { useTranslation } from \"react-i18next\";\nimport type { CssVarsThemeOptions } from \"@mui/material\";\n\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\n\nconst LOCALE_MAP = {\n cs: [dataGridCsCz, datePickersCsCz, csCZ],\n en: [dataGridEnUs, datePickersEnUs, enUS],\n} as const;\n\nexport const useGetTheme = (theme?: Pick<CssVarsThemeOptions, \"colorSchemes\" | \"components\">) => {\n const { i18n } = useTranslation();\n\n return createTheme(\n {\n cssVariables: {\n colorSchemeSelector: \"data-mui-color-scheme\"\n },\n colorSchemes: {\n light: {\n palette: {\n primary: { main: WISTRON_PRIMARY_COLOR },\n secondary: { main: WISTRON_SECONDARY_COLOR },\n },\n },\n dark: {\n palette: {\n primary: { main: lighten(WISTRON_PRIMARY_COLOR, 0.5) },\n secondary: { main: darken(WISTRON_SECONDARY_COLOR, 0.5) },\n },\n },\n ...theme?.colorSchemes\n },\n components: {\n MuiCssBaseline: {\n styleOverrides: ({ palette }) => {\n return {\n body: {\n \"&::-webkit-scrollbar, & *::-webkit-scrollbar\": {\n width: \"0.7em\",\n height: \"0.7em\",\n },\n \"&::-webkit-scrollbar-track, & *::-webkit-scrollbar-track\": {\n backgroundColor:\n palette.mode === \"dark\" ? grey[900] : grey[200],\n borderRadius: \"5px\",\n },\n \"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb\": {\n backgroundColor:\n palette.mode === \"dark\" ? grey[800] : grey[400],\n borderRadius: \"10px\",\n },\n \"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover\":\n {\n backgroundColor:\n palette.mode === \"dark\" ? grey[700] : grey[500],\n },\n \"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner\": {\n backgroundColor: \"transparent\",\n },\n },\n };\n },\n },\n ...theme?.components\n },\n },\n ...LOCALE_MAP[i18n.language as keyof typeof LOCALE_MAP]\n );\n};\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\";\nimport { clientEnv } from \"~/env\";\n\nexport const authClient = createAuthClient({\n baseURL: clientEnv.VITE_API_URL,\n});\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]}
|
package/dist/client.d.ts
CHANGED
|
@@ -6,19 +6,21 @@ import { ClientFetchOption } from 'better-auth';
|
|
|
6
6
|
import { ErrorContext } from '@better-fetch/fetch';
|
|
7
7
|
import { FetchEsque } from '@better-fetch/fetch';
|
|
8
8
|
import { OAuth2UserInfo } from 'better-auth';
|
|
9
|
-
import { Prettify } from 'better-auth/react';
|
|
10
9
|
import { RequestContext } from '@better-fetch/fetch';
|
|
11
10
|
import { ResponseContext } from '@better-fetch/fetch';
|
|
12
11
|
import { RetryOptions } from '@better-fetch/fetch';
|
|
13
12
|
import { SessionQueryParams } from 'better-auth';
|
|
14
13
|
import { StandardSchemaV1 } from '@better-fetch/fetch';
|
|
15
14
|
import { SuccessContext } from '@better-fetch/fetch';
|
|
15
|
+
import { t } from 'i18next';
|
|
16
|
+
import { u } from 'node_modules/better-auth/dist/helper-DU33OcfW.d.mts';
|
|
17
|
+
import { useTranslation } from 'react-i18next';
|
|
16
18
|
import { WritableAtom } from 'nanostores';
|
|
17
19
|
|
|
18
20
|
export declare const authClient: {
|
|
19
21
|
signIn: {
|
|
20
22
|
social: <FetchOptions extends ClientFetchOption<Partial<{
|
|
21
|
-
provider:
|
|
23
|
+
provider: unknown;
|
|
22
24
|
callbackURL?: string | undefined;
|
|
23
25
|
newUserCallbackURL?: string | undefined;
|
|
24
26
|
errorCallbackURL?: string | undefined;
|
|
@@ -34,8 +36,8 @@ export declare const authClient: {
|
|
|
34
36
|
requestSignUp?: boolean | undefined;
|
|
35
37
|
loginHint?: string | undefined;
|
|
36
38
|
additionalData?: Record<string, any> | undefined;
|
|
37
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
38
|
-
provider:
|
|
39
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
40
|
+
provider: unknown;
|
|
39
41
|
callbackURL?: string | undefined;
|
|
40
42
|
newUserCallbackURL?: string | undefined;
|
|
41
43
|
errorCallbackURL?: string | undefined;
|
|
@@ -55,27 +57,27 @@ export declare const authClient: {
|
|
|
55
57
|
fetchOptions?: FetchOptions | undefined;
|
|
56
58
|
}>, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse<NonNullable<{
|
|
57
59
|
redirect: boolean;
|
|
58
|
-
url: string;
|
|
59
|
-
} | {
|
|
60
|
-
redirect: boolean;
|
|
61
60
|
token: string;
|
|
62
61
|
url: undefined;
|
|
63
62
|
user: {
|
|
64
63
|
id: string;
|
|
65
|
-
createdAt: Date;
|
|
66
|
-
updatedAt: Date;
|
|
67
64
|
email: string;
|
|
68
|
-
emailVerified: boolean;
|
|
69
65
|
name: string;
|
|
70
|
-
image
|
|
66
|
+
image: string | null | undefined;
|
|
67
|
+
emailVerified: boolean;
|
|
68
|
+
createdAt: Date;
|
|
69
|
+
updatedAt: Date;
|
|
71
70
|
};
|
|
71
|
+
} | {
|
|
72
|
+
url: string;
|
|
73
|
+
redirect: boolean;
|
|
72
74
|
}>, {
|
|
73
75
|
code?: string | undefined;
|
|
74
76
|
message?: string | undefined;
|
|
75
77
|
}, FetchOptions["throw"] extends true ? true : false>>;
|
|
76
78
|
};
|
|
77
79
|
} & {
|
|
78
|
-
signOut: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
80
|
+
signOut: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
79
81
|
query?: Record<string, any> | undefined;
|
|
80
82
|
fetchOptions?: FetchOptions | undefined;
|
|
81
83
|
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse< {
|
|
@@ -93,7 +95,7 @@ export declare const authClient: {
|
|
|
93
95
|
image?: string | undefined;
|
|
94
96
|
callbackURL?: string | undefined;
|
|
95
97
|
rememberMe?: boolean | undefined;
|
|
96
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
98
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
97
99
|
email: string;
|
|
98
100
|
name: string;
|
|
99
101
|
password: string;
|
|
@@ -104,23 +106,23 @@ export declare const authClient: {
|
|
|
104
106
|
token: null;
|
|
105
107
|
user: {
|
|
106
108
|
id: string;
|
|
107
|
-
createdAt: Date;
|
|
108
|
-
updatedAt: Date;
|
|
109
109
|
email: string;
|
|
110
|
-
emailVerified: boolean;
|
|
111
110
|
name: string;
|
|
112
|
-
image
|
|
111
|
+
image: string | null | undefined;
|
|
112
|
+
emailVerified: boolean;
|
|
113
|
+
createdAt: Date;
|
|
114
|
+
updatedAt: Date;
|
|
113
115
|
};
|
|
114
116
|
} | {
|
|
115
117
|
token: string;
|
|
116
118
|
user: {
|
|
117
119
|
id: string;
|
|
118
|
-
createdAt: Date;
|
|
119
|
-
updatedAt: Date;
|
|
120
120
|
email: string;
|
|
121
|
-
emailVerified: boolean;
|
|
122
121
|
name: string;
|
|
123
|
-
image
|
|
122
|
+
image: string | null | undefined;
|
|
123
|
+
emailVerified: boolean;
|
|
124
|
+
createdAt: Date;
|
|
125
|
+
updatedAt: Date;
|
|
124
126
|
};
|
|
125
127
|
}>, {
|
|
126
128
|
code?: string | undefined;
|
|
@@ -134,7 +136,7 @@ export declare const authClient: {
|
|
|
134
136
|
password: string;
|
|
135
137
|
callbackURL?: string | undefined;
|
|
136
138
|
rememberMe?: boolean | undefined;
|
|
137
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
139
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
138
140
|
email: string;
|
|
139
141
|
password: string;
|
|
140
142
|
callbackURL?: string | undefined;
|
|
@@ -144,15 +146,15 @@ export declare const authClient: {
|
|
|
144
146
|
}>, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse< {
|
|
145
147
|
redirect: boolean;
|
|
146
148
|
token: string;
|
|
147
|
-
url
|
|
149
|
+
url: string | undefined;
|
|
148
150
|
user: {
|
|
149
151
|
id: string;
|
|
150
|
-
createdAt: Date;
|
|
151
|
-
updatedAt: Date;
|
|
152
152
|
email: string;
|
|
153
|
-
emailVerified: boolean;
|
|
154
153
|
name: string;
|
|
155
|
-
image
|
|
154
|
+
image: string | null | undefined;
|
|
155
|
+
emailVerified: boolean;
|
|
156
|
+
createdAt: Date;
|
|
157
|
+
updatedAt: Date;
|
|
156
158
|
};
|
|
157
159
|
}, {
|
|
158
160
|
code?: string | undefined;
|
|
@@ -165,7 +167,7 @@ export declare const authClient: {
|
|
|
165
167
|
token?: string | undefined;
|
|
166
168
|
}> & Record<string, any>, Partial<{
|
|
167
169
|
token?: string | undefined;
|
|
168
|
-
}> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
170
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
169
171
|
newPassword: string;
|
|
170
172
|
token?: string | undefined;
|
|
171
173
|
} & {
|
|
@@ -180,7 +182,7 @@ export declare const authClient: {
|
|
|
180
182
|
verifyEmail: <FetchOptions extends ClientFetchOption<never, Partial<{
|
|
181
183
|
token: string;
|
|
182
184
|
callbackURL?: string | undefined;
|
|
183
|
-
}> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
185
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
184
186
|
query: {
|
|
185
187
|
token: string;
|
|
186
188
|
callbackURL?: string | undefined;
|
|
@@ -196,7 +198,7 @@ export declare const authClient: {
|
|
|
196
198
|
sendVerificationEmail: <FetchOptions extends ClientFetchOption<Partial<{
|
|
197
199
|
email: string;
|
|
198
200
|
callbackURL?: string | undefined;
|
|
199
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
201
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
200
202
|
email: string;
|
|
201
203
|
callbackURL?: string | undefined;
|
|
202
204
|
} & {
|
|
@@ -211,7 +213,7 @@ export declare const authClient: {
|
|
|
211
213
|
changeEmail: <FetchOptions extends ClientFetchOption<Partial<{
|
|
212
214
|
newEmail: string;
|
|
213
215
|
callbackURL?: string | undefined;
|
|
214
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
216
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
215
217
|
newEmail: string;
|
|
216
218
|
callbackURL?: string | undefined;
|
|
217
219
|
} & {
|
|
@@ -227,7 +229,7 @@ export declare const authClient: {
|
|
|
227
229
|
newPassword: string;
|
|
228
230
|
currentPassword: string;
|
|
229
231
|
revokeOtherSessions?: boolean | undefined;
|
|
230
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
232
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
231
233
|
newPassword: string;
|
|
232
234
|
currentPassword: string;
|
|
233
235
|
revokeOtherSessions?: boolean | undefined;
|
|
@@ -252,7 +254,7 @@ export declare const authClient: {
|
|
|
252
254
|
updateUser: <FetchOptions extends ClientFetchOption<Partial<Partial<{}> & {
|
|
253
255
|
name?: string | undefined;
|
|
254
256
|
image?: string | undefined;
|
|
255
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
257
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
256
258
|
image?: (string | null) | undefined;
|
|
257
259
|
name?: string | undefined;
|
|
258
260
|
fetchOptions?: FetchOptions | undefined;
|
|
@@ -267,7 +269,7 @@ export declare const authClient: {
|
|
|
267
269
|
callbackURL?: string | undefined;
|
|
268
270
|
password?: string | undefined;
|
|
269
271
|
token?: string | undefined;
|
|
270
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
272
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
271
273
|
callbackURL?: string | undefined;
|
|
272
274
|
password?: string | undefined;
|
|
273
275
|
token?: string | undefined;
|
|
@@ -284,7 +286,7 @@ export declare const authClient: {
|
|
|
284
286
|
requestPasswordReset: <FetchOptions extends ClientFetchOption<Partial<{
|
|
285
287
|
email: string;
|
|
286
288
|
redirectTo?: string | undefined;
|
|
287
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
289
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
288
290
|
email: string;
|
|
289
291
|
redirectTo?: string | undefined;
|
|
290
292
|
} & {
|
|
@@ -302,7 +304,7 @@ export declare const authClient: {
|
|
|
302
304
|
callbackURL: string;
|
|
303
305
|
}> & Record<string, any>, {
|
|
304
306
|
token: string;
|
|
305
|
-
}>>(data_0:
|
|
307
|
+
}>>(data_0: u< {
|
|
306
308
|
query: {
|
|
307
309
|
callbackURL: string;
|
|
308
310
|
};
|
|
@@ -313,10 +315,10 @@ export declare const authClient: {
|
|
|
313
315
|
}, FetchOptions["throw"] extends true ? true : false>>;
|
|
314
316
|
};
|
|
315
317
|
} & {
|
|
316
|
-
listSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
318
|
+
listSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
317
319
|
query?: Record<string, any> | undefined;
|
|
318
320
|
fetchOptions?: FetchOptions | undefined;
|
|
319
|
-
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse<
|
|
321
|
+
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse<u< {
|
|
320
322
|
id: string;
|
|
321
323
|
createdAt: Date;
|
|
322
324
|
updatedAt: Date;
|
|
@@ -332,7 +334,7 @@ export declare const authClient: {
|
|
|
332
334
|
} & {
|
|
333
335
|
revokeSession: <FetchOptions extends ClientFetchOption<Partial<{
|
|
334
336
|
token: string;
|
|
335
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
337
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
336
338
|
token: string;
|
|
337
339
|
} & {
|
|
338
340
|
fetchOptions?: FetchOptions | undefined;
|
|
@@ -343,7 +345,7 @@ export declare const authClient: {
|
|
|
343
345
|
message?: string | undefined;
|
|
344
346
|
}, FetchOptions["throw"] extends true ? true : false>>;
|
|
345
347
|
} & {
|
|
346
|
-
revokeSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
348
|
+
revokeSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
347
349
|
query?: Record<string, any> | undefined;
|
|
348
350
|
fetchOptions?: FetchOptions | undefined;
|
|
349
351
|
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse< {
|
|
@@ -353,7 +355,7 @@ export declare const authClient: {
|
|
|
353
355
|
message?: string | undefined;
|
|
354
356
|
}, FetchOptions["throw"] extends true ? true : false>>;
|
|
355
357
|
} & {
|
|
356
|
-
revokeOtherSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
358
|
+
revokeOtherSessions: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
357
359
|
query?: Record<string, any> | undefined;
|
|
358
360
|
fetchOptions?: FetchOptions | undefined;
|
|
359
361
|
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse< {
|
|
@@ -378,7 +380,7 @@ export declare const authClient: {
|
|
|
378
380
|
errorCallbackURL?: string | undefined;
|
|
379
381
|
disableRedirect?: boolean | undefined;
|
|
380
382
|
additionalData?: Record<string, any> | undefined;
|
|
381
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
383
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
382
384
|
provider: unknown;
|
|
383
385
|
callbackURL?: string | undefined;
|
|
384
386
|
idToken?: {
|
|
@@ -403,7 +405,7 @@ export declare const authClient: {
|
|
|
403
405
|
message?: string | undefined;
|
|
404
406
|
}, FetchOptions["throw"] extends true ? true : false>>;
|
|
405
407
|
} & {
|
|
406
|
-
listAccounts: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
408
|
+
listAccounts: <FetchOptions extends ClientFetchOption<never, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
407
409
|
query?: Record<string, any> | undefined;
|
|
408
410
|
fetchOptions?: FetchOptions | undefined;
|
|
409
411
|
}> | undefined, data_1?: FetchOptions | undefined) => Promise<BetterFetchResponse< {
|
|
@@ -423,7 +425,7 @@ export declare const authClient: {
|
|
|
423
425
|
callback: <FetchOptions extends ClientFetchOption<never, Partial<{
|
|
424
426
|
token: string;
|
|
425
427
|
callbackURL?: string | undefined;
|
|
426
|
-
}> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
428
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
427
429
|
query: {
|
|
428
430
|
token: string;
|
|
429
431
|
callbackURL?: string | undefined;
|
|
@@ -441,7 +443,7 @@ export declare const authClient: {
|
|
|
441
443
|
unlinkAccount: <FetchOptions extends ClientFetchOption<Partial<{
|
|
442
444
|
providerId: string;
|
|
443
445
|
accountId?: string | undefined;
|
|
444
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
446
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
445
447
|
providerId: string;
|
|
446
448
|
accountId?: string | undefined;
|
|
447
449
|
} & {
|
|
@@ -457,7 +459,7 @@ export declare const authClient: {
|
|
|
457
459
|
providerId: string;
|
|
458
460
|
accountId?: string | undefined;
|
|
459
461
|
userId?: string | undefined;
|
|
460
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
462
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
461
463
|
providerId: string;
|
|
462
464
|
accountId?: string | undefined;
|
|
463
465
|
userId?: string | undefined;
|
|
@@ -481,7 +483,7 @@ export declare const authClient: {
|
|
|
481
483
|
providerId: string;
|
|
482
484
|
accountId?: string | undefined;
|
|
483
485
|
userId?: string | undefined;
|
|
484
|
-
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0:
|
|
486
|
+
}> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: u< {
|
|
485
487
|
providerId: string;
|
|
486
488
|
accountId?: string | undefined;
|
|
487
489
|
userId?: string | undefined;
|
|
@@ -499,7 +501,7 @@ export declare const authClient: {
|
|
|
499
501
|
} & {
|
|
500
502
|
accountInfo: <FetchOptions extends ClientFetchOption<never, Partial<{
|
|
501
503
|
accountId?: string | undefined;
|
|
502
|
-
}> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
504
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
503
505
|
query?: {
|
|
504
506
|
accountId?: string | undefined;
|
|
505
507
|
} | undefined;
|
|
@@ -515,7 +517,7 @@ export declare const authClient: {
|
|
|
515
517
|
getSession: <FetchOptions extends ClientFetchOption<never, Partial<{
|
|
516
518
|
disableCookieCache?: unknown;
|
|
517
519
|
disableRefresh?: unknown;
|
|
518
|
-
}> & Record<string, any>, Record<string, any> | undefined>>(data_0?:
|
|
520
|
+
}> & Record<string, any>, Record<string, any> | undefined>>(data_0?: u< {
|
|
519
521
|
query?: {
|
|
520
522
|
disableCookieCache?: unknown;
|
|
521
523
|
disableRefresh?: unknown;
|
|
@@ -609,6 +611,12 @@ export declare const authClient: {
|
|
|
609
611
|
id: string;
|
|
610
612
|
name: string;
|
|
611
613
|
hooks: {
|
|
614
|
+
onRequest<T extends Record<string, any>>(context: RequestContext<T>): void;
|
|
615
|
+
};
|
|
616
|
+
} | {
|
|
617
|
+
id: string;
|
|
618
|
+
name: string;
|
|
619
|
+
hooks: {
|
|
612
620
|
onSuccess: ((context: SuccessContext<any>) => Promise<void> | void) | undefined;
|
|
613
621
|
onError: ((context: ErrorContext) => Promise<void> | void) | undefined;
|
|
614
622
|
onRequest: (<T extends Record<string, any>>(context: RequestContext<T>) => Promise<RequestContext | void> | RequestContext | void) | undefined;
|
|
@@ -706,6 +714,10 @@ export declare class Platform {
|
|
|
706
714
|
private static get userAgent();
|
|
707
715
|
}
|
|
708
716
|
|
|
717
|
+
export { t }
|
|
718
|
+
|
|
719
|
+
export { useTranslation }
|
|
720
|
+
|
|
709
721
|
export declare const WISTRON_PRIMARY_COLOR = "#00506E";
|
|
710
722
|
|
|
711
723
|
export declare const WISTRON_SECONDARY_COLOR = "#64DC00";
|
package/dist/client.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { W, b, a } from "./auth-client-
|
|
2
|
-
import {
|
|
1
|
+
import { W, b, a } from "./auth-client-B6cIXYDV.js";
|
|
2
|
+
import { t } from "i18next";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { P } from "./utils-DKyKGba7.js";
|
|
3
5
|
export {
|
|
4
6
|
P as Platform,
|
|
5
7
|
W as WISTRON_PRIMARY_COLOR,
|
|
6
8
|
b as WISTRON_SECONDARY_COLOR,
|
|
7
|
-
a as authClient
|
|
9
|
+
a as authClient,
|
|
10
|
+
t,
|
|
11
|
+
useTranslation
|
|
8
12
|
};
|
|
9
13
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|