built.js 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. /*
  2. * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
  3. * This devtool is neither made for production nor for readable output files.
  4. * It uses "eval()" calls to create a separate source file in the browser devtools.
  5. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
  6. * or disable the default devtool with "devtool: false".
  7. * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
  8. */
  9. (function webpackUniversalModuleDefinition(root, factory) {
  10. if(typeof exports === 'object' && typeof module === 'object')
  11. module.exports = factory();
  12. else if(typeof define === 'function' && define.amd)
  13. define([], factory);
  14. else if(typeof exports === 'object')
  15. exports["utils"] = factory();
  16. else
  17. root["utils"] = factory();
  18. })(self, function() {
  19. return /******/ (() => { // webpackBootstrap
  20. /******/ "use strict";
  21. /******/ var __webpack_modules__ = ({
  22. /***/ "./01/src/call.js":
  23. /*!************************!*\
  24. !*** ./01/src/call.js ***!
  25. \************************/
  26. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  27. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"call\": () => (/* binding */ call)\n/* harmony export */ });\nfunction call(fn,obj,...args){\r\n //判断\r\n if(obj === null || obj === undefined){\r\n obj = globalThis //全局对象 es11里的\r\n }\r\n //给obj赋予临时函数\r\n obj.temp = fn;\r\n //调用函数\r\n let result = obj.temp(...args)\r\n //销毁temp\r\n delete obj.temp\r\n //返回结果\r\n return result\r\n}\n\n//# sourceURL=webpack://utils/./01/src/call.js?");
  28. /***/ }),
  29. /***/ "./02/src/apply.js":
  30. /*!*************************!*\
  31. !*** ./02/src/apply.js ***!
  32. \*************************/
  33. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  34. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"apply\": () => (/* binding */ apply)\n/* harmony export */ });\nfunction apply(fn,obj,args){\r\n //判断\r\n if(obj === undefined || obj === null){\r\n obj = globalThis\r\n }\r\n //为obj添加临时方法\r\n obj.temp = fn\r\n //执行函数\r\n let result = obj.temp(...args)\r\n //删除临时函数\r\n delete obj.temp\r\n //返回结果\r\n return result\r\n}\n\n//# sourceURL=webpack://utils/./02/src/apply.js?");
  35. /***/ }),
  36. /***/ "./03/src/bind.js":
  37. /*!************************!*\
  38. !*** ./03/src/bind.js ***!
  39. \************************/
  40. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  41. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bind\": () => (/* binding */ bind)\n/* harmony export */ });\nfunction call(fn,obj,...args){\r\n //判断\r\n if(obj === null || obj === undefined){\r\n obj = globalThis //全局对象 es11里的\r\n }\r\n //给obj赋予临时函数\r\n obj.temp = fn;\r\n //调用函数\r\n let result = obj.temp(...args)\r\n //销毁temp\r\n delete obj.temp\r\n //返回结果\r\n return result\r\n}\r\nfunction bind(fn,obj,...args){\r\n //返回新函数\r\n return function(...args1){\r\n return call(fn,obj,...args,...args1)\r\n }\r\n}\r\n\r\n\n\n//# sourceURL=webpack://utils/./03/src/bind.js?");
  42. /***/ }),
  43. /***/ "./04/src/bind.js":
  44. /*!************************!*\
  45. !*** ./04/src/bind.js ***!
  46. \************************/
  47. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  48. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => (/* binding */ throttle),\n/* harmony export */ \"debounce\": () => (/* binding */ debounce)\n/* harmony export */ });\n\r\n//节流 -- 立即执行回调\r\nfunction throttle(callback,wait){\r\n let start = 0;\r\n return function(e){\r\n let now = Date.now()\r\n if(now - start >= wait){\r\n callback.call(this,e)\r\n start = now\r\n }\r\n }\r\n}\r\n//防抖 -- 事件触发时不会立即触发回调\r\nfunction debounce(callback,time){\r\n let timer = null\r\n return function(e){\r\n if(timer){\r\n clearTimeout(timer)\r\n }\r\n timer = setTimeout(()=>{\r\n callback.call(this,e)\r\n timer = null\r\n },time)\r\n }\r\n}\n\n//# sourceURL=webpack://utils/./04/src/bind.js?");
  49. /***/ }),
  50. /***/ "./05/src/index.js":
  51. /*!*************************!*\
  52. !*** ./05/src/index.js ***!
  53. \*************************/
  54. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  55. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"map\": () => (/* binding */ map),\n/* harmony export */ \"reduce\": () => (/* binding */ reduce),\n/* harmony export */ \"filter\": () => (/* binding */ filter),\n/* harmony export */ \"find\": () => (/* binding */ find),\n/* harmony export */ \"findIndex\": () => (/* binding */ findIndex),\n/* harmony export */ \"every\": () => (/* binding */ every),\n/* harmony export */ \"some\": () => (/* binding */ some)\n/* harmony export */ });\n/**\r\n * 1、map函数\r\n * @param {Array} arr \r\n * @param {export function} callback \r\n * @returns \r\n */\r\nfunction map(arr,callback){\r\n let result = []\r\n for(let i = 0;i < arr.length;i++){\r\n result.push(callback(arr[i],i))\r\n }\r\n return result;\r\n}\r\n/**\r\n * 2、reduce函数\r\n * @param {Array} arr \r\n * @param {export function} callback \r\n * @param {*} initValue \r\n * @returns \r\n */\r\nfunction reduce(arr,callback,initValue){\r\n let result = initValue\r\n for(let i = 0;i < arr.length;i++){\r\n result = callback(result,arr[i])\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 3、filter函数\r\n * @param {Array} arr \r\n * @param {export function} callback \r\n * @returns \r\n */\r\nfunction filter(arr,callback){\r\n let result = []\r\n for(let i = 0;i < arr.length;i++){\r\n if(callback(arr[i],i)){\r\n result.push(arr[i])\r\n }\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 4、find函数\r\n * 找到数组中第一个满足条件的值\r\n * @param {*} arr \r\n * @param {*} callback \r\n * @returns \r\n */\r\nfunction find(arr,callback){\r\n for(let i = 0;i < arr.length;i++){\r\n if(callback(arr[i],i)){\r\n return arr[i]\r\n }\r\n }\r\n return undefined\r\n}\r\n\r\n/**\r\n * 5、findIndex函数\r\n * 找到数组中第一个满足条件的下标\r\n * @param {*} arr \r\n * @param {*} callback \r\n * @returns \r\n */\r\nfunction findIndex(arr,callback){\r\n for(let i = 0;i < arr.length;i++){\r\n if(callback(arr[i],i)){\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\n/**\r\n * 6、every函数\r\n * 必须所有都满足\r\n * @param {*} arr \r\n * @param {*} callback \r\n * @returns bool\r\n */\r\nfunction every(arr,callback){\r\n for(let i = 0;i < arr.length;i++){\r\n if(!callback(arr[i],i)){\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\n/**\r\n * 7、some函数\r\n * 只要有一个满足\r\n * @param {*} arr \r\n * @param {*} callback \r\n * @returns bool\r\n */\r\nfunction some(arr,callback){\r\n for(let i = 0;i < arr.length;i++){\r\n if(callback(arr[i],i)){\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\n\n//# sourceURL=webpack://utils/./05/src/index.js?");
  56. /***/ }),
  57. /***/ "./06/src/index.js":
  58. /*!*************************!*\
  59. !*** ./06/src/index.js ***!
  60. \*************************/
  61. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  62. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"unique\": () => (/* binding */ unique),\n/* harmony export */ \"unique2\": () => (/* binding */ unique2),\n/* harmony export */ \"concat\": () => (/* binding */ concat),\n/* harmony export */ \"slice\": () => (/* binding */ slice),\n/* harmony export */ \"flatten1\": () => (/* binding */ flatten1),\n/* harmony export */ \"flatten2\": () => (/* binding */ flatten2),\n/* harmony export */ \"chunk\": () => (/* binding */ chunk),\n/* harmony export */ \"diffrence\": () => (/* binding */ diffrence),\n/* harmony export */ \"pull\": () => (/* binding */ pull),\n/* harmony export */ \"drop\": () => (/* binding */ drop)\n/* harmony export */ });\n/**\r\n * 去重\r\n * findIndex\r\n * indexOf\r\n * @param {*} arr \r\n * @returns \r\n */\r\nfunction unique(arr){\r\n const result = []\r\n arr.forEach(item=>{\r\n if(!result.includes(item)){\r\n result.push(item)\r\n }\r\n })\r\n return result\r\n}\r\n\r\n/**\r\n * 集合法去重\r\n * @param {*} arr \r\n * @returns \r\n */\r\nfunction unique2(arr){\r\n return [...new Set(arr)]\r\n}\r\n\r\n/**\r\n * 数组合并\r\n * @param {*} arr \r\n * @param {...any} args \r\n * @returns \r\n */\r\nfunction concat(arr,...args){\r\n const result = [...arr]\r\n args.forEach(item=>{\r\n if(Array.isArray(item)){\r\n result.push(...item)\r\n }else{\r\n result.push(item)\r\n }\r\n })\r\n return result\r\n}\r\n\r\n/**\r\n * 切片\r\n * @param {*} arr \r\n * @param {*} start \r\n * @param {*} end \r\n * @returns \r\n */\r\nfunction slice(arr,start,end){\r\n if(arr.length <= 0) return []\r\n start = start || 0\r\n if(start >= arr.length) return []\r\n end = end || arr.length\r\n if(start >= end) end = arr.length\r\n const result = []\r\n arr.forEach((item,index)=>{\r\n if(index >= start && index < end){\r\n result.push(item)\r\n }\r\n })\r\n return result\r\n}\r\n\r\n/**\r\n * 将多维数组变为一维数组 1\r\n * @param {*} arr \r\n * @returns \r\n */\r\nfunction flatten1(arr){\r\n let result = []\r\n arr.forEach(item=>{\r\n if(Array.isArray(item)){\r\n result = result.concat(flatten1(item))\r\n }else{\r\n result = result.concat(item)\r\n }\r\n })\r\n return result\r\n}\r\n\r\n/**\r\n * 将多维数组变为一维数组 2\r\n * @param {*} arr \r\n * @returns \r\n */\r\nfunction flatten2(arr){\r\n let result = [...arr]\r\n while(result.some(item=>Array.isArray(item))){\r\n result = [].concat(...result) // concat 可以把元素放入数组 示例:[].concat(1,2,[3,4]) => [1,2,3,4]\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 数组分组\r\n * @param {*} arr \r\n * @param {*} size \r\n * @returns \r\n */\r\nfunction chunk(arr,size = 1){\r\n if(arr.lenght === 0) return []\r\n let result = []\r\n let tmp = []\r\n arr.forEach(item=>{\r\n if(tmp.length === 0){\r\n result.push(tmp)\r\n }\r\n tmp.push(item)\r\n if(tmp.length === size){\r\n tmp = []\r\n }\r\n })\r\n return result\r\n}\r\n/**\r\n * 差\r\n * @param {*} arr \r\n * @param {*} arr1 \r\n * @returns \r\n */\r\nfunction diffrence(arr,arr1){\r\n return arr.filter(item=>!arr1.includes(item))\r\n}\r\n\r\n/**\r\n * 删除数组元素,并返回删掉的元素\r\n * @param {*} arr \r\n * @param {...any} args \r\n * @returns \r\n */\r\nfunction pull(arr,...args){\r\n const result = []\r\n for(let i = 0;i<arr.length;i++){\r\n if(args.includes(arr[i])){\r\n result.push(arr[i])\r\n arr.splice(i,1)\r\n i--\r\n }\r\n }\r\n return result\r\n}\r\n/**\r\n * 不改变原数组 获取右侧元素\r\n * @param {*} arr \r\n * @param {*} size \r\n * @returns \r\n */\r\nfunction drop(arr,size){\r\n return arr.filter((item,index)=>{\r\n return index >= size\r\n })\r\n}\n\n//# sourceURL=webpack://utils/./06/src/index.js?");
  63. /***/ }),
  64. /***/ "./07/src/index.js":
  65. /*!*************************!*\
  66. !*** ./07/src/index.js ***!
  67. \*************************/
  68. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  69. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"newInstance\": () => (/* binding */ newInstance),\n/* harmony export */ \"myInstanceOf\": () => (/* binding */ myInstanceOf),\n/* harmony export */ \"mergeObject\": () => (/* binding */ mergeObject),\n/* harmony export */ \"clone1\": () => (/* binding */ clone1),\n/* harmony export */ \"clone2\": () => (/* binding */ clone2),\n/* harmony export */ \"deepClone1\": () => (/* binding */ deepClone1),\n/* harmony export */ \"deepClone2\": () => (/* binding */ deepClone2),\n/* harmony export */ \"deepClone3\": () => (/* binding */ deepClone3),\n/* harmony export */ \"deepClone4\": () => (/* binding */ deepClone4)\n/* harmony export */ });\n/**\r\n * 模拟构造函数创建对象\r\n * @param {*} Fn \r\n * @param {...any} args \r\n * @returns \r\n */\r\nfunction newInstance(Fn,...args){\r\n const obj = {}\r\n const result = Fn.call(obj,...args)\r\n obj.__proto__ = Fn.prototype\r\n return result instanceof Object ? result : obj\r\n}\r\n/**\r\n * 判断\r\n * @param {*} obj \r\n * @param {*} Fn \r\n * @returns \r\n */\r\nfunction myInstanceOf(obj,Fn){\r\n let prototype = Fn.prototype\r\n let proto = obj.__proto__\r\n while(proto){\r\n if(proto === prototype){\r\n return true\r\n }\r\n proto = proto.__proto__\r\n }\r\n return false\r\n}\r\n/**\r\n * 合并数组\r\n * @param {...any} objs \r\n * @returns \r\n */\r\nfunction mergeObject(...objs){\r\n const result = {}\r\n objs.forEach(obj =>{\r\n //获取所有属性\r\n Object.keys(obj).forEach(key=>{\r\n //检测result是否存在key\r\n if(result.hasOwnProperty(key)){\r\n result[key] = [].concat(result[key],obj[key])\r\n }else{\r\n result[key] = obj[key]\r\n }\r\n })\r\n })\r\n return result\r\n}\r\n/**\r\n * 浅拷贝1\r\n * @param {*} target \r\n * @returns \r\n */\r\nfunction clone1(target){\r\n if(typeof target === 'object' && target !== null){\r\n if(Array.isArray(target)){\r\n return [...target]\r\n }else{\r\n return {...target}\r\n }\r\n }\r\n return target\r\n}\r\n/**\r\n * 浅拷贝2\r\n * @param {*} target \r\n * @returns \r\n */\r\n function clone2(target){\r\n if(typeof target === 'object' && target !== null){\r\n //创建容器\r\n const result = Array.isArray(target)?[]:{}\r\n for(let key in target){\r\n //判断当前对象是否包含该属性\r\n if(target.hasOwnProperty(key)){\r\n result[key] = target[key]\r\n }\r\n }\r\n return result\r\n }\r\n return target\r\n}\r\n\r\n/**\r\n * 深拷贝1 缺点:不能克隆方法、不能循环引用\r\n * @param {*} target \r\n * @returns \r\n */\r\nfunction deepClone1(target){\r\n return JSON.parse(JSON.stringify(target))\r\n}\r\n/**\r\n * 深拷贝2 未能解决循环引用\r\n * @param {*} target \r\n * @returns \r\n */\r\nfunction deepClone2(target){\r\n if(typeof target === 'object' && target !== null){\r\n const result = Array.isArray(target)?[]:{}\r\n for(let key in target){\r\n if(target.hasOwnProperty(key)){ //此处可枚举,防止原型属性被拷贝\r\n result[key] = deepClone2(target[key])\r\n }\r\n }\r\n return result\r\n }else{\r\n return target\r\n }\r\n}\r\n\r\n/**\r\n * 深拷贝3 解决循环引用\r\n * @param {*} target \r\n * @param {*} map \r\n * @returns \r\n */\r\n function deepClone3(target,map = new Map()){\r\n if(typeof target === 'object' && target !== null){\r\n let cache = map.get(target)\r\n if(cache) return cache\r\n const result = Array.isArray(target)?[]:{}\r\n map.set(target,result)\r\n for(let key in target){\r\n if(target.hasOwnProperty(key)){ //此处可枚举,防止原型属性被拷贝\r\n result[key] = deepClone3(target[key],map)\r\n }\r\n }\r\n return result\r\n }else{\r\n return target\r\n }\r\n}\r\n\r\n/**\r\n * 深拷贝4 性能优化 for in效率较低,使用foreach和object.keys\r\n * @param {*} target \r\n * @param {*} map \r\n * @returns \r\n */\r\n function deepClone4(target,map = new Map()){\r\n if(typeof target === 'object' && target !== null){\r\n let cache = map.get(target)\r\n if(cache) return cache\r\n let isArray = Array.isArray(target)\r\n const result = isArray?[]:{}\r\n map.set(target,result)\r\n if(isArray){\r\n target.forEach((item,index)=>{\r\n result[index] = deepClone4(item,map)\r\n })\r\n }else{\r\n Object.keys(result).forEach(key =>{\r\n result[key] = deepClone4(target[key],map)\r\n })\r\n }\r\n return result\r\n }else{\r\n return target\r\n }\r\n}\n\n//# sourceURL=webpack://utils/./07/src/index.js?");
  70. /***/ }),
  71. /***/ "./08/src/index.js":
  72. /*!*************************!*\
  73. !*** ./08/src/index.js ***!
  74. \*************************/
  75. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  76. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"reverseString\": () => (/* binding */ reverseString),\n/* harmony export */ \"palindrome\": () => (/* binding */ palindrome),\n/* harmony export */ \"truncate\": () => (/* binding */ truncate)\n/* harmony export */ });\n/**\r\n * 字符串反转\r\n * @param {*} str \r\n * @returns \r\n */\r\nfunction reverseString(str){\r\n //let arr = str.split('')\r\n let arr = [...str]\r\n arr.reverse()\r\n let s = arr.join('')\r\n return s\r\n}\r\n/**\r\n * 判断是否是回文字符串\r\n * @param {*} str \r\n * @returns \r\n */\r\nfunction palindrome(str){\r\n return reverseString(str) === str\r\n}\r\n/**\r\n * 字符串截断\r\n * @param {*} str \r\n * @param {*} size \r\n * @returns \r\n */\r\nfunction truncate(str,size){\r\n return str.slice(0,size) + '...'\r\n}\n\n//# sourceURL=webpack://utils/./08/src/index.js?");
  77. /***/ }),
  78. /***/ "./09/src/index.js":
  79. /*!*************************!*\
  80. !*** ./09/src/index.js ***!
  81. \*************************/
  82. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  83. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"addEventListener\": () => (/* binding */ addEventListener),\n/* harmony export */ \"eventBus\": () => (/* binding */ eventBus)\n/* harmony export */ });\n/**\r\n * 事件委托函数封装\r\n * @param {*} el \r\n * @param {*} type \r\n * @param {*} fn \r\n * @param {*} selector \r\n */\r\nfunction addEventListener(el,type,fn,selector){\r\n if(typeof el === 'string'){\r\n el = document.querySelector(el)\r\n }\r\n if(!selector){\r\n el.addEventListener(type,fn)\r\n }else{\r\n //事件委托\r\n el.addEventListener(type,function(e){\r\n //获取点击事件源\r\n const target = e.target\r\n if(target.matches(selector)){\r\n fn.call(target,e)\r\n }\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * 手写事件总线 -- 一个事件绑定多个回调\r\n */\r\nconst eventBus = {\r\n //保存类型和回调的容器\r\n callbacks:{}\r\n}\r\n//注册事件\r\neventBus.on = function(type,callback){\r\n if(this.callbacks[type]){\r\n this.callbacks[type].push(callback)\r\n }else{\r\n this.callbacks[type] = [callback]\r\n }\r\n}\r\n//触发事件\r\neventBus.emit = function(type,data){\r\n if(this.callbacks[type] && this.callbacks[type].length > 0){\r\n this.callbacks[type].forEach(callback => {\r\n callback(data)\r\n });\r\n }\r\n}\r\n//注销事件\r\neventBus.off = function(eventName){\r\n if(eventName){\r\n delete this.callbacks[eventName]\r\n }else{\r\n this.callbacks[type] = {}\r\n }\r\n}\n\n//# sourceURL=webpack://utils/./09/src/index.js?");
  84. /***/ }),
  85. /***/ "./10/src/index.js":
  86. /*!*************************!*\
  87. !*** ./10/src/index.js ***!
  88. \*************************/
  89. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  90. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PubSub\": () => (/* binding */ PubSub)\n/* harmony export */ });\n\r\nconst PubSub = {\r\n id:1,\r\n callbacks:{\r\n // pay:{\r\n // token_1:fn,\r\n // token_2:fn2\r\n // }\r\n }\r\n}\r\n//订阅\r\nPubSub.subscribe = function(channel,callback){\r\n let token = \"token_\" + this.id++\r\n if(this.callbacks[channel]){\r\n this.callbacks[channel][token] = callback\r\n }else{\r\n this.callbacks[channel] = {\r\n [token]:callback\r\n }\r\n }\r\n return token\r\n}\r\n//发布\r\nPubSub.publish = function(channel,data){\r\n if(this.callbacks[channel]){\r\n Object.values(this.callbacks[channel]).forEach(callback=>{\r\n callback(data)\r\n })\r\n }\r\n}\r\n/**\r\n * 取消订阅\r\n * @param {*} flag \r\n */\r\nPubSub.unsubscribe = function(flag){\r\n if(flag === undefined){\r\n this.callbacks = {}\r\n }else if(typeof flag === 'string'){\r\n if(flag.indexOf('token_') === 0){\r\n let callbackObj = Object.values(this.callbacks).find(obj=>obj.hasOwnProperty(flag))\r\n if(callbackObj){\r\n delete callbackObj[flag]\r\n }\r\n }else{\r\n delete this.callbacks[flag] \r\n }\r\n }\r\n}\n\n//# sourceURL=webpack://utils/./10/src/index.js?");
  91. /***/ }),
  92. /***/ "./11/src/index.js":
  93. /*!*************************!*\
  94. !*** ./11/src/index.js ***!
  95. \*************************/
  96. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  97. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"axios\": () => (/* binding */ axios)\n/* harmony export */ });\n/**\r\n * axios封装\r\n * @param {*} param0 \r\n * @returns \r\n */\r\nfunction axios({method,url,params,data}){\r\n method = method.toUpperCase()\r\n return new Promise((resolve,reject)=>{\r\n const xhr = new XMLHttpRequest()\r\n let str = ''\r\n for(let k in params){\r\n str += `${k}=${params[k]}&`\r\n }\r\n str = str.slice(0,-1)\r\n xhr.open(method,url+'?'+str)\r\n if(['POST','PUT','DELETE'].includes(method)){\r\n xhr.setRequestHeader(\r\n 'Content-type','application/json'\r\n )\r\n xhr.send(JSON.stringify(data))\r\n }else{\r\n xhr.send()\r\n }\r\n xhr.responseType = 'json'\r\n xhr.onreadystatechange = function(){\r\n if(xhr.readyState === 4){\r\n if(xhr.status >= 200 && xhr.status < 300){\r\n resolve({\r\n status:xhr.status,\r\n message:xhr.statusText,\r\n body:xhr.response\r\n })\r\n }else{\r\n reject(new Error('请求失败,状态码:'+xhr.status))\r\n }\r\n }\r\n }\r\n })\r\n}\r\n\r\n//添加方法\r\naxios.get = function(url,options){\r\n return axios(Object.assign(options,{method:'GET',url:url}))\r\n}\r\n//添加方法\r\naxios.post = function(url,options){\r\n return axios(Object.assign(options,{method:'POST',url:url}))\r\n}\r\n//添加方法\r\naxios.put = function(url,options){\r\n return axios(Object.assign(options,{method:'PUT',url:url}))\r\n}\r\n//添加方法\r\naxios.delete = function(url,options){\r\n return axios(Object.assign(options,{method:'DELETE',url:url}))\r\n}\n\n//# sourceURL=webpack://utils/./11/src/index.js?");
  98. /***/ }),
  99. /***/ "./src/index.js":
  100. /*!**********************!*\
  101. !*** ./src/index.js ***!
  102. \**********************/
  103. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  104. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"call\": () => (/* reexport safe */ _01_src_call_js__WEBPACK_IMPORTED_MODULE_0__.call),\n/* harmony export */ \"apply\": () => (/* reexport safe */ _02_src_apply_js__WEBPACK_IMPORTED_MODULE_1__.apply),\n/* harmony export */ \"bind\": () => (/* reexport safe */ _03_src_bind_js__WEBPACK_IMPORTED_MODULE_2__.bind),\n/* harmony export */ \"throttle\": () => (/* reexport safe */ _04_src_bind_js__WEBPACK_IMPORTED_MODULE_3__.throttle),\n/* harmony export */ \"debounce\": () => (/* reexport safe */ _04_src_bind_js__WEBPACK_IMPORTED_MODULE_3__.debounce),\n/* harmony export */ \"map\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.map),\n/* harmony export */ \"reduce\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.reduce),\n/* harmony export */ \"filter\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.filter),\n/* harmony export */ \"find\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.find),\n/* harmony export */ \"findIndex\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.findIndex),\n/* harmony export */ \"every\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.every),\n/* harmony export */ \"some\": () => (/* reexport safe */ _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__.some),\n/* harmony export */ \"unique\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.unique),\n/* harmony export */ \"unique2\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.unique2),\n/* harmony export */ \"concat\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.concat),\n/* harmony export */ \"slice\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.slice),\n/* harmony export */ \"flatten1\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.flatten1),\n/* harmony export */ \"flatten2\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.flatten2),\n/* harmony export */ \"chunk\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.chunk),\n/* harmony export */ \"diffrence\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.diffrence),\n/* harmony export */ \"pull\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.pull),\n/* harmony export */ \"drop\": () => (/* reexport safe */ _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__.drop),\n/* harmony export */ \"newInstance\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.newInstance),\n/* harmony export */ \"myInstanceOf\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.myInstanceOf),\n/* harmony export */ \"mergeObject\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.mergeObject),\n/* harmony export */ \"clone1\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.clone1),\n/* harmony export */ \"clone2\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.clone2),\n/* harmony export */ \"deepClone1\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.deepClone1),\n/* harmony export */ \"deepClone2\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.deepClone2),\n/* harmony export */ \"deepClone3\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.deepClone3),\n/* harmony export */ \"deepClone4\": () => (/* reexport safe */ _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__.deepClone4),\n/* harmony export */ \"reverseString\": () => (/* reexport safe */ _08_src_index_js__WEBPACK_IMPORTED_MODULE_7__.reverseString),\n/* harmony export */ \"palindrome\": () => (/* reexport safe */ _08_src_index_js__WEBPACK_IMPORTED_MODULE_7__.palindrome),\n/* harmony export */ \"truncate\": () => (/* reexport safe */ _08_src_index_js__WEBPACK_IMPORTED_MODULE_7__.truncate),\n/* harmony export */ \"addEventListener\": () => (/* reexport safe */ _09_src_index_js__WEBPACK_IMPORTED_MODULE_8__.addEventListener),\n/* harmony export */ \"eventBus\": () => (/* reexport safe */ _09_src_index_js__WEBPACK_IMPORTED_MODULE_8__.eventBus),\n/* harmony export */ \"PubSub\": () => (/* reexport safe */ _10_src_index_js__WEBPACK_IMPORTED_MODULE_9__.PubSub),\n/* harmony export */ \"axios\": () => (/* reexport safe */ _11_src_index_js__WEBPACK_IMPORTED_MODULE_10__.axios)\n/* harmony export */ });\n/* harmony import */ var _01_src_call_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../01/src/call.js */ \"./01/src/call.js\");\n/* harmony import */ var _02_src_apply_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../02/src/apply.js */ \"./02/src/apply.js\");\n/* harmony import */ var _03_src_bind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../03/src/bind.js */ \"./03/src/bind.js\");\n/* harmony import */ var _04_src_bind_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../04/src/bind.js */ \"./04/src/bind.js\");\n/* harmony import */ var _05_src_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../05/src/index.js */ \"./05/src/index.js\");\n/* harmony import */ var _06_src_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../06/src/index.js */ \"./06/src/index.js\");\n/* harmony import */ var _07_src_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../07/src/index.js */ \"./07/src/index.js\");\n/* harmony import */ var _08_src_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../08/src/index.js */ \"./08/src/index.js\");\n/* harmony import */ var _09_src_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../09/src/index.js */ \"./09/src/index.js\");\n/* harmony import */ var _10_src_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../10/src/index.js */ \"./10/src/index.js\");\n/* harmony import */ var _11_src_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../11/src/index.js */ \"./11/src/index.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n//# sourceURL=webpack://utils/./src/index.js?");
  105. /***/ })
  106. /******/ });
  107. /************************************************************************/
  108. /******/ // The module cache
  109. /******/ var __webpack_module_cache__ = {};
  110. /******/
  111. /******/ // The require function
  112. /******/ function __webpack_require__(moduleId) {
  113. /******/ // Check if module is in cache
  114. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  115. /******/ if (cachedModule !== undefined) {
  116. /******/ return cachedModule.exports;
  117. /******/ }
  118. /******/ // Create a new module (and put it into the cache)
  119. /******/ var module = __webpack_module_cache__[moduleId] = {
  120. /******/ // no module.id needed
  121. /******/ // no module.loaded needed
  122. /******/ exports: {}
  123. /******/ };
  124. /******/
  125. /******/ // Execute the module function
  126. /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  127. /******/
  128. /******/ // Return the exports of the module
  129. /******/ return module.exports;
  130. /******/ }
  131. /******/
  132. /************************************************************************/
  133. /******/ /* webpack/runtime/define property getters */
  134. /******/ (() => {
  135. /******/ // define getter functions for harmony exports
  136. /******/ __webpack_require__.d = (exports, definition) => {
  137. /******/ for(var key in definition) {
  138. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  139. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  140. /******/ }
  141. /******/ }
  142. /******/ };
  143. /******/ })();
  144. /******/
  145. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  146. /******/ (() => {
  147. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  148. /******/ })();
  149. /******/
  150. /******/ /* webpack/runtime/make namespace object */
  151. /******/ (() => {
  152. /******/ // define __esModule on exports
  153. /******/ __webpack_require__.r = (exports) => {
  154. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  155. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  156. /******/ }
  157. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  158. /******/ };
  159. /******/ })();
  160. /******/
  161. /************************************************************************/
  162. /******/
  163. /******/ // startup
  164. /******/ // Load entry module and return exports
  165. /******/ // This entry module can't be inlined because the eval devtool is used.
  166. /******/ var __webpack_exports__ = __webpack_require__("./src/index.js");
  167. /******/
  168. /******/ return __webpack_exports__;
  169. /******/ })()
  170. ;
  171. });