Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 7x 7x 7x 7x | import { type PagingCriteria } from './types/PageableResult';
export enum ResourceRepresentation {
Default = 'default',
Full = 'full',
REF = 'ref',
}
export interface ResourceFilterCriteria extends PagingCriteria {
v?: ResourceRepresentation | null;
q?: string | null;
totalCount?: boolean | null;
limit?: number | null;
}
export function toQueryParams<T extends ResourceFilterCriteria>(
filterCriteria?: T | null,
skipEmptyString = true,
): string {
if (!filterCriteria) return '';
const queryParams: string = Object.keys(filterCriteria)
?.map((key) => {
const value = filterCriteria[key];
return (skipEmptyString && (value === false || value === true ? true : value)) ||
(!skipEmptyString && (value === '' || (value === false || value === true ? true : value)))
? `${encodeURIComponent(key)}=${encodeURIComponent(value.toString())}`
: null;
})
.filter((o) => o != null)
.join('&');
return queryParams.length > 0 ? '?' + queryParams : '';
}
|