UNPKG

rapnc

Version:

Node client for RAP 1.0

32 lines (25 loc) 743 B
var toString = Object.prototype.toString; var typeStr = "Boolean Number String Function Array Date RegExp Object Error"; var typeMapper = {}; var splited = typeStr.split(" "); splited.forEach(function(name) { typeMapper["[object " + name + "]"] = name.toLowerCase(); }); function type(obj) { if ( obj == null ) { return obj + ""; } return typeof obj === "object" || typeof obj === "function" ? typeMapper[ toString.call(obj) ] || "object" : typeof obj; } var obj = {}; obj.detect = type; splited.forEach(function(name) { obj['is' + name] = (function(name) { return function(obj) { return type(obj) == name.toLowerCase(); } })(name); }); module.exports = obj;