
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
@n3/filters-utils
Advanced tools
Набор утилиты для работы со значениями фильтров.
Для работы используется массив с данными фильтров и объект с описаниями фильтров. С помощью них можно получить имена фильтров для отправки, сериализованные значения фильтров для отправки, проверку возможности сброса фильтров, а также парсинг значений для инициализации.
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 - получение описания фильтра по объекту данных (может быть использовано для описания вложенных структур)import { getFilterNames } from '@n3/filters-utils';
Собирает имена фильтров. Аргументы:
filterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхimport { serializeValues } from '@n3/filters-utils';
Собирает значения фильтров для отправки. Аргументы:
appliedFilters
- Object - текущие значения примененных фильтровfilterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхimport { serializeValues } from '@n3/filters-utils';
Собирает значения фильтров для сериализации в адресную строку. Аргументы:
appliedFilters
- Object - текущие значения примененных фильтровfilterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхimport { checkCanResetFilters } from '@n3/filters-utils';
Определяет, возможен ли сброс фильтров. Аргументы:
appliedFilters
- Object - текущие значения примененных фильтровfilterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхimport { parseValues } from '@n3/filters-utils';
Асинхронная функция. Собирает значения фильтров для инициализации. Аргументы:
values
- Object - необработанные значения фильтров, например, после парсинга значений браузерной строкиfilterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхimport { getResetFiltersTo } from '@n3/filters-utils';
Собирает значения фильтров для сброса. АргументыЖ
filterData
: Object[] - массив данных фильтровgetFilter
: Function - получение описания фильтра по объекту данныхРепозиторий использует стабильную версию yarn.
yarn build
- сборка;
yarn clean
- удалить все собранне файлы;
yarn test
- валидация кода.
FAQs
Utils for working with filter values
The npm package @n3/filters-utils receives a total of 131 weekly downloads. As such, @n3/filters-utils popularity was classified as not popular.
We found that @n3/filters-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.