@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.

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @promaster-sdk/property

    Weekly Downloads

    224

    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