You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					108 lines
				
				3.0 KiB
			
		
		
			
		
	
	
					108 lines
				
				3.0 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								// 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);
							 | 
						||
| 
								 | 
							
								}
							 |