@pakal/is-kind-of
Is Kind Of is package from Pakal library
Install
$ yarn add @pakal/is-kind-of
Or
$ npm install --save @pakal/is-kind-of
Use
Module
import {
default as isKindOf
} from '@pakal/is-kind-of';
Browser
<script src="https://unpkg.com/@pakal/is-kind-of/bundle.umd.min.js"></script>
let {
isKindOf
} = _;
Examples
isKindOf(null, 'undefined'); // => false
isKindOf(undefined, 'null'); // => false
isKindOf({}, 'function'); // => false
isKindOf(true, 'object'); // => false
isKindOf(null, 'object'); // => false
isKindOf(String.prototype, 'string'); // => false
isKindOf(Object.freeze({[Symbol.toStringTag]: 'String'}), 'string'); // => false
isKindOf(function (){}, 'object'); // => true
isKindOf(class {}, 'function'); // => true
isKindOf(Object('foo'), 'string'); // => true
isKindOf(Object(1), 'object'); // => true
isKindOf(false, []); // => false
isKindOf({}, ['null', 'function']); // => false
isKindOf(class {}, ['object', 'undefined']); // => true
isKindOf(Object(NaN), ['object', 'undefined']); // => true
Note: if Symbol
or BigInt
is not native (polyfill), the kind will base on Symbol.toStringTag
property,
if value
not has Symbol.toStringTag
property it's will be checks if 'object' in kinds.
@pakal/is-kind-of/assert
Module
import {
default as assertKindOf
} from '@pakal/is-kind-of/assert';
Browser
<script src="https://unpkg.com/@pakal/is-kind-of/assert/bundle.umd.min.js"></script>
let {
assertKindOf
} = _;
Examples
assertKindOf(1, []); // throw TypeError
assertKindOf(null, ['undefined', 'object']); // throw TypeError
assertKindOf({}, ['null', 'function']); // throw TypeError
assertKindOf(Object('foo'), ['string', 'null']); // => Object('foo')
assertKindOf(function(){}, ['undefined', 'object']); // function(){}
assertKindOf(true, ['boolean', 'undefined']); // true
License
Copyright © Yisrael Eliev, Licensed under the MIT license.