Skip to content

Commit abaf33d

Browse files
committed
ref: ensure non-nullable searchParams in adapters
1 parent 3b856e6 commit abaf33d

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

packages/nuqs/src/adapters/next/impl.app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export function NavigationSpy() {
6161

6262
export function useNuqsNextAppRouterAdapter(): AdapterInterface {
6363
const router = useRouter()
64-
const searchParams = useSearchParams()
64+
const searchParams = useSearchParams() ?? new URLSearchParams()
6565
const [optimisticSearchParams, setOptimisticSearchParams] =
6666
useOptimistic<URLSearchParams>(searchParams)
6767
const updateUrl: UpdateUrlFunction = useCallback((search, options) => {

packages/nuqs/src/useQueryStates.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,9 @@ export function useQueryStates<KeyMap extends UseQueryStatesKeysMap>(
114114
const queuedQueries = debounceController.useQueuedQueries(
115115
Object.values(resolvedUrlKeys)
116116
)
117-
const [internalState, setInternalState] = useState<V>(() => {
118-
const source = initialSearchParams ?? new URLSearchParams()
119-
return parseMap(keyMap, urlKeys, source, queuedQueries).state
120-
})
117+
const [internalState, setInternalState] = useState<V>(
118+
() => parseMap(keyMap, urlKeys, initialSearchParams, queuedQueries).state
119+
)
121120

122121
const stateRef = useRef(internalState)
123122
debug(
@@ -158,8 +157,8 @@ export function useQueryStates<KeyMap extends UseQueryStatesKeysMap>(
158157
return [
159158
urlKey,
160159
parser?.type === 'multi'
161-
? initialSearchParams?.getAll(urlKey)
162-
: (initialSearchParams?.get(urlKey) ?? null)
160+
? initialSearchParams.getAll(urlKey)
161+
: (initialSearchParams.get(urlKey) ?? null)
163162
]
164163
})
165164
)
@@ -187,7 +186,7 @@ export function useQueryStates<KeyMap extends UseQueryStatesKeysMap>(
187186
}
188187
}, [
189188
Object.values(resolvedUrlKeys)
190-
.map(key => `${key}=${initialSearchParams?.getAll(key)}`)
189+
.map(key => `${key}=${initialSearchParams.getAll(key)}`)
191190
.join('&'),
192191
JSON.stringify(queuedQueries)
193192
])
@@ -412,8 +411,8 @@ function parseMap<KeyMap extends UseQueryStatesKeysMap>(
412411
const query =
413412
queuedQuery === undefined
414413
? ((parser.type === 'multi'
415-
? searchParams?.getAll(urlKey)
416-
: searchParams?.get(urlKey)) ?? fallbackValue)
414+
? searchParams.getAll(urlKey)
415+
: searchParams.get(urlKey)) ?? fallbackValue)
417416
: queuedQuery
418417
if (
419418
cachedQuery &&

0 commit comments

Comments
 (0)