Skip to main content
Version: 11.14.0

Query Parameters

This module provides utility functions for building, parsing, and serializing URL query parameters for search state management.

Types

QueryParams

A partial Query extended with URL-specific routing fields.

type QueryParams = Partial<Omit<Query, 'filters'>> & {
path?: string;
filters: LegacyFilter[];
id?: string;
};

Functions

getQueryParamsFromUrl()

Parses a URL string and returns a QueryParams object containing recognized search state fields.

function getQueryParamsFromUrl(url: string | undefined): QueryParams | undefined

Example

import { getQueryParamsFromUrl } from '@sinequa/atomic';

const params = getQueryParamsFromUrl(
'https://example.com/search?q=test&f=%5B%7B%22field%22%3A%22type%22%2C%22value%22%3A%22doc%22%7D%5D&p=2&t=all'
);
// { path: '/search', text: 'test', filters: [{ field: 'type', value: 'doc' }], page: 2, tab: 'all' }

getUrlParamsFromQueryParams()

Serializes a QueryParams object into a URL query string.

function getUrlParamsFromQueryParams(queryParams: QueryParams | undefined): string

Example

import { getUrlParamsFromQueryParams } from '@sinequa/atomic';

const qs = getUrlParamsFromQueryParams({
text: 'example',
filters: [{ field: 'type', value: 'document' }],
page: 1,
sort: 'relevance',
tab: 'results',
name: '_query'
});
// 'q=example&f=...&p=1&s=relevance&t=results&n=_query'

getFiltersFromUrl()

Extracts the LegacyFilter array from the f parameter of a URL.

function getFiltersFromUrl(url: string | undefined): LegacyFilter[]

getFiltersFromURI()

Decodes and parses a URI-encoded filter string into a LegacyFilter array.

function getFiltersFromURI(uri: string): LegacyFilter[]

queryParamsFromUrl()

Returns all raw query parameters from a URL as a plain Record<string, string> object.

function queryParamsFromUrl(url: string): Record<string, string>

Example

import { queryParamsFromUrl } from '@sinequa/atomic';

queryParamsFromUrl('https://example.com/search?q=hello&p=2');
// { q: 'hello', p: '2' }

getQueryTextFromUrl()

Extracts the query text (q parameter) from a URL.

function getQueryTextFromUrl(url: string): string

getIdFromUrl()

Extracts the document ID (id parameter) from a URL.

function getIdFromUrl(url: string): string

getQueryPageFromUrl()

Extracts the page number (p parameter) from a URL.

function getQueryPageFromUrl(url: string): number

getQueryTabFromUrl()

Extracts the active tab (t parameter) from a URL.

function getQueryTabFromUrl(url: string): string