@sth87/shadcn-design-system 0.1.3 → 0.1.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/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +1 -0
- package/dist/cjs/styles/index.css +1 -1
- package/dist/cjs/utils/parsers.cjs +1 -1
- package/dist/cjs/utils/parsers.cjs.map +1 -1
- package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +1 -0
- package/dist/esm/styles/index.css +1 -1
- package/dist/esm/utils/parsers.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.cjs.map +0 -1
- package/dist/esm/node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js.map +0 -1
- /package/dist/cjs/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.cjs +0 -0
- /package/dist/esm/node_modules/.pnpm/{nuqs@2.8.0_next@15.5.9_@babel_core@7.28.5_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1 → nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1}/node_modules/nuqs/dist/server.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.cjs","sources":["../../../../../../../../../../node_modules/.pnpm/nuqs@2.8.0_next@15.5.9_react-dom@19.1.1_react@19.1.1__react@19.1.1__react@19.1.1/node_modules/nuqs/dist/server.js"],"sourcesContent":["import * as React from \"react\";\n\n//#region src/lib/errors.ts\nconst errors = {\n\t303: \"Multiple adapter contexts detected. This might happen in monorepos.\",\n\t404: \"nuqs requires an adapter to work with your framework.\",\n\t409: \"Multiple versions of the library are loaded. This may lead to unexpected behavior. Currently using `%s`, but `%s` (via the %s adapter) was about to load on top.\",\n\t414: \"Max safe URL length exceeded. Some browsers may not be able to accept this URL. Consider limiting the amount of state stored in the URL.\",\n\t422: \"Invalid options combination: `limitUrlUpdates: debounce` should be used in SSR scenarios, with `shallow: false`\",\n\t429: \"URL update rate-limited by the browser. Consider increasing `throttleMs` for key(s) `%s`. %O\",\n\t500: \"Empty search params cache. Search params can't be accessed in Layouts.\",\n\t501: \"Search params cache already populated. Have you called `parse` twice?\"\n};\nfunction error(code) {\n\treturn `[nuqs] ${errors[code]}\n See https://nuqs.dev/NUQS-${code}`;\n}\n\n//#endregion\n//#region src/lib/search-params.ts\nfunction isAbsentFromUrl(query) {\n\treturn query === null || Array.isArray(query) && query.length === 0;\n}\nfunction write(serialized, key, searchParams) {\n\tif (typeof serialized === \"string\") searchParams.set(key, serialized);\n\telse {\n\t\tsearchParams.delete(key);\n\t\tfor (const v of serialized) searchParams.append(key, v);\n\t\tif (!searchParams.has(key)) searchParams.set(key, \"\");\n\t}\n\treturn searchParams;\n}\n\n//#endregion\n//#region src/loader.ts\nfunction createLoader(parsers, { urlKeys = {} } = {}) {\n\tfunction loadSearchParams(input, { strict = false } = {}) {\n\t\tif (input instanceof Promise) return input.then((i) => loadSearchParams(i, { strict }));\n\t\tconst searchParams = extractSearchParams(input);\n\t\tconst result = {};\n\t\tfor (const [key, parser] of Object.entries(parsers)) {\n\t\t\tconst urlKey = urlKeys[key] ?? key;\n\t\t\tconst query = parser.type === \"multi\" ? searchParams.getAll(urlKey) : searchParams.get(urlKey);\n\t\t\tif (isAbsentFromUrl(query)) {\n\t\t\t\tresult[key] = parser.defaultValue ?? null;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet parsedValue;\n\t\t\ttry {\n\t\t\t\tparsedValue = parser.parse(query);\n\t\t\t} catch (error$1) {\n\t\t\t\tif (strict) throw new Error(`[nuqs] Error while parsing query \\`${query}\\` for key \\`${key}\\`: ${error$1}`);\n\t\t\t\tparsedValue = null;\n\t\t\t}\n\t\t\tif (strict && query && parsedValue === null) throw new Error(`[nuqs] Failed to parse query \\`${query}\\` for key \\`${key}\\` (got null)`);\n\t\t\tresult[key] = parsedValue ?? parser.defaultValue ?? null;\n\t\t}\n\t\treturn result;\n\t}\n\treturn loadSearchParams;\n}\nfunction extractSearchParams(input) {\n\ttry {\n\t\tif (input instanceof Request) return input.url ? new URL(input.url).searchParams : new URLSearchParams();\n\t\tif (input instanceof URL) return input.searchParams;\n\t\tif (input instanceof URLSearchParams) return input;\n\t\tif (typeof input === \"object\") {\n\t\t\tconst searchParams = new URLSearchParams();\n\t\t\tfor (const [key, value] of Object.entries(input)) if (Array.isArray(value)) for (const v of value) searchParams.append(key, v);\n\t\t\telse if (value !== void 0) searchParams.set(key, value);\n\t\t\treturn searchParams;\n\t\t}\n\t\tif (typeof input === \"string\") {\n\t\t\tif (URL.hasOwnProperty(\"canParse\") && URL.canParse(input)) return new URL(input).searchParams;\n\t\t\treturn new URLSearchParams(input);\n\t\t}\n\t} catch {}\n\treturn new URLSearchParams();\n}\n\n//#endregion\n//#region src/cache.ts\nconst $input = Symbol(\"Input\");\nfunction createSearchParamsCache(parsers, { urlKeys = {} } = {}) {\n\tconst load = createLoader(parsers, { urlKeys });\n\tconst getCache = React.cache(() => ({ searchParams: {} }));\n\tfunction parseSync(searchParams, loaderOptions) {\n\t\tconst c = getCache();\n\t\tif (Object.isFrozen(c.searchParams)) {\n\t\t\tif (c[$input] && compareSearchParams(searchParams, c[$input])) return all();\n\t\t\tthrow new Error(error(501));\n\t\t}\n\t\tc.searchParams = load(searchParams, loaderOptions);\n\t\tc[$input] = searchParams;\n\t\treturn Object.freeze(c.searchParams);\n\t}\n\tfunction parse(searchParams, loaderOptions = {}) {\n\t\tif (searchParams instanceof Promise) return searchParams.then((searchParams$1) => parseSync(searchParams$1, loaderOptions));\n\t\treturn parseSync(searchParams, loaderOptions);\n\t}\n\tfunction all() {\n\t\tconst { searchParams } = getCache();\n\t\tif (Object.keys(searchParams).length === 0) throw new Error(error(500));\n\t\treturn searchParams;\n\t}\n\tfunction get(key) {\n\t\tconst { searchParams } = getCache();\n\t\tconst entry = searchParams[key];\n\t\tif (typeof entry === \"undefined\") throw new Error(error(500) + `\n in get(${String(key)})`);\n\t\treturn entry;\n\t}\n\treturn {\n\t\tparse,\n\t\tget,\n\t\tall\n\t};\n}\nfunction compareSearchParams(a, b) {\n\tif (a === b) return true;\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (const key in a) if (a[key] !== b[key]) return false;\n\treturn true;\n}\n\n//#endregion\n//#region src/lib/queues/rate-limiting.ts\nfunction getDefaultThrottle() {\n\tif (typeof window === \"undefined\") return 50;\n\tif (!Boolean(window.GestureEvent)) return 50;\n\ttry {\n\t\tconst match = navigator.userAgent?.match(/version\\/([\\d\\.]+) safari/i);\n\t\treturn parseFloat(match[1]) >= 17 ? 120 : 320;\n\t} catch {\n\t\treturn 320;\n\t}\n}\nfunction throttle(timeMs) {\n\treturn {\n\t\tmethod: \"throttle\",\n\t\ttimeMs\n\t};\n}\nfunction debounce(timeMs) {\n\treturn {\n\t\tmethod: \"debounce\",\n\t\ttimeMs\n\t};\n}\nconst defaultRateLimit = throttle(getDefaultThrottle());\n\n//#endregion\n//#region src/lib/debug.ts\nconst debugEnabled = isDebugEnabled();\nfunction warn(message, ...args) {\n\tif (!debugEnabled) return;\n\tconsole.warn(message, ...args);\n}\nfunction isDebugEnabled() {\n\ttry {\n\t\tconst test = \"nuqs-localStorage-test\";\n\t\tif (typeof localStorage === \"undefined\") return false;\n\t\tlocalStorage.setItem(test, test);\n\t\tconst isStorageAvailable = localStorage.getItem(test) === test;\n\t\tlocalStorage.removeItem(test);\n\t\treturn isStorageAvailable && (localStorage.getItem(\"debug\") || \"\").includes(\"nuqs\");\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n//#endregion\n//#region src/lib/safe-parse.ts\nfunction safeParse(parser, value, key) {\n\ttry {\n\t\treturn parser(value);\n\t} catch (error$1) {\n\t\twarn(\"[nuqs] Error while parsing value `%s`: %O\" + (key ? \" (for key `%s`)\" : \"\"), value, error$1, key);\n\t\treturn null;\n\t}\n}\n\n//#endregion\n//#region src/parsers.ts\n/**\n* Wrap a set of parse/serialize functions into a builder pattern parser\n* you can pass to one of the hooks, making its default value type safe.\n*/\nfunction createParser(parser) {\n\tfunction parseServerSideNullable(value) {\n\t\tif (typeof value === \"undefined\") return null;\n\t\tlet str = \"\";\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value[0] === void 0) return null;\n\t\t\tstr = value[0];\n\t\t}\n\t\tif (typeof value === \"string\") str = value;\n\t\treturn safeParse(parser.parse, str);\n\t}\n\treturn {\n\t\ttype: \"single\",\n\t\teq: (a, b) => a === b,\n\t\t...parser,\n\t\tparseServerSide: parseServerSideNullable,\n\t\twithDefault(defaultValue) {\n\t\t\treturn {\n\t\t\t\t...this,\n\t\t\t\tdefaultValue,\n\t\t\t\tparseServerSide(value) {\n\t\t\t\t\treturn parseServerSideNullable(value) ?? defaultValue;\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\twithOptions(options) {\n\t\t\treturn {\n\t\t\t\t...this,\n\t\t\t\t...options\n\t\t\t};\n\t\t}\n\t};\n}\nfunction createMultiParser(parser) {\n\tfunction parseServerSideNullable(value) {\n\t\tif (typeof value === \"undefined\") return null;\n\t\treturn safeParse(parser.parse, Array.isArray(value) ? value : [value]);\n\t}\n\treturn {\n\t\ttype: \"multi\",\n\t\teq: (a, b) => a === b,\n\t\t...parser,\n\t\tparseServerSide: parseServerSideNullable,\n\t\twithDefault(defaultValue) {\n\t\t\treturn {\n\t\t\t\t...this,\n\t\t\t\tdefaultValue,\n\t\t\t\tparseServerSide(value) {\n\t\t\t\t\treturn parseServerSideNullable(value) ?? defaultValue;\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\twithOptions(options) {\n\t\t\treturn {\n\t\t\t\t...this,\n\t\t\t\t...options\n\t\t\t};\n\t\t}\n\t};\n}\nconst parseAsString = createParser({\n\tparse: (v) => v,\n\tserialize: String\n});\nconst parseAsInteger = createParser({\n\tparse: (v) => {\n\t\tconst int = parseInt(v);\n\t\treturn int == int ? int : null;\n\t},\n\tserialize: (v) => \"\" + Math.round(v)\n});\nconst parseAsIndex = createParser({\n\tparse: (v) => {\n\t\tconst int = parseInt(v);\n\t\treturn int == int ? int - 1 : null;\n\t},\n\tserialize: (v) => \"\" + Math.round(v + 1)\n});\nconst parseAsHex = createParser({\n\tparse: (v) => {\n\t\tconst int = parseInt(v, 16);\n\t\treturn int == int ? int : null;\n\t},\n\tserialize: (v) => {\n\t\tconst hex = Math.round(v).toString(16);\n\t\treturn (hex.length & 1 ? \"0\" : \"\") + hex;\n\t}\n});\nconst parseAsFloat = createParser({\n\tparse: (v) => {\n\t\tconst float = parseFloat(v);\n\t\treturn float == float ? float : null;\n\t},\n\tserialize: String\n});\nconst parseAsBoolean = createParser({\n\tparse: (v) => v.toLowerCase() === \"true\",\n\tserialize: String\n});\nfunction compareDates(a, b) {\n\treturn a.valueOf() === b.valueOf();\n}\n/**\n* Querystring encoded as the number of milliseconds since epoch,\n* and returned as a Date object.\n*/\nconst parseAsTimestamp = createParser({\n\tparse: (v) => {\n\t\tconst ms = parseInt(v);\n\t\treturn ms == ms ? new Date(ms) : null;\n\t},\n\tserialize: (v) => \"\" + v.valueOf(),\n\teq: compareDates\n});\n/**\n* Querystring encoded as an ISO-8601 string (UTC),\n* and returned as a Date object.\n*/\nconst parseAsIsoDateTime = createParser({\n\tparse: (v) => {\n\t\tconst date = new Date(v);\n\t\treturn date.valueOf() == date.valueOf() ? date : null;\n\t},\n\tserialize: (v) => v.toISOString(),\n\teq: compareDates\n});\n/**\n* Querystring encoded as an ISO-8601 string (UTC)\n* without the time zone offset, and returned as\n* a Date object.\n*\n* The Date is parsed without the time zone offset,\n* making it at 00:00:00 UTC.\n*/\nconst parseAsIsoDate = createParser({\n\tparse: (v) => {\n\t\tconst date = new Date(v.slice(0, 10));\n\t\treturn date.valueOf() == date.valueOf() ? date : null;\n\t},\n\tserialize: (v) => v.toISOString().slice(0, 10),\n\teq: compareDates\n});\n/**\n* String-based enums provide better type-safety for known sets of values.\n* You will need to pass the parseAsStringEnum function a list of your enum values\n* in order to validate the query string. Anything else will return `null`,\n* or your default value if specified.\n*\n* Example:\n* ```ts\n* enum Direction {\n* up = 'UP',\n* down = 'DOWN',\n* left = 'LEFT',\n* right = 'RIGHT'\n* }\n*\n* const [direction, setDirection] = useQueryState(\n* 'direction',\n* parseAsStringEnum<Direction>(Object.values(Direction)) // pass a list of allowed values\n* .withDefault(Direction.up)\n* )\n* ```\n*\n* Note: the query string value will be the value of the enum, not its name\n* (example above: `direction=UP`).\n*\n* @param validValues The values you want to accept\n*/\nfunction parseAsStringEnum(validValues) {\n\treturn parseAsStringLiteral(validValues);\n}\n/**\n* String-based literals provide better type-safety for known sets of values.\n* You will need to pass the parseAsStringLiteral function a list of your string values\n* in order to validate the query string. Anything else will return `null`,\n* or your default value if specified.\n*\n* Example:\n* ```ts\n* const colors = [\"red\", \"green\", \"blue\"] as const\n*\n* const [color, setColor] = useQueryState(\n* 'color',\n* parseAsStringLiteral(colors) // pass a readonly list of allowed values\n* .withDefault(\"red\")\n* )\n* ```\n*\n* @param validValues The values you want to accept\n*/\nfunction parseAsStringLiteral(validValues) {\n\treturn createParser({\n\t\tparse: (query) => {\n\t\t\tconst asConst = query;\n\t\t\treturn validValues.includes(asConst) ? asConst : null;\n\t\t},\n\t\tserialize: String\n\t});\n}\n/**\n* Number-based literals provide better type-safety for known sets of values.\n* You will need to pass the parseAsNumberLiteral function a list of your number values\n* in order to validate the query string. Anything else will return `null`,\n* or your default value if specified.\n*\n* Example:\n* ```ts\n* const diceSides = [1, 2, 3, 4, 5, 6] as const\n*\n* const [side, setSide] = useQueryState(\n* 'side',\n* parseAsNumberLiteral(diceSides) // pass a readonly list of allowed values\n* .withDefault(4)\n* )\n* ```\n*\n* @param validValues The values you want to accept\n*/\nfunction parseAsNumberLiteral(validValues) {\n\treturn createParser({\n\t\tparse: (query) => {\n\t\t\tconst asConst = parseFloat(query);\n\t\t\tif (validValues.includes(asConst)) return asConst;\n\t\t\treturn null;\n\t\t},\n\t\tserialize: String\n\t});\n}\n/**\n* Encode any object shape into the querystring value as JSON.\n* Note: you may want to use `useQueryStates` for finer control over\n* multiple related query keys.\n*\n* @param runtimeParser Runtime parser (eg: Zod schema or Standard Schema) to validate after JSON.parse\n*/\nfunction parseAsJson(validator) {\n\treturn createParser({\n\t\tparse: (query) => {\n\t\t\ttry {\n\t\t\t\tconst obj = JSON.parse(query);\n\t\t\t\tif (\"~standard\" in validator) {\n\t\t\t\t\tconst result = validator[\"~standard\"].validate(obj);\n\t\t\t\t\tif (result instanceof Promise) throw new Error(\"[nuqs] Only synchronous Standard Schemas are supported in parseAsJson.\");\n\t\t\t\t\treturn result.issues ? null : result.value;\n\t\t\t\t}\n\t\t\t\treturn validator(obj);\n\t\t\t} catch {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tserialize: (value) => JSON.stringify(value),\n\t\teq(a, b) {\n\t\t\treturn a === b || JSON.stringify(a) === JSON.stringify(b);\n\t\t}\n\t});\n}\n/**\n* A comma-separated list of items.\n* Items are URI-encoded for safety, so they may not look nice in the URL.\n*\n* @param itemParser Parser for each individual item in the array\n* @param separator The character to use to separate items (default ',')\n*/\nfunction parseAsArrayOf(itemParser, separator = \",\") {\n\tconst itemEq = itemParser.eq ?? ((a, b) => a === b);\n\tconst encodedSeparator = encodeURIComponent(separator);\n\treturn createParser({\n\t\tparse: (query) => {\n\t\t\tif (query === \"\") return [];\n\t\t\treturn query.split(separator).map((item, index) => safeParse(itemParser.parse, item.replaceAll(encodedSeparator, separator), `[${index}]`)).filter((value) => value !== null && value !== void 0);\n\t\t},\n\t\tserialize: (values) => values.map((value) => {\n\t\t\treturn (itemParser.serialize ? itemParser.serialize(value) : String(value)).replaceAll(separator, encodedSeparator);\n\t\t}).join(separator),\n\t\teq(a, b) {\n\t\t\tif (a === b) return true;\n\t\t\tif (a.length !== b.length) return false;\n\t\t\treturn a.every((value, index) => itemEq(value, b[index]));\n\t\t}\n\t});\n}\nfunction parseAsNativeArrayOf(itemParser) {\n\tconst itemEq = itemParser.eq ?? ((a, b) => a === b);\n\treturn createMultiParser({\n\t\tparse: (query) => {\n\t\t\tconst parsed = query.map((item, index) => safeParse(itemParser.parse, item, `[${index}]`)).filter((value) => value !== null && value !== void 0);\n\t\t\treturn parsed.length === 0 ? null : parsed;\n\t\t},\n\t\tserialize: (values) => {\n\t\t\treturn (Array.isArray(values) ? values : [values]).flatMap((value) => {\n\t\t\t\tconst serialized = itemParser.serialize?.(value) ?? String(value);\n\t\t\t\treturn typeof serialized === \"string\" ? [serialized] : [...serialized];\n\t\t\t});\n\t\t},\n\t\teq(a, b) {\n\t\t\tif (a === b) return true;\n\t\t\tif (a.length !== b.length) return false;\n\t\t\treturn a.every((value, index) => itemEq(value, b[index]));\n\t\t}\n\t}).withDefault([]);\n}\n\n//#endregion\n//#region src/lib/url-encoding.ts\nfunction renderQueryString(search) {\n\tif (search.size === 0) return \"\";\n\tconst query = [];\n\tfor (const [key, value] of search.entries()) {\n\t\tconst safeKey = key.replace(/#/g, \"%23\").replace(/&/g, \"%26\").replace(/\\+/g, \"%2B\").replace(/=/g, \"%3D\").replace(/\\?/g, \"%3F\");\n\t\tquery.push(`${safeKey}=${encodeQueryValue(value)}`);\n\t}\n\tconst queryString = \"?\" + query.join(\"&\");\n\twarnIfURLIsTooLong(queryString);\n\treturn queryString;\n}\nfunction encodeQueryValue(input) {\n\treturn input.replace(/%/g, \"%25\").replace(/\\+/g, \"%2B\").replace(/ /g, \"+\").replace(/#/g, \"%23\").replace(/&/g, \"%26\").replace(/\"/g, \"%22\").replace(/'/g, \"%27\").replace(/`/g, \"%60\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/[\\x00-\\x1F]/g, (char) => encodeURIComponent(char));\n}\nconst URL_MAX_LENGTH = 2e3;\nfunction warnIfURLIsTooLong(queryString) {\n\tif (process.env.NODE_ENV === \"production\") return;\n\tif (typeof location === \"undefined\") return;\n\tconst url = new URL(location.href);\n\turl.search = queryString;\n\tif (url.href.length > URL_MAX_LENGTH) console.warn(error(414));\n}\n\n//#endregion\n//#region src/serializer.ts\nfunction createSerializer(parsers, { clearOnDefault = true, urlKeys = {}, processUrlSearchParams } = {}) {\n\tfunction serialize(arg1BaseOrValues, arg2values = {}) {\n\t\tlet [base, search] = isBase(arg1BaseOrValues) ? splitBase(arg1BaseOrValues) : [\"\", new URLSearchParams()];\n\t\tconst values = isBase(arg1BaseOrValues) ? arg2values : arg1BaseOrValues;\n\t\tif (values === null) {\n\t\t\tfor (const key in parsers) {\n\t\t\t\tconst urlKey = urlKeys[key] ?? key;\n\t\t\t\tsearch.delete(urlKey);\n\t\t\t}\n\t\t\tif (processUrlSearchParams) search = processUrlSearchParams(search);\n\t\t\treturn base + renderQueryString(search);\n\t\t}\n\t\tfor (const key in parsers) {\n\t\t\tconst parser = parsers[key];\n\t\t\tconst value = values[key];\n\t\t\tif (!parser || value === void 0) continue;\n\t\t\tconst urlKey = urlKeys[key] ?? key;\n\t\t\tconst isMatchingDefault = parser.defaultValue !== void 0 && value !== null && (parser.eq ?? ((a, b) => a === b))(value, parser.defaultValue);\n\t\t\tif (value === null || (parser.clearOnDefault ?? clearOnDefault ?? true) && isMatchingDefault) search.delete(urlKey);\n\t\t\telse search = write(parser.serialize(value), urlKey, search);\n\t\t}\n\t\tif (processUrlSearchParams) search = processUrlSearchParams(search);\n\t\treturn base + renderQueryString(search);\n\t}\n\treturn serialize;\n}\nfunction isBase(base) {\n\treturn typeof base === \"string\" || base instanceof URLSearchParams || base instanceof URL;\n}\nfunction splitBase(base) {\n\tif (typeof base === \"string\") {\n\t\tconst [path = \"\", ...search] = base.split(\"?\");\n\t\treturn [path, new URLSearchParams(search.join(\"?\"))];\n\t} else if (base instanceof URLSearchParams) return [\"\", new URLSearchParams(base)];\n\telse return [base.origin + base.pathname, new URLSearchParams(base.searchParams)];\n}\n\n//#endregion\n//#region src/standard-schema.ts\nfunction createStandardSchemaV1(parsers, { urlKeys, partialOutput = false } = {}) {\n\tconst serialize = createSerializer(parsers, { urlKeys });\n\tconst load = createLoader(parsers, { urlKeys });\n\treturn { \"~standard\": {\n\t\tversion: 1,\n\t\tvendor: \"nuqs\",\n\t\tvalidate(input) {\n\t\t\ttry {\n\t\t\t\tconst value = load(serialize(input), { strict: true });\n\t\t\t\tif (partialOutput) {\n\t\t\t\t\tfor (const key in value) if (!(key in input)) delete value[key];\n\t\t\t\t}\n\t\t\t\treturn { value };\n\t\t\t} catch (error$1) {\n\t\t\t\treturn { issues: [{ message: error$1 instanceof Error ? error$1.message : String(error$1) }] };\n\t\t\t}\n\t\t}\n\t} };\n}\n\n//#endregion\nexport { createLoader, createMultiParser, createParser, createSearchParamsCache, createSerializer, createStandardSchemaV1, debounce, defaultRateLimit, parseAsArrayOf, parseAsBoolean, parseAsFloat, parseAsHex, parseAsIndex, parseAsInteger, parseAsIsoDate, parseAsIsoDateTime, parseAsJson, parseAsNativeArrayOf, parseAsNumberLiteral, parseAsString, parseAsStringEnum, parseAsStringLiteral, parseAsTimestamp, throttle };\n//# sourceMappingURL=server.js.map"],"names":["getDefaultThrottle","match","throttle","timeMs","debugEnabled","isDebugEnabled","warn","message","args","test","isStorageAvailable","safeParse","parser","value","key","error$1","createParser","parseServerSideNullable","str","a","b","defaultValue","options","v","int","hex","float","compareDates","ms","date"],"mappings":"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","x_google_ignoreList":[0]}
|