xen-orchestra/@vates/predicates
Julien Fontanet 471fbef6ef chore: hide USAGE.md
This highlight the fact that it's not designed for direct consumption and it no longer needs a special handling in `npmignore`.
2022-02-18 17:11:52 +01:00
..
.npmignore feat(@vates/predicates): utils to compose predicates 2022-02-10 16:55:15 +01:00
.USAGE.md chore: hide USAGE.md 2022-02-18 17:11:52 +01:00
index.js fix(predicates): use strict mode 2022-02-18 17:03:21 +01:00
index.spec.js chore(predicates): add tests 2022-02-18 17:03:21 +01:00
package.json chore(predicates): add tests 2022-02-18 17:03:21 +01:00
README.md feat(@vates/predicates): utils to compose predicates 2022-02-10 16:55:15 +01:00

@vates/predicates

Package Version License PackagePhobia Node compatibility

Utilities to compose predicates

Install

Installation of the npm package:

> npm install --save @vates/predicates

Usage

undefined predicates are ignored and undefined is returned if all predicates are undefined, this permits the most efficient composition:

const compositePredicate = every(undefined, some(predicate2, undefined))

// ends up as

const compositePredicate = predicate2

Predicates can also be passed wrapped in an array:

const compositePredicate = every([predicate1, some([predicate2, predicate3])])

this and all arguments are passed to the nested predicates.

every(predicates)

Returns a predicate that returns true iff every predicate returns true.

const isBetween3And7 = every(
  n => n >= 3,
  n => n <= 7
)

isBetween3And10(0)
// → false

isBetween3And10(5)
// → true

isBetween3And10(10)
// → false

some(predicates)

Returns a predicate that returns true iff some predicate returns true.

const isAliceOrBob = some(
  name => name === 'Alice',
  name => name === 'Bob'
)

isAliceOrBob('Alice')
// → true

isAliceOrBob('Bob')
// → true

isAliceOrBob('Oscar')
// → false

Contributions

Contributions are very welcomed, either on the documentation or on the code.

You may:

  • report any issue you've encountered;
  • fork and create a pull request.

License

ISC © Vates SAS