All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix esbuild errors by re-ordering package.json exports
- esbuild output was different after deps-update for the browser-build
- isDate
- Fix WebPack error: "Default condition should be last one"
- Above-the-fold README tweaks
- Whoops, README example condition for >=500 will not run
- README example tweaks
- pluck(predicate?) helper to extract a part of the haystack
- instanceOf(constructor) helper
- hasOwn(prop1, prop2...) helper
- isNumber(NaN) should return false
- Tweak README
- Mild code shrinking
- allOf(), anyOf(), includedIn()
- Minor cleanup
not()
type definition
not()
can be used with literals as well as functions
not()
will negate the output of a function
- README: Compact full examples into details/summary tags
- We're exposing CJS as well as ESM, so use .mjs instead of "type": "module" for build/source files. Fixes CJS imports
- Use ESM for source/build files
- Fix ESM build (import { ... } from 'match-iz' was not working right)
- Will do the right thing with
NaN
- Can handle sub-arrays as well as sub-pojos
- When matching array-to-array, ensure exact lengths before comparing contents to make matches more predictable. Comparing variable length arrays is done better via a custom when-predicate
- Can now match against contents of an array
- Add runtime type checkers to index.d.ts
- Export runtime type checkers, why not
- NPM tags, README tweaks, no functional changes
- Remove @params / @returns from JSDoc comments - fixes duplicate Intellisense suggestions
index.d.ts
against() example
- Basic
index.d.ts
for type hints and examples
- otherwise() was returning all falsy values as
undefined
- Updated test for nested patterns
- Remove superfluous coercion
- Support nested objects for patterns
- unpkg example in README
- Literals already cover use-case for isTrue/isFalse
- README: Above the fold examples
- inRange() should check that value isNumber, not min/max
- empty() should not include 'false'
- Provide truthy/falsy/isTrue/isFalse
- Update README to include correct empty/defined usage
- defined, empty, spead()
- More complete empty()
- Number.isNumber() is not a thing
- RegExps guard for strings
- spread() should not mutate its argument
- Browser-build global now
matchiz
, notmatches
- match-iz :)