神刀安全网

An JavaScript library to test JSON with some nice features.

match

An JavaScript library to test JSON with some nice features.

It is built to test REST API endpoints but, of course, you can use it to whatever you want.

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 

Signatures

Match

  • match( a : T, b : T ) : boolean
  • match( a : T, test : RegExp ) : boolean
  • match( a : T, test : PredicateFunction ) : boolean

Bake

  • bake( a: T ) : PredicateFunction

( where PredicateFunction = ( w : T ) : boolean )

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

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » An JavaScript library to test JSON with some nice features.

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮