@n3/filters-utils
v0.1.6
Published
Utils for working with filter values
Maintainers
Keywords
Readme
@n3/filters-utils
Набор утилиты для работы со значениями фильтров.
Для работы используется массив с данными фильтров и объект с описаниями фильтров. С помощью них можно получить имена фильтров для отправки, сериализованные значения фильтров для отправки, проверку возможности сброса фильтров, а также парсинг значений для инициализации.
Установка
npm install @n3/filters-utilsили
yarn add @n3/filters-utilsИспользование
Описание каждого фильтра представляется следующим объектом:
type FilterType<Payload> = {
getNames?: (payload: Payload, getFilter: GetFilter<Payload>) => string[];
serializeValues?: (values: Values, payload: Payload, getFilter: GetFilter<Payload>) => Values;
serializeValuesForQueryString?: (values: Values, payload: Payload, getFilter: GetFilter<Payload>) => Values;
checkCanReset?: (values: Values, payload: Payload, getFilter: GetFilter<Payload>) => boolean;
parseValues?: (values: Values, payload: Payload, getFilter: GetFilter<Payload>) => Values | Promise<Values>;
getResetTo?: (payload: Payload, getFilter: GetFilter<Payload>) => Values;
};getNames: Function - необязательная, функция получения имён полей фильтра. Должна возвращать массив имён полей фильтра. По умолчанию, возвращает массив из одного элементаpayload.name. Аргументы:payload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
serializeValues: Function - необязательная, функция получения значений для отправки. Должна возвращать объект значений. Аргументы:appliedFilters- Object - текущие значения примененных фильтровpayload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
serializeValuesForQueryString: Function - необязательная, функция получения значений для адресной строки. Должна возвращать объект значений. Аргументы:appliedFilters- Object - текущие значения примененных фильтровpayload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
checkCanReset: Function - необязательная, определяет, возможен ли сброс данного фильтра. Должна возвращать булево значение. По умолчанию, берёт значение изappliedFiltersпо ключуpayload.nameи проверяет его на не ложность. Аргументы:appliedFilters- Object - текущие значения примененных фильтровpayload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
parseValues: Function - необязательная, асинхронная функция получения значений для инициализации. Должна возвращать объект значений. Аргументы:values- Object - необработанные значения фильтров, например, после парсинга значений браузерной строкиpayload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
getResetTo: Function - необязательная, функция получения значений фильтров после сброса. Должна возвращать объект значений. Аргументы:payload: Object - данные фильтраgetFilter: Function - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)
Утилиты
getFilterNames
import { getFilterNames } from '@n3/filters-utils';Собирает имена фильтров. Аргументы:
filterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
serializeValues
import { serializeValues } from '@n3/filters-utils';Собирает значения фильтров для отправки. Аргументы:
appliedFilters- Object - текущие значения примененных фильтровfilterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
serializeValuesForQueryString
import { serializeValues } from '@n3/filters-utils';Собирает значения фильтров для сериализации в адресную строку. Аргументы:
appliedFilters- Object - текущие значения примененных фильтровfilterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
checkCanResetFilters
import { checkCanResetFilters } from '@n3/filters-utils';Определяет, возможен ли сброс фильтров. Аргументы:
appliedFilters- Object - текущие значения примененных фильтровfilterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
parseValues
import { parseValues } from '@n3/filters-utils';Асинхронная функция. Собирает значения фильтров для инициализации. Аргументы:
values- Object - необработанные значения фильтров, например, после парсинга значений браузерной строкиfilterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
getResetFiltersTo
import { getResetFiltersTo } from '@n3/filters-utils';Собирает значения фильтров для сброса. АргументыЖ
filterData: Object[] - массив данных фильтровgetFilter: Function - получение описания фильтра по объекту данных
Локальная разработка
Репозиторий использует стабильную версию yarn.
Команды
yarn build- сборка;yarn clean- удалить все собранне файлы;yarn test- валидация кода.
