Skip to content

API reference

A complete, hand-curated reference for every entry point. For task-oriented walkthroughs, see the Guide and Modules sections.

Entry points

Entry pointImportPurpose
@vuqs/coreimport { … } from '@vuqs/core'The core: codecs, composables, adapters, serializer.
@vuqs/core/adapters/vue-routerimport { … } from '@vuqs/core/adapters/vue-router'The vue-router adapter.
@vuqs/core/modulesimport { … } from '@vuqs/core/modules'Composable modules applied with .use().
@vuqs/core/sharedimport { … } from '@vuqs/core/shared'Helpers for writing your own module.
@vuqs/core/adapters/testingimport { … } from '@vuqs/core/adapters/testing'The testing adapter and helpers.
@vuqs/core/testingimport { … } from '@vuqs/core/testing'Codec bijectivity test helpers.
@vuqs/nuxtmodules: ['@vuqs/nuxt']The Nuxt module: auto-imports and the adapter out of the box.

Reference pages

  • Codecs: every built-in codec, createCodec, .withDefault.
  • Composables: useQueryState, useQueryStates, queryParam, the adapter.
  • Adapters: createVueRouterAdapter, provideVueRouterAdapter, QueryAdapter.
  • Serializer & pure functions: createSerializer and the framework-free helpers.
  • Testing: createTestingAdapter, withVuqsTestingAdapter, and codec bijectivity helpers.
  • Types: the exported type surface.

Each optional extension documents its own API on its page: the Modules section (withRuntimeDefaults, withContext, and the authoring surface) and the @vuqs/nuxt section.

Full export list

@vuqs/core

ts
// Composables
export { useQueryState, useQueryStates, toQueryRef, toQueryRefs }
export { installQueryAdapter, provideQueryAdapter, useQueryAdapter }

// Params & codecs
export { codecs, createCodec }
export { queryParam, defineQuerySchema }

// Module authoring
export { defineQueryModule }

// Serializer & pure functions
export { createSerializer }
export {
  parseQueryStates,
  serializeQueryStates,
  buildQuery,
  dropDefaults,
  getManagedKeys,
  omitManagedKeys,
  normalizeQueryStateSchema,
  assertUniquePaths,
}

// Path & equality helpers
export { getPath, setPath, deletePath, getQueryString, getQueryStringArray }
export { structuralEq }

// Engine (advanced)
export { createQueryStateEngine, resetQueues }

// Types
export type {
  // Codecs
  Codec, CodecInput, CodecWithDefault,
  // Params
  DefinedQueryParam, DefinedQueryParamWithDefault,
  QueryParamBuilder, QueryParamBuilderWithDefault,
  QueryParamObjectBuilder, QueryParamObjectBuilderWithDefault,
  PrefixedQueryParamBuilder, QueryParamTransform,
  // Composables
  QueryStateRef, UseQueryStateReturn,
  QueryComposable, QueryStatesValues, QueryStatesActions,
  UseQueryStatesOptions, UseQueryStatesReturn, QueryRef, ToQueryRefs,
  QueryBinding, QueryBindingSource,
  // Schema
  QueryStateSchema, QueryStateSchemaInput, NormalizeQueryStateSchema,
  QueryStateValues, QueryStateWriteValues,
  QueryStateValueOf, QueryStateValueAt, QueryStateRefValue,
  // Modules
  QueryCore, QueryStatesModule, QueryStateModule,
  DefinedQueryModule, DefinedQueryStatesModule, DefinedQueryStateModule,
  QueryModuleFacade, QueryStatesFacadeModule, QueryStateFacadeModule, QueryFacadeModule,
  QueryModuleRegistry, QueryModuleName,
  QueryHooks, QueryHookBus,
  QueryPipeline, QueryPipelineBus, QueryPipelineStage, QueryValues, Enforce,
  // Adapter & navigation
  QueryAdapter, QueryAdapterDefaultOptions, NavigateOptions, QueryStateNavigate,
  ParsedQuery, ParsedQueryRaw, ParsedQueryValue,
  // Serializer
  Serializer, CreateSerializerOptions, SerializerStringify, SerializerParse,
  // Engine
  QueryStateEngine, QueryStateEngineOptions, QueryStateReads, QueryDefaultsBus, ResolvedQueryStateOptions,
}

@vuqs/core/adapters/vue-router

ts
export { createVueRouterAdapter, provideVueRouterAdapter }
export type { VueRouterAdapterOptions }

@vuqs/core/modules

ts
export { withContext, withRuntimeDefaults }
export type {
  ContextBaseOptions, ContextNavigate,
  ContextStatesApi, ContextStateApi,
  QueryStatesContextOptions, QueryStateContextOptions,
  RuntimeDefaultsStatesApi, RuntimeDefaultsStateApi,
}

@vuqs/core/shared

ts
// Helpers for writing your own module
export { pickBy, omitBy, definedOnly, toReadonlyState }

@vuqs/core/adapters/testing

ts
export { createTestingAdapter, withVuqsTestingAdapter, resetQueues }
export type { TestingAdapter, TestingAdapterOptions, UrlUpdateEvent, OnUrlUpdateFunction }

@vuqs/core/testing

ts
export { isCodecBijective, testSerializeThenParse, testParseThenSerialize }

@vuqs/nuxt

ts
// Registered in nuxt.config: modules: ['@vuqs/nuxt']
export type { AdapterOptions, AutoImportsOptions, ModuleOptions }

Released under the MIT License.