'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function debounce(fn, delay) { var timer = null; return function () { var self = this; var args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(self, args); }, delay); }; } function throttle(fn, wait, delay) { var timer = null; var previous = null; return function () { var self = this; var args = arguments; var now = Date.now(); if (!previous) previous = now; if (now - previous > wait) { fn.apply(self, args); previous = now; } else if (delay) { clearTimeout(timer); timer = setTimeout(function () { fn.apply(self, args); }, delay); } }; } function set(target, path, value) { if (!path) return; var targetTemp = target; var pathArr = path.split('.'); pathArr.forEach(function (item, index) { if (index === pathArr.length - 1) { targetTemp[item] = value; } else { if (!targetTemp[item]) targetTemp[item] = {}; targetTemp = targetTemp[item]; } }); } function get(target, path, defaultValue) { if (!path) return target; var pathArr = path.split('.'); var targetTemp = target; pathArr.some(function (item, index) { if (targetTemp[item] === undefined) { targetTemp = defaultValue; return true; } else { targetTemp = targetTemp[item]; } }); return targetTemp; } function getStore(name) { try { return JSON.parse(window.localStorage.getItem(name)); } catch (e) {} } function setStore(name, data) { try { window.localStorage.setItem(name, JSON.stringify(data)); } catch (e) {} } var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; function getType(v) { return Object.prototype.toString.call(v); } function getTypeof(v) { return typeof v === 'undefined' ? 'undefined' : _typeof(v); } function isObject(v) { return getType(v) === '[object Object]'; } function isArray(v) { return getType(v) === '[object Array]'; } function isFunction(v) { return getType(v) === '[object Function]'; } function isString(v) { return getType(v) === '[object String]'; } function isBoolean(v) { return getType(v) === '[object Boolean]'; } function isEmptyObj(v) { return isObject(v) && !Object.keys(v).length; } function isNumber(v) { return getType(v) === '[object Number]'; } function clone(v) { if (isObject(v)) return Object.assign({}, v); if (isArray(v)) return v.slice(); } function cloneDeep(v) { return JSON.parse(JSON.stringify(v)); } function kebabToCamel(s) { return s.replace(/-(\w)/g, function (_, c) { return c.toUpperCase(); }); } function camelToKebab(s) { return s.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); } function unique(arr) { var result = []; arr.forEach(function (item) { if (!~result.indexOf(item)) result.push(item); }); return result; } function getLinearValue(x1, y1, x2, y2, x3) { var k = (y2 - y1) / (x2 - x1); var b = y1 - x1 * k; if (x3 == null) { return { k: k, b: b }; } else { return x3 * k + b; } } function getFnAndObjValue(target, key) { return isFunction(target) ? target(key) : !isObject(target) ? key : target[key] != null ? target[key] : key; } function arrDelItem(arr, diffItem) { return arr.filter(function (item) { return diffItem !== item; }); } var arrDelArrItem = function arrDelArrItem(arr, diffArr) { return arr.filter(function (item) { return !~diffArr.indexOf(item); }); }; function getArrMin(arr) { return Math.min.apply(null, arr); } function getArrMax(arr) { return Math.max.apply(null, arr); } function toArray(v) { return Array.prototype.slice.call(v); } function noop() {} function hasOwn(source, target) { return Object.prototype.hasOwnProperty.call(source, target); } var extend = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (hasOwn(source, key)) target[key] = source[key]; } } return target; }; function isEqual(alice, bob) { if (alice === bob) return true; if (alice === null || bob === null || getTypeof(alice) !== 'object' || getTypeof(bob) !== 'object') { return alice === bob; } for (var key in alice) { if (!hasOwn(alice, key)) continue; var aliceValue = alice[key]; var bobValue = bob[key]; var aliceType = getTypeof(aliceValue); if (getTypeof(bobValue) === 'undefined') { return false; } else if (aliceType === 'object') { if (!isEqual(aliceValue, bobValue)) return false; } else if (aliceValue !== bobValue) { return false; } } for (var _key in bob) { if (!hasOwn(bob, _key)) continue; if (getTypeof(alice)[_key] === 'undefined') return false; } return true; } exports.debounce = debounce; exports.throttle = throttle; exports.set = set; exports.get = get; exports.getStore = getStore; exports.setStore = setStore; exports.clone = clone; exports.cloneDeep = cloneDeep; exports.getType = getType; exports.getTypeof = getTypeof; exports.isObject = isObject; exports.isArray = isArray; exports.isFunction = isFunction; exports.isString = isString; exports.isBoolean = isBoolean; exports.isEmptyObj = isEmptyObj; exports.isNumber = isNumber; exports.kebabToCamel = kebabToCamel; exports.camelToKebab = camelToKebab; exports.unique = unique; exports.getLinearValue = getLinearValue; exports.getFnAndObjValue = getFnAndObjValue; exports.arrDelItem = arrDelItem; exports.arrDelArrItem = arrDelArrItem; exports.getArrMin = getArrMin; exports.getArrMax = getArrMax; exports.toArray = toArray; exports.noop = noop; exports.extend = extend; exports.isEqual = isEqual; exports.hasOwn = hasOwn;