@promaster-sdk/property
TypeScript icon, indicating that this package has built-in type declarations

7.0.1 • Public • Published

@promaster-sdk/property

npm version code style: prettier types MIT license

Property values and filtering

Introduction

When working with products that have many variants it is helpful to think of each variant as a combination of properties instead of an article number. In this library the properties are represented by a set of name/value pairs in the PropertyValueSet type. This set of properties can then be checked against a filter represented by the PropertyFilter type.

For more information about the property filter syntax please see the documentation.

Installation

npm install --save @promaster-sdk/property

The library is compiled to ES5 and no polyfills are required.

Usage

import { PropertyValueSet, PropertyFilter } from "@promaster-sdk/property";

const pvs1 = PropertyValueSet.fromString("a=1;b=2");
const pvs2 = PropertyValueSet.fromString("a=1;b=3");
const pf = PropertyFilter.fromString("a=1,2&b=3");
const pvs1valid = PropertyFilter.isValid(pvs1, pf); // false
const pvs2valid = PropertyFilter.isValid(pvs2, pf); // true

The library uses an LRU (Least Recently Used) cache to improve performance. The size of this cache is controlled by the process.env.PROPERTY_FILTER_CACHE_SIZE environment variable on node. By default the LRU cache can store up to 20000 items.

Package Sidebar

Install

npm i @promaster-sdk/property

Weekly Downloads

283

Version

7.0.1

License

MIT

Unpacked Size

284 kB

Total Files

85

Last publish

Collaborators

  • rassva
  • zlafil
  • timmotoo
  • jonaskello
  • adam.luotonen
  • bjolind
  • dividstefansvensson
  • erieng
  • johankristiansson
  • jontem
  • geon