{"ast":null,"code":"'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {\n toString\n} = Object.prototype;\nconst {\n getPrototypeOf\n} = Object;\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\nconst kindOfTest = type => {\n type = type.toLowerCase();\n return thing => kindOf(thing) === type;\n};\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {\n isArray\n} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = thing => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = val => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = val => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = thing => {\n const pattern = '[object FormData]';\n return thing && (typeof FormData === 'function' && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern);\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('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 *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = str => str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn) {\n let {\n allOwnKeys = false\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n let i;\n let l;\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 if (isArray(obj)) {\n // Iterate over array values\n for (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction /* obj1, obj2, obj3, ... */\nmerge() {\n const result = {};\n const 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 for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = function (a, b, thisArg) {\n let {\n allOwnKeys\n } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {\n allOwnKeys\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = content => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = thing => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n const iterator = generator.call(obj);\n let result;\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (_ref => {\n let {\n hasOwnProperty\n } = _ref;\n return (obj, prop) => hasOwnProperty.call(obj, prop);\n})(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = obj => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n if (!isFunction(value)) return;\n descriptor.enumerable = false;\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n};\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n const define = arr => {\n arr.forEach(value => {\n obj[value] = true;\n });\n };\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n return obj;\n};\nconst noop = () => {};\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n};\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty,\n // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};","map":{"version":3,"names":["bind","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","pattern","FormData","isURLSearchParams","trim","replace","forEach","obj","fn","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","merge","assignValue","arguments","extend","a","b","thisArg","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","hasOwnProp"],"sources":["C:/Users/noanr/OneDrive/Documents/2eme anée/FavorSiteWebComplet/Favor/Site Web/client/node_modules/axios/lib/utils.js"],"sourcesContent":["'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('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 *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const 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 (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\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 *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}