0.2.1 • Published 5 years ago

@pakal/is-kind-of v0.2.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@pakal/is-kind-of

Source Code Version MIT License Bundle Size TypeScript

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.