type-check
Deprecated
Use honeo/check instead.
なにこれ
型・インスタンス等をチェックするやつ。
Polyfill前提。
使い方
$ npm i -S @honeo/type-check
import {is, not} from '@honeo/type-check';
// or
import is from '@honeo/type-check/is';
is.arr([]); // true
not.num('hoge'); // false
is.obj({}, null); // false
API
is, not共用。
Type
array(), arr()
is.array([]); // true
is.arr([], []); // true
boolean(), bool()
is.boolean(false); // true
is.bool(true, false); // true
function(), func()
is.function(function(){}); // true
is.func(_=>_, _=>_); // true
number(), num()
is.number(1); // true
is.num(0, 1); // true
regexp(), re()
is.regexp(/hoge/); // true
is.re(/foo/, /bar/); // true
string(), str()
is.string('hoge'); // true
is.str('fuga', 'piyo'); // true
undefined()
is.undefined(undefined); // true
null()
is.null(null); // true
nan()
is.nan(NaN); // true
date()
is.date(new Date()); // true
object(), obj()
is.object({}); // true
is.obj({}, {}); // true
is.obj(null); // false
promise()
is.promise(new Promise(_=>_)); // true
数値
odd()
is.odd(2); // true
even()
is.even(3); // true
multiple(number, number)
is.multiple(8080, 80); // true
DOM
node()
is.node(document.createElement('a'), document.createTextNode('hoge')); // true
textnode()
is.textnode(document.createTextNode('hoge')); // true
element()
is.element(document.head, document.body); // true
documentfragment(), df()
is.df(document.createDocumentFragment()); // true
event()
is.event( new Event("hoge") ); // true
eventtarget()
is.eventtarget(document, window); // true
その他
true()
is.true(true, !0); // true
false()
is.false(false !1); // true
truthy()
is.truthy(true, "hoge", 1, [], {}); // true
falsy()
is.falsy(null, undefined, "", 0, NaN); // true
objectliteral()
何も継承していない素のオブジェクトか。
is.objectliteral({}); // true
not.objectliteral([], new function(){}); // true
arraylike()
is.arraylike([], 'hoge'); // true
comparisonoperator()
有効な比較演算子の文字列か。
is.comparisonoperator('<='); // true
semver()
有効なSemVer文字列か。
is.semver('1.2.3'); // true
is.semver('1.0.0-foo.bar'); // true
versiom()
有効な数字とdotからなるバージョン文字列か。
is.version('7.7.4', '2.5.0.1') // true
is.version('1.2A', 1.0); // false
empty()
引数の要素が空か。
is.empty('', [], {}) // true
is.empty(0, null); // false