@promaster-sdk/property
v7.0.1
Published
Property values and filtering
Downloads
1,985
Readme
@promaster-sdk/property
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.