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