1.0.3 • Published 4 years ago

match-deep v1.0.3

Weekly downloads
83
License
MIT
Repository
github
Last release
4 years ago

match-deep

A deep matching library.

matchDeep(value, source, options?)
import matchDeep from 'match-deep';

const matches = matchDeep(
  {
    a: 1,
    b: 2
  },
  {
    c: 1,
    d: 2
  },
  {
    shortCircuit: true
  }
);

console.log(matches);
/*

{
  result: false,
  message: 'Number `1` and value `undefined` not equal for "c" ' +
    'Number `2` and value `undefined` not equal for "d"',
  errors: [
    {
      message: 'Number `1` and value `undefined` not equal',
      keyPath: [Array]
    },
    {
      message: 'Number `2` and value `undefined` not equal',
      keyPath: [Array]
    }
  ]
}

*/

Options

Defaults:

{
  shortCircuit: false,
  skipKeys: [],
  serializedRegex: false
}

shortCircuit (boolean) - true will stop on the first match error and report only that one, which can help performance.

skipKeys (string[]) - an array of key names under which to not do comparisons - all keys are considered by default.

serializedRegex (boolean) - true will interpret { $regex: { source: 'a.*b', flags: 'i' } } as if it were /a.*b/i. This allows for serialization of regular expressions over JSON. Also supports optional flags as in { $regex: { source: 'a.*b' } }, and just a source string as in { $regex: 'a.*b' }.

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.0-alpha.10

4 years ago

1.0.0-alpha.9

4 years ago

1.0.0-alpha.8

4 years ago

1.0.0-alpha.7

4 years ago

1.0.0-alpha.6

4 years ago

1.0.0-alpha.5

4 years ago

1.0.0-alpha.4

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.0

5 years ago