This package has been deprecated

Author message:

This package has been renamed to match-json

@ozkxr/match

0.1.0 • Public • Published

match

An JavaScript library to test JSON with some nice features.

Install

I put it in my own npm scope because match is another existent lib and I have a big trouble naming things. Any suggestion is welcome.

npm install @ozkxr/match

But, what it does?

Of course, match JSON objects.

You can compare primitives.

// Numbers
match(3.1415, 3.1415) // => true
//Strings
match('Uno Dos Tres', 'Uno Dos Tres') // => true
// Booleans
match(false, false) // => true
// And with undefined and null values
match(undefined, undefined) // => true
match(null, null)  // => true

And structures (objects and arrays).

match({ name: 'Link', color: 'green' }, { name: 'Link', color: 'green' }) // => true
match([ 'deku', 'goron', 'zora' ], [ 'deku', 'goron', 'zora' ]) // => true

But the nice part starts here

You can match using functions

// Yeah, with functions!
match({ name: 'Samus' }, hero => hero.name.length >= 5) // => true

And regular expressions

// Yeah, with RegExp too!
match('Kvothe', /K*o*t*e/) // => true

And everything together!

match({
        name: { first: 'Walter', last: 'White' },
        age: 51
      },
      {
        name: { first: /[\w]*/, last: 'White' },
        age: age => age > 18
      }); // => YEAH, true!

Bake

Also, you can also predefine an pattern to test JSON.

const nameIsLarge = match.bake({ name: name => name.length > 10  })
nameIsLarge('Tom') // => false :(
nameIsLarge('Tooooooooom') // => true :D

Notes

  • Is worth to mention that you only can use JSON-data as the first argument of the function. Not functions or RegExp.
  • I made this for test my API endpoints, thats why it only acepts to test JSON data.

Contribution

Feel free to open an issue and/or make a PR if you found a bug or think in a way this lib or even the README can be improved.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @ozkxr/match

Weekly Downloads

1

Version

0.1.0

License

MIT

Last publish

Collaborators

  • ozkxr