nuqs-svelte
Version:
Svelte adaptation of the `nuqs` library for managing URL query strings as state.
15 lines (14 loc) • 555 B
JavaScript
import { getContext, setContext } from "svelte";
const ADAPTER_CONTEXT_KEY = Symbol.for("nuqs-svelte-adapter");
export const createAdapterContext = ({ adapter }) => {
setContext(ADAPTER_CONTEXT_KEY, {
useAdapter: () => adapter,
});
};
export const useAdapter = () => {
const context = getContext(ADAPTER_CONTEXT_KEY);
if (!context) {
throw new Error("No adapter context found. Make sure to wrap your component with NuqsAdapter, imported from nuqs-svelte/adapters/{adapter-name}");
}
return context.useAdapter();
};