123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- 'use strict';
- var bind = require('./helpers/bind');
- var isBuffer = require('is-buffer');
- var toString = Object.prototype.toString;
- function isArray(val) {
- return toString.call(val) === '[object Array]';
- }
- function isArrayBuffer(val) {
- return toString.call(val) === '[object ArrayBuffer]';
- }
- function isFormData(val) {
- return (typeof FormData !== 'undefined') && (val instanceof FormData);
- }
- function isArrayBufferView(val) {
- var result;
- if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
- result = ArrayBuffer.isView(val);
- } else {
- result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
- }
- return result;
- }
- function isString(val) {
- return typeof val === 'string';
- }
- function isNumber(val) {
- return typeof val === 'number';
- }
- function isUndefined(val) {
- return typeof val === 'undefined';
- }
- function isObject(val) {
- return val !== null && typeof val === 'object';
- }
- function isDate(val) {
- return toString.call(val) === '[object Date]';
- }
- function isFile(val) {
- return toString.call(val) === '[object File]';
- }
- function isBlob(val) {
- return toString.call(val) === '[object Blob]';
- }
- function isFunction(val) {
- return toString.call(val) === '[object Function]';
- }
- function isStream(val) {
- return isObject(val) && isFunction(val.pipe);
- }
- function isURLSearchParams(val) {
- return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
- }
- function trim(str) {
- return str.replace(/^\s*/, '').replace(/\s*$/, '');
- }
- function isStandardBrowserEnv() {
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
- return false;
- }
- return (
- typeof window !== 'undefined' &&
- typeof document !== 'undefined'
- );
- }
- function forEach(obj, fn) {
-
- if (obj === null || typeof obj === 'undefined') {
- return;
- }
-
- if (typeof obj !== 'object') {
-
- obj = [obj];
- }
- if (isArray(obj)) {
-
- for (var i = 0, l = obj.length; i < l; i++) {
- fn.call(null, obj[i], i, obj);
- }
- } else {
-
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- fn.call(null, obj[key], key, obj);
- }
- }
- }
- }
- function merge(/* obj1, obj2, obj3, ... */) {
- var result = {};
- function assignValue(val, key) {
- if (typeof result[key] === 'object' && typeof val === 'object') {
- result[key] = merge(result[key], val);
- } else {
- result[key] = val;
- }
- }
- for (var i = 0, l = arguments.length; i < l; i++) {
- forEach(arguments[i], assignValue);
- }
- return result;
- }
- function extend(a, b, thisArg) {
- forEach(b, function assignValue(val, key) {
- if (thisArg && typeof val === 'function') {
- a[key] = bind(val, thisArg);
- } else {
- a[key] = val;
- }
- });
- return a;
- }
- module.exports = {
- isArray: isArray,
- isArrayBuffer: isArrayBuffer,
- isBuffer: isBuffer,
- isFormData: isFormData,
- isArrayBufferView: isArrayBufferView,
- isString: isString,
- isNumber: isNumber,
- isObject: isObject,
- isUndefined: isUndefined,
- isDate: isDate,
- isFile: isFile,
- isBlob: isBlob,
- isFunction: isFunction,
- isStream: isStream,
- isURLSearchParams: isURLSearchParams,
- isStandardBrowserEnv: isStandardBrowserEnv,
- forEach: forEach,
- merge: merge,
- extend: extend,
- trim: trim
- };
|