{"ast":null,"code":"'use strict';\n\nvar bind = require('./helpers/bind');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\n\n\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge() {\n var result = {};\n\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\n\n\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};","map":{"version":3,"sources":["/app/node_modules/axios/lib/utils.js"],"names":["bind","require","toString","Object","prototype","isArray","val","call","isUndefined","isBuffer","constructor","isArrayBuffer","isFormData","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isPlainObject","getPrototypeOf","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","window","document","forEach","obj","fn","i","l","length","key","hasOwnProperty","merge","assignValue","slice","arguments","extend","a","b","thisArg","stripBOM","content","charCodeAt","module","exports"],"mappings":"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","sourcesContent":["'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n"]},"metadata":{},"sourceType":"script"}