Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@n3/filters-utils

Package Overview
Dependencies
Maintainers
5
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@n3/filters-utils

Utils for working with filter values

  • 0.1.6
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
205
increased by68.03%
Maintainers
5
Weekly downloads
 
Created
Source

@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 - валидация кода.

FAQs

Package last updated on 15 Mar 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc