1.2.0 • Published 8 years ago
@quenk/kindof v1.2.0
KindOf
Provides a function that tests whether a value matches a given pattern.
Installation
npm install --save @quenk/kindofUsage
kindOf takes two parameters, the first is the value to test and the second the pattern.
import {kindOf} from '@quenk/kindof';
class T {
name: 'King T'
}
const t = new T();
if(kindOf(1, 1))
console.log('yes');
if(kindOf(1, Number))
console.log('yes');
if(kindOf('one', 'one'))
console.log('yes')
if(kindOf('one', String))
console.log('yes')
if(kindOf(t, T))
console.log('yes')
if(kindOf(t, {name:String}))
console.log('yes')Description
Currently pattern matches are carried out like this:
| Pattern | Description | Example |
|---|---|---|
| string | Matches the string exactly. | kindOf('somestring', 'somestring') |
| number | Matches the number exactly. | kindOf(1, 1) |
| boolean | Matches the boolean literal exactly. | kindOf(true, true); kindOf(false, false) |
| object | Treated as a shape, each key is treated as a pattern. | kindOf({one:1, two:'two'}, {one:1, two:String}) |
| function | Treated as a constructor and results in an instanceof check. | kindOf(new Point(), Point) |
| String | Matches any string value. | kindOf('foo', String) |
| Boolean | Matches any boolean value. | kindOf(false, Boolean) |
| Number | Matches any number value. | kindOf(12, Number) |
| Array | Matches an array regardless of content. | kindOf(12, Array) |
License
Apache-2.0 (c) Quenk Technologies Limited.