@n3/filters-utils
v0.1.6
Published
Utils for working with filter values
Downloads
467
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
- валидация кода.