
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
chai-match-pattern
Advanced tools
chai-match-pattern is a Swiss Army Knife for deep matching JSON objects. It is essentially a Chai wrapper for lodash-match-pattern and detailed documentation can be found there about its pattern matching functionality. This functionality includes deep matching of JSON properties by
checkit (e.g. _.isURL, _.isEmail)lodash (e.g. _.isObject, _.isNaN)# with npm
npm install chai-match-pattern --save-dev
# or with yarn
yarn add --dev chai-match-pattern
In your test file insert
const chai = require('chai');
const chaiMatchPattern = require('chai-match-pattern');
chai.use(chaiMatchPattern);
const _ = chaiMatchPattern.getLodashModule(); // recommend using our lodash extension
Then use patterns to check your JSON with the .matchPattern(pattern) assertion function. For example
chai.expect({a: 1, b: 'abc'}).to.matchPattern({a: 1, b: _.isString});
See lodash-match-pattern for way, way more details.
Additionally any of the included isXxxx functions can be used directly as assertion functions. For example
chai.expect(7.5).isBetween(7, 8);
chai-subset is a Chai plugin that allows for partial matching of objects. It is similar to chai-match-pattern in that it allows you to assert that an object contains a subset of properties. However, chai-subset does not support the use of predicates or custom functions for matching, which makes chai-match-pattern more flexible for complex pattern matching.
chai-like is another Chai plugin that provides similar functionality to chai-match-pattern by allowing pattern-based matching of objects. It supports partial matching and custom matchers, but it is less focused on using lodash predicates, which is a key feature of chai-match-pattern.
Jest is a popular testing framework that includes built-in support for pattern matching with its 'expect.objectContaining' and 'expect.arrayContaining' matchers. While Jest is a full testing framework, chai-match-pattern is a specific plugin for Chai, making it more suitable for projects already using Chai.
FAQs
Validates a deep structured JSON pattern
We found that chai-match-pattern demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.