Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/core-util-is/lib/util.js
| 107 lines
| 3.0 KiB
| application/javascript
| JavascriptLexer
|
r789 | // Copyright Joyent, Inc. and other Node contributors. | |||
// | ||||
// Permission is hereby granted, free of charge, to any person obtaining a | ||||
// copy of this software and associated documentation files (the | ||||
// "Software"), to deal in the Software without restriction, including | ||||
// without limitation the rights to use, copy, modify, merge, publish, | ||||
// distribute, sublicense, and/or sell copies of the Software, and to permit | ||||
// persons to whom the Software is furnished to do so, subject to the | ||||
// following conditions: | ||||
// | ||||
// The above copyright notice and this permission notice shall be included | ||||
// in all copies or substantial portions of the Software. | ||||
// | ||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||||
// USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
// NOTE: These type checking functions intentionally don't use `instanceof` | ||||
// because it is fragile and can be easily faked with `Object.create()`. | ||||
function isArray(arg) { | ||||
if (Array.isArray) { | ||||
return Array.isArray(arg); | ||||
} | ||||
return objectToString(arg) === '[object Array]'; | ||||
} | ||||
exports.isArray = isArray; | ||||
function isBoolean(arg) { | ||||
return typeof arg === 'boolean'; | ||||
} | ||||
exports.isBoolean = isBoolean; | ||||
function isNull(arg) { | ||||
return arg === null; | ||||
} | ||||
exports.isNull = isNull; | ||||
function isNullOrUndefined(arg) { | ||||
return arg == null; | ||||
} | ||||
exports.isNullOrUndefined = isNullOrUndefined; | ||||
function isNumber(arg) { | ||||
return typeof arg === 'number'; | ||||
} | ||||
exports.isNumber = isNumber; | ||||
function isString(arg) { | ||||
return typeof arg === 'string'; | ||||
} | ||||
exports.isString = isString; | ||||
function isSymbol(arg) { | ||||
return typeof arg === 'symbol'; | ||||
} | ||||
exports.isSymbol = isSymbol; | ||||
function isUndefined(arg) { | ||||
return arg === void 0; | ||||
} | ||||
exports.isUndefined = isUndefined; | ||||
function isRegExp(re) { | ||||
return objectToString(re) === '[object RegExp]'; | ||||
} | ||||
exports.isRegExp = isRegExp; | ||||
function isObject(arg) { | ||||
return typeof arg === 'object' && arg !== null; | ||||
} | ||||
exports.isObject = isObject; | ||||
function isDate(d) { | ||||
return objectToString(d) === '[object Date]'; | ||||
} | ||||
exports.isDate = isDate; | ||||
function isError(e) { | ||||
return (objectToString(e) === '[object Error]' || e instanceof Error); | ||||
} | ||||
exports.isError = isError; | ||||
function isFunction(arg) { | ||||
return typeof arg === 'function'; | ||||
} | ||||
exports.isFunction = isFunction; | ||||
function isPrimitive(arg) { | ||||
return arg === null || | ||||
typeof arg === 'boolean' || | ||||
typeof arg === 'number' || | ||||
typeof arg === 'string' || | ||||
typeof arg === 'symbol' || // ES6 symbol | ||||
typeof arg === 'undefined'; | ||||
} | ||||
exports.isPrimitive = isPrimitive; | ||||
exports.isBuffer = Buffer.isBuffer; | ||||
function objectToString(o) { | ||||
return Object.prototype.toString.call(o); | ||||
} | ||||