Travis build: 1198 [cron]
This commit is contained in:
186
dist/_30s.es5.js
vendored
186
dist/_30s.es5.js
vendored
@ -51,6 +51,14 @@ var average = function average() {
|
||||
}, 0) / nums.length;
|
||||
};
|
||||
|
||||
var averageBy = function averageBy(arr, fn) {
|
||||
return arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
}).reduce(function (acc, val) {
|
||||
return acc + val;
|
||||
}, 0) / arr.length;
|
||||
};
|
||||
|
||||
var bottomVisible = function bottomVisible() {
|
||||
return document.documentElement.clientHeight + window.scrollY >= (document.documentElement.scrollHeight || document.documentElement.clientHeight);
|
||||
};
|
||||
@ -185,6 +193,15 @@ var copyToClipboard = function copyToClipboard(str) {
|
||||
}
|
||||
};
|
||||
|
||||
var countBy = function countBy(arr, fn) {
|
||||
return arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
}).reduce(function (acc, val, i) {
|
||||
acc[val] = (acc[val] || 0) + 1;
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
|
||||
var countOccurrences = function countOccurrences(arr, val) {
|
||||
return arr.reduce(function (a, v) {
|
||||
return v === val ? a + 1 : a + 0;
|
||||
@ -231,6 +248,17 @@ var curry = function curry(fn) {
|
||||
return arity <= args.length ? fn.apply(undefined, args) : curry.bind.apply(curry, [null, fn, arity].concat(args));
|
||||
};
|
||||
|
||||
function _toArray$1(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
var decapitalize = function decapitalize(_ref) {
|
||||
var _ref2 = _toArray$1(_ref),
|
||||
first = _ref2[0],
|
||||
rest = _ref2.slice(1);
|
||||
|
||||
var upperRest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||||
return first.toLowerCase() + (upperRest ? rest.join('').toUpperCase() : rest.join(''));
|
||||
};
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var deepFlatten = function deepFlatten(arr) {
|
||||
@ -316,10 +344,10 @@ var elementIsVisibleInViewport = function elementIsVisibleInViewport(el) {
|
||||
|
||||
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
||||
|
||||
function _toArray$1(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
function _toArray$2(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
var elo = function elo(_ref) {
|
||||
var _ref2 = _toArray$1(_ref),
|
||||
var _ref2 = _toArray$2(_ref),
|
||||
ratings = _ref2.slice(0);
|
||||
|
||||
var kFactor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;
|
||||
@ -401,18 +429,14 @@ var filterNonUnique = function filterNonUnique(arr) {
|
||||
});
|
||||
};
|
||||
|
||||
function _toConsumableArray$3(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var flatten = function flatten(arr) {
|
||||
var _ref;
|
||||
|
||||
return (_ref = []).concat.apply(_ref, _toConsumableArray$3(arr));
|
||||
var findLast = function findLast(arr, fn) {
|
||||
return arr.filter(fn).slice(-1);
|
||||
};
|
||||
|
||||
var flattenDepth = function flattenDepth(arr) {
|
||||
var flatten = function flatten(arr) {
|
||||
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
return depth != 1 ? arr.reduce(function (a, v) {
|
||||
return a.concat(Array.isArray(v) ? flattenDepth(v, depth - 1) : v);
|
||||
return a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v);
|
||||
}, []) : arr.reduce(function (a, v) {
|
||||
return a.concat(v);
|
||||
}, []);
|
||||
@ -457,6 +481,20 @@ var functionName = function functionName(fn) {
|
||||
return console.debug(fn.name), fn;
|
||||
};
|
||||
|
||||
var functions = function functions(obj) {
|
||||
return Object.keys(obj).filter(function (key) {
|
||||
return typeof obj[key] === 'function';
|
||||
});
|
||||
};
|
||||
|
||||
function _toConsumableArray$3(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var functionsIn = function functionsIn(obj) {
|
||||
return [].concat(_toConsumableArray$3(Object.keys(obj)), _toConsumableArray$3(Object.keys(Object.getPrototypeOf(obj)))).filter(function (key) {
|
||||
return typeof obj[key] === 'function';
|
||||
});
|
||||
};
|
||||
|
||||
var gcd = function gcd() {
|
||||
for (var _len = arguments.length, arr = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
arr[_key] = arguments[_key];
|
||||
@ -504,9 +542,9 @@ var getURLParameters = function getURLParameters(url) {
|
||||
}, {});
|
||||
};
|
||||
|
||||
var groupBy = function groupBy(arr, func) {
|
||||
return arr.map(typeof func === 'function' ? func : function (val) {
|
||||
return val[func];
|
||||
var groupBy = function groupBy(arr, fn) {
|
||||
return arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
}).reduce(function (acc, val, i) {
|
||||
acc[val] = (acc[val] || []).concat(arr[i]);
|
||||
return acc;
|
||||
@ -612,8 +650,8 @@ var initial = function initial(arr) {
|
||||
|
||||
var initialize2DArray = function initialize2DArray(w, h) {
|
||||
var val = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
||||
return Array(h).fill().map(function () {
|
||||
return Array(w).fill(val);
|
||||
return Array.from({ length: h }).map(function () {
|
||||
return Array.from({ length: w }).fill(val);
|
||||
});
|
||||
};
|
||||
|
||||
@ -691,6 +729,10 @@ var isNumber = function isNumber(val) {
|
||||
return typeof val === 'number';
|
||||
};
|
||||
|
||||
var isObject = function isObject(obj) {
|
||||
return obj === Object(obj);
|
||||
};
|
||||
|
||||
var isPrime = function isPrime(num) {
|
||||
var boundary = Math.floor(Math.sqrt(num));
|
||||
for (var i = 2; i <= boundary; i++) {
|
||||
@ -829,6 +871,13 @@ var luhnCheck = function luhnCheck(num) {
|
||||
return sum % 10 === 0;
|
||||
};
|
||||
|
||||
var mapKeys = function mapKeys(obj, fn) {
|
||||
return Object.keys(obj).reduce(function (acc, k) {
|
||||
acc[fn(obj[k], k, obj)] = obj[k];
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
|
||||
var mapObject = function mapObject(arr, fn) {
|
||||
return function (a) {
|
||||
return a = [arr, arr.map(fn)], a[0].reduce(function (acc, val, ind) {
|
||||
@ -837,6 +886,13 @@ var mapObject = function mapObject(arr, fn) {
|
||||
}();
|
||||
};
|
||||
|
||||
var mapValues = function mapValues(obj, fn) {
|
||||
return Object.keys(obj).reduce(function (acc, k) {
|
||||
acc[k] = fn(obj[k], k, obj);
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
|
||||
var mask = function mask(cc) {
|
||||
var num = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
|
||||
var mask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '*';
|
||||
@ -845,18 +901,26 @@ var mask = function mask(cc) {
|
||||
|
||||
function _toConsumableArray$6(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var maxN = function maxN(arr) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
return [].concat(_toConsumableArray$6(arr)).sort(function (a, b) {
|
||||
return b - a;
|
||||
}).slice(0, n);
|
||||
var maxBy = function maxBy(arr, fn) {
|
||||
return Math.max.apply(Math, _toConsumableArray$6(arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
})));
|
||||
};
|
||||
|
||||
function _toConsumableArray$7(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var maxN = function maxN(arr) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
return [].concat(_toConsumableArray$7(arr)).sort(function (a, b) {
|
||||
return b - a;
|
||||
}).slice(0, n);
|
||||
};
|
||||
|
||||
function _toConsumableArray$8(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var median = function median(arr) {
|
||||
var mid = Math.floor(arr.length / 2),
|
||||
nums = [].concat(_toConsumableArray$7(arr)).sort(function (a, b) {
|
||||
nums = [].concat(_toConsumableArray$8(arr)).sort(function (a, b) {
|
||||
return a - b;
|
||||
});
|
||||
return arr.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
||||
@ -871,11 +935,19 @@ var memoize = function memoize(fn) {
|
||||
return cached;
|
||||
};
|
||||
|
||||
function _toConsumableArray$8(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$9(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var minBy = function minBy(arr, fn) {
|
||||
return Math.min.apply(Math, _toConsumableArray$9(arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
})));
|
||||
};
|
||||
|
||||
function _toConsumableArray$10(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var minN = function minN(arr) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
return [].concat(_toConsumableArray$8(arr)).sort(function (a, b) {
|
||||
return [].concat(_toConsumableArray$10(arr)).sort(function (a, b) {
|
||||
return a - b;
|
||||
}).slice(0, n);
|
||||
};
|
||||
@ -948,10 +1020,10 @@ var once = function once(fn) {
|
||||
|
||||
var _slicedToArray$2 = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
||||
|
||||
function _toConsumableArray$9(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$11(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var orderBy = function orderBy(arr, props, orders) {
|
||||
return [].concat(_toConsumableArray$9(arr)).sort(function (a, b) {
|
||||
return [].concat(_toConsumableArray$11(arr)).sort(function (a, b) {
|
||||
return props.reduce(function (acc, prop, i) {
|
||||
if (acc === 0) {
|
||||
var _ref = orders && orders[i] === 'desc' ? [b[prop], a[prop]] : [a[prop], b[prop]],
|
||||
@ -1149,10 +1221,10 @@ var remove = function remove(arr, func) {
|
||||
}, []) : [];
|
||||
};
|
||||
|
||||
function _toConsumableArray$10(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$12(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var reverseString = function reverseString(str) {
|
||||
return [].concat(_toConsumableArray$10(str)).reverse().join('');
|
||||
return [].concat(_toConsumableArray$12(str)).reverse().join('');
|
||||
};
|
||||
|
||||
var round = function round(n) {
|
||||
@ -1187,10 +1259,10 @@ var sample = function sample(arr) {
|
||||
return arr[Math.floor(Math.random() * arr.length)];
|
||||
};
|
||||
|
||||
function _toArray$2(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
function _toArray$3(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
var sampleSize = function sampleSize(_ref) {
|
||||
var _ref2 = _toArray$2(_ref),
|
||||
var _ref2 = _toArray$3(_ref),
|
||||
arr = _ref2.slice(0);
|
||||
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
@ -1220,10 +1292,16 @@ var sdbm = function sdbm(str) {
|
||||
}, 0);
|
||||
};
|
||||
|
||||
var select = function select(from, selector) {
|
||||
return selector.split('.').reduce(function (prev, cur) {
|
||||
return prev && prev[cur];
|
||||
}, from);
|
||||
var select = function select(from) {
|
||||
for (var _len = arguments.length, selectors = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
selectors[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
return [].concat(selectors).map(function (s) {
|
||||
return s.split('.').reduce(function (prev, cur) {
|
||||
return prev && prev[cur];
|
||||
}, from);
|
||||
});
|
||||
};
|
||||
|
||||
var setStyle = function setStyle(el, ruleName, val) {
|
||||
@ -1244,10 +1322,10 @@ var show = function show() {
|
||||
});
|
||||
};
|
||||
|
||||
function _toArray$3(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
function _toArray$4(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
|
||||
|
||||
var shuffle = function shuffle(_ref) {
|
||||
var _ref2 = _toArray$3(_ref),
|
||||
var _ref2 = _toArray$4(_ref),
|
||||
arr = _ref2.slice(0);
|
||||
|
||||
var m = arr.length;
|
||||
@ -1278,10 +1356,10 @@ var sleep = function sleep(ms) {
|
||||
});
|
||||
};
|
||||
|
||||
function _toConsumableArray$11(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$13(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var sortCharactersInString = function sortCharactersInString(str) {
|
||||
return [].concat(_toConsumableArray$11(str)).sort(function (a, b) {
|
||||
return [].concat(_toConsumableArray$13(str)).sort(function (a, b) {
|
||||
return a.localeCompare(b);
|
||||
}).join('');
|
||||
};
|
||||
@ -1298,11 +1376,11 @@ var splitLines = function splitLines(str) {
|
||||
return str.split(/\r?\n/);
|
||||
};
|
||||
|
||||
function _toConsumableArray$12(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$14(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var spreadOver = function spreadOver(fn) {
|
||||
return function (argsArr) {
|
||||
return fn.apply(undefined, _toConsumableArray$12(argsArr));
|
||||
return fn.apply(undefined, _toConsumableArray$14(argsArr));
|
||||
};
|
||||
};
|
||||
|
||||
@ -1329,6 +1407,14 @@ var sum = function sum() {
|
||||
}, 0);
|
||||
};
|
||||
|
||||
var sumBy = function sumBy(arr, fn) {
|
||||
return arr.map(typeof fn === 'function' ? fn : function (val) {
|
||||
return val[fn];
|
||||
}).reduce(function (acc, val) {
|
||||
return acc + val;
|
||||
}, 0);
|
||||
};
|
||||
|
||||
var sumPower = function sumPower(end) {
|
||||
var power = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
||||
var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
||||
@ -1339,14 +1425,14 @@ var sumPower = function sumPower(end) {
|
||||
}, 0);
|
||||
};
|
||||
|
||||
function _toConsumableArray$13(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$15(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var symmetricDifference = function symmetricDifference(a, b) {
|
||||
var sA = new Set(a),
|
||||
sB = new Set(b);
|
||||
return [].concat(_toConsumableArray$13(a.filter(function (x) {
|
||||
return [].concat(_toConsumableArray$15(a.filter(function (x) {
|
||||
return !sB.has(x);
|
||||
})), _toConsumableArray$13(b.filter(function (x) {
|
||||
})), _toConsumableArray$15(b.filter(function (x) {
|
||||
return !sA.has(x);
|
||||
})));
|
||||
};
|
||||
@ -1383,12 +1469,6 @@ var toDecimalMark = function toDecimalMark(num) {
|
||||
return num.toLocaleString('en-US');
|
||||
};
|
||||
|
||||
var toEnglishDate = function toEnglishDate(time) {
|
||||
try {
|
||||
return new Date(time).toISOString().split('T')[0].replace(/-/g, '/');
|
||||
} catch (e) {}
|
||||
};
|
||||
|
||||
var toKebabCase = function toKebabCase(str) {
|
||||
return str && str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).map(function (x) {
|
||||
return x.toLowerCase();
|
||||
@ -1444,10 +1524,10 @@ var unescapeHTML = function unescapeHTML(str) {
|
||||
});
|
||||
};
|
||||
|
||||
function _toConsumableArray$14(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$16(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var union = function union(a, b) {
|
||||
return Array.from(new Set([].concat(_toConsumableArray$14(a), _toConsumableArray$14(b))));
|
||||
return Array.from(new Set([].concat(_toConsumableArray$16(a), _toConsumableArray$16(b))));
|
||||
};
|
||||
|
||||
var untildify = function untildify(str) {
|
||||
@ -1479,14 +1559,14 @@ var yesNo = function yesNo(val) {
|
||||
);
|
||||
};
|
||||
|
||||
function _toConsumableArray$15(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
function _toConsumableArray$17(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var zip = function zip() {
|
||||
for (var _len = arguments.length, arrays = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
arrays[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
var maxLength = Math.max.apply(Math, _toConsumableArray$15(arrays.map(function (x) {
|
||||
var maxLength = Math.max.apply(Math, _toConsumableArray$17(arrays.map(function (x) {
|
||||
return x.length;
|
||||
})));
|
||||
return Array.from({ length: maxLength }).map(function (_, i) {
|
||||
@ -1502,7 +1582,7 @@ var zipObject = function zipObject(props, values) {
|
||||
}, {});
|
||||
};
|
||||
|
||||
var imports = { JSONToFile: JSONToFile, RGBToHex: RGBToHex, UUIDGeneratorBrowser: UUIDGeneratorBrowser, UUIDGeneratorNode: UUIDGeneratorNode, anagrams: anagrams, arrayToHtmlList: arrayToHtmlList, average: average, bottomVisible: bottomVisible, byteSize: byteSize, call: call, capitalize: capitalize, capitalizeEveryWord: capitalizeEveryWord, chainAsync: chainAsync, chunk: chunk, clampNumber: clampNumber, cleanObj: cleanObj, cloneRegExp: cloneRegExp, coalesce: coalesce, coalesceFactory: coalesceFactory, collectInto: collectInto, compact: compact, compose: compose, copyToClipboard: copyToClipboard, countOccurrences: countOccurrences, createElement: createElement, createEventHub: createEventHub, currentURL: currentURL, curry: curry, deepFlatten: deepFlatten, defer: defer, detectDeviceType: detectDeviceType, difference: difference, differenceWith: differenceWith, digitize: digitize, distance: distance, distinctValuesOfArray: distinctValuesOfArray, dropElements: dropElements, dropRight: dropRight, elementIsVisibleInViewport: elementIsVisibleInViewport, elo: elo, escapeHTML: escapeHTML, escapeRegExp: escapeRegExp, everyNth: everyNth, extendHex: extendHex, factorial: factorial, fibonacci: fibonacci, filterNonUnique: filterNonUnique, flatten: flatten, flattenDepth: flattenDepth, flip: flip, forEachRight: forEachRight, formatDuration: formatDuration, fromCamelCase: fromCamelCase, functionName: functionName, gcd: gcd, geometricProgression: geometricProgression, getDaysDiffBetweenDates: getDaysDiffBetweenDates, getScrollPosition: getScrollPosition, getStyle: getStyle, getType: getType, getURLParameters: getURLParameters, groupBy: groupBy, hammingDistance: hammingDistance, hasClass: hasClass, hasFlags: hasFlags, head: head, hexToRGB: hexToRGB, hide: hide, httpGet: httpGet, httpPost: httpPost, httpsRedirect: httpsRedirect, inRange: inRange, indexOfAll: indexOfAll, initial: initial, initialize2DArray: initialize2DArray, initializeArrayWithRange: initializeArrayWithRange, initializeArrayWithValues: initializeArrayWithValues, intersection: intersection, invertKeyValues: invertKeyValues, isAbsoluteURL: isAbsoluteURL, isArray: isArray, isArrayLike: isArrayLike, isBoolean: isBoolean, isDivisible: isDivisible, isEven: isEven, isFunction: isFunction, isLowerCase: isLowerCase, isNull: isNull, isNumber: isNumber, isPrime: isPrime, isPrimitive: isPrimitive, isPromiseLike: isPromiseLike, isSorted: isSorted, isString: isString, isSymbol: isSymbol, isTravisCI: isTravisCI, isUpperCase: isUpperCase, isValidJSON: isValidJSON, join: join, last: last, lcm: lcm, longestItem: longestItem, lowercaseKeys: lowercaseKeys, luhnCheck: luhnCheck, mapObject: mapObject, mask: mask, maxN: maxN, median: median, memoize: memoize, minN: minN, negate: negate, nthElement: nthElement, objectFromPairs: objectFromPairs, objectToPairs: objectToPairs, off: off, on: on, onUserInputChange: onUserInputChange, once: once, orderBy: orderBy, palindrome: palindrome, partition: partition, percentile: percentile, pick: pick, pipeFunctions: pipeFunctions, pluralize: pluralize, powerset: powerset, prettyBytes: prettyBytes, primes: primes, promisify: promisify, pull: pull, pullAtIndex: pullAtIndex, pullAtValue: pullAtValue, randomHexColorCode: randomHexColorCode, randomIntegerInRange: randomIntegerInRange, randomNumberInRange: randomNumberInRange, readFileLines: readFileLines, redirect: redirect, reducedFilter: reducedFilter, remove: remove, reverseString: reverseString, round: round, runAsync: runAsync, runPromisesInSeries: runPromisesInSeries, sample: sample, sampleSize: sampleSize, scrollToTop: scrollToTop, sdbm: sdbm, select: select, setStyle: setStyle, shallowClone: shallowClone, show: show, shuffle: shuffle, similarity: similarity, size: size, sleep: sleep, sortCharactersInString: sortCharactersInString, sortedIndex: sortedIndex, splitLines: splitLines, spreadOver: spreadOver, standardDeviation: standardDeviation, sum: sum, sumPower: sumPower, symmetricDifference: symmetricDifference, tail: tail, take: take, takeRight: takeRight, timeTaken: timeTaken, toCamelCase: toCamelCase, toDecimalMark: toDecimalMark, toEnglishDate: toEnglishDate, toKebabCase: toKebabCase, toOrdinalSuffix: toOrdinalSuffix, toSafeInteger: toSafeInteger, toSnakeCase: toSnakeCase, toggleClass: toggleClass, tomorrow: tomorrow, truncateString: truncateString, truthCheckCollection: truthCheckCollection, unescapeHTML: unescapeHTML, union: union, untildify: untildify, validateNumber: validateNumber, without: without, words: words, yesNo: yesNo, zip: zip, zipObject: zipObject };
|
||||
var imports = { JSONToFile: JSONToFile, RGBToHex: RGBToHex, UUIDGeneratorBrowser: UUIDGeneratorBrowser, UUIDGeneratorNode: UUIDGeneratorNode, anagrams: anagrams, arrayToHtmlList: arrayToHtmlList, average: average, averageBy: averageBy, bottomVisible: bottomVisible, byteSize: byteSize, call: call, capitalize: capitalize, capitalizeEveryWord: capitalizeEveryWord, chainAsync: chainAsync, chunk: chunk, clampNumber: clampNumber, cleanObj: cleanObj, cloneRegExp: cloneRegExp, coalesce: coalesce, coalesceFactory: coalesceFactory, collectInto: collectInto, compact: compact, compose: compose, copyToClipboard: copyToClipboard, countBy: countBy, countOccurrences: countOccurrences, createElement: createElement, createEventHub: createEventHub, currentURL: currentURL, curry: curry, decapitalize: decapitalize, deepFlatten: deepFlatten, defer: defer, detectDeviceType: detectDeviceType, difference: difference, differenceWith: differenceWith, digitize: digitize, distance: distance, distinctValuesOfArray: distinctValuesOfArray, dropElements: dropElements, dropRight: dropRight, elementIsVisibleInViewport: elementIsVisibleInViewport, elo: elo, escapeHTML: escapeHTML, escapeRegExp: escapeRegExp, everyNth: everyNth, extendHex: extendHex, factorial: factorial, fibonacci: fibonacci, filterNonUnique: filterNonUnique, findLast: findLast, flatten: flatten, flip: flip, forEachRight: forEachRight, formatDuration: formatDuration, fromCamelCase: fromCamelCase, functionName: functionName, functions: functions, functionsIn: functionsIn, gcd: gcd, geometricProgression: geometricProgression, getDaysDiffBetweenDates: getDaysDiffBetweenDates, getScrollPosition: getScrollPosition, getStyle: getStyle, getType: getType, getURLParameters: getURLParameters, groupBy: groupBy, hammingDistance: hammingDistance, hasClass: hasClass, hasFlags: hasFlags, head: head, hexToRGB: hexToRGB, hide: hide, httpGet: httpGet, httpPost: httpPost, httpsRedirect: httpsRedirect, inRange: inRange, indexOfAll: indexOfAll, initial: initial, initialize2DArray: initialize2DArray, initializeArrayWithRange: initializeArrayWithRange, initializeArrayWithValues: initializeArrayWithValues, intersection: intersection, invertKeyValues: invertKeyValues, isAbsoluteURL: isAbsoluteURL, isArray: isArray, isArrayLike: isArrayLike, isBoolean: isBoolean, isDivisible: isDivisible, isEven: isEven, isFunction: isFunction, isLowerCase: isLowerCase, isNull: isNull, isNumber: isNumber, isObject: isObject, isPrime: isPrime, isPrimitive: isPrimitive, isPromiseLike: isPromiseLike, isSorted: isSorted, isString: isString, isSymbol: isSymbol, isTravisCI: isTravisCI, isUpperCase: isUpperCase, isValidJSON: isValidJSON, join: join, last: last, lcm: lcm, longestItem: longestItem, lowercaseKeys: lowercaseKeys, luhnCheck: luhnCheck, mapKeys: mapKeys, mapObject: mapObject, mapValues: mapValues, mask: mask, maxBy: maxBy, maxN: maxN, median: median, memoize: memoize, minBy: minBy, minN: minN, negate: negate, nthElement: nthElement, objectFromPairs: objectFromPairs, objectToPairs: objectToPairs, off: off, on: on, onUserInputChange: onUserInputChange, once: once, orderBy: orderBy, palindrome: palindrome, partition: partition, percentile: percentile, pick: pick, pipeFunctions: pipeFunctions, pluralize: pluralize, powerset: powerset, prettyBytes: prettyBytes, primes: primes, promisify: promisify, pull: pull, pullAtIndex: pullAtIndex, pullAtValue: pullAtValue, randomHexColorCode: randomHexColorCode, randomIntegerInRange: randomIntegerInRange, randomNumberInRange: randomNumberInRange, readFileLines: readFileLines, redirect: redirect, reducedFilter: reducedFilter, remove: remove, reverseString: reverseString, round: round, runAsync: runAsync, runPromisesInSeries: runPromisesInSeries, sample: sample, sampleSize: sampleSize, scrollToTop: scrollToTop, sdbm: sdbm, select: select, setStyle: setStyle, shallowClone: shallowClone, show: show, shuffle: shuffle, similarity: similarity, size: size, sleep: sleep, sortCharactersInString: sortCharactersInString, sortedIndex: sortedIndex, splitLines: splitLines, spreadOver: spreadOver, standardDeviation: standardDeviation, sum: sum, sumBy: sumBy, sumPower: sumPower, symmetricDifference: symmetricDifference, tail: tail, take: take, takeRight: takeRight, timeTaken: timeTaken, toCamelCase: toCamelCase, toDecimalMark: toDecimalMark, toKebabCase: toKebabCase, toOrdinalSuffix: toOrdinalSuffix, toSafeInteger: toSafeInteger, toSnakeCase: toSnakeCase, toggleClass: toggleClass, tomorrow: tomorrow, truncateString: truncateString, truthCheckCollection: truthCheckCollection, unescapeHTML: unescapeHTML, union: union, untildify: untildify, validateNumber: validateNumber, without: without, words: words, yesNo: yesNo, zip: zip, zipObject: zipObject };
|
||||
|
||||
return imports;
|
||||
|
||||
|
||||
2
dist/_30s.es5.min.js
vendored
2
dist/_30s.es5.min.js
vendored
File diff suppressed because one or more lines are too long
70
dist/_30s.esm.js
vendored
70
dist/_30s.esm.js
vendored
@ -31,6 +31,10 @@ const arrayToHtmlList = (arr, listID) =>
|
||||
|
||||
const average = (...nums) => [...nums].reduce((acc, val) => acc + val, 0) / nums.length;
|
||||
|
||||
const averageBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => acc + val, 0) /
|
||||
arr.length;
|
||||
|
||||
const bottomVisible = () =>
|
||||
document.documentElement.clientHeight + window.scrollY >=
|
||||
(document.documentElement.scrollHeight || document.documentElement.clientHeight);
|
||||
@ -98,6 +102,12 @@ const copyToClipboard = str => {
|
||||
}
|
||||
};
|
||||
|
||||
const countBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {
|
||||
acc[val] = (acc[val] || 0) + 1;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a + 0), 0);
|
||||
|
||||
const createElement = str => {
|
||||
@ -126,6 +136,9 @@ const currentURL = () => window.location.href;
|
||||
const curry = (fn, arity = fn.length, ...args) =>
|
||||
arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
|
||||
|
||||
const decapitalize = ([first, ...rest], upperRest = false) =>
|
||||
first.toLowerCase() + (upperRest ? rest.join('').toUpperCase() : rest.join(''));
|
||||
|
||||
const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));
|
||||
|
||||
const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
|
||||
@ -223,11 +236,11 @@ const fibonacci = n =>
|
||||
|
||||
const filterNonUnique = arr => arr.filter(i => arr.indexOf(i) === arr.lastIndexOf(i));
|
||||
|
||||
const flatten = arr => [].concat(...arr);
|
||||
const findLast = (arr, fn) => arr.filter(fn).slice(-1);
|
||||
|
||||
const flattenDepth = (arr, depth = 1) =>
|
||||
const flatten = (arr, depth = 1) =>
|
||||
depth != 1
|
||||
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flattenDepth(v, depth - 1) : v), [])
|
||||
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), [])
|
||||
: arr.reduce((a, v) => a.concat(v), []);
|
||||
|
||||
const flip = fn => (...args) => fn(args.pop(), ...args);
|
||||
@ -261,6 +274,13 @@ const fromCamelCase = (str, separator = '_') =>
|
||||
|
||||
const functionName = fn => (console.debug(fn.name), fn);
|
||||
|
||||
const functions = obj => Object.keys(obj).filter(key => typeof obj[key] === 'function');
|
||||
|
||||
const functionsIn = obj =>
|
||||
[...Object.keys(obj), ...Object.keys(Object.getPrototypeOf(obj))].filter(
|
||||
key => typeof obj[key] === 'function'
|
||||
);
|
||||
|
||||
const gcd = (...arr) => {
|
||||
const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
|
||||
return [...arr].reduce((a, b) => _gcd(a, b));
|
||||
@ -289,8 +309,8 @@ const getURLParameters = url =>
|
||||
.match(/([^?=&]+)(=([^&]*))/g)
|
||||
.reduce((a, v) => (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1), a), {});
|
||||
|
||||
const groupBy = (arr, func) =>
|
||||
arr.map(typeof func === 'function' ? func : val => val[func]).reduce((acc, val, i) => {
|
||||
const groupBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {
|
||||
acc[val] = (acc[val] || []).concat(arr[i]);
|
||||
return acc;
|
||||
}, {});
|
||||
@ -361,9 +381,7 @@ const indexOfAll = (arr, val) => {
|
||||
const initial = arr => arr.slice(0, -1);
|
||||
|
||||
const initialize2DArray = (w, h, val = null) =>
|
||||
Array(h)
|
||||
.fill()
|
||||
.map(() => Array(w).fill(val));
|
||||
Array.from({ length: h }).map(() => Array.from({ length: w }).fill(val));
|
||||
|
||||
const initializeArrayWithRange = (end, start = 0, step = 1) =>
|
||||
Array.from({ length: Math.ceil((end + 1 - start) / step) }).map((v, i) => i * step + start);
|
||||
@ -407,6 +425,8 @@ const isNull = val => val === null;
|
||||
|
||||
const isNumber = val => typeof val === 'number';
|
||||
|
||||
const isObject = obj => obj === Object(obj);
|
||||
|
||||
const isPrime = num => {
|
||||
const boundary = Math.floor(Math.sqrt(num));
|
||||
for (var i = 2; i <= boundary; i++) if (num % i == 0) return false;
|
||||
@ -480,13 +500,27 @@ const luhnCheck = num => {
|
||||
return sum % 10 === 0;
|
||||
};
|
||||
|
||||
const mapKeys = (obj, fn) =>
|
||||
Object.keys(obj).reduce((acc, k) => {
|
||||
acc[fn(obj[k], k, obj)] = obj[k];
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const mapObject = (arr, fn) =>
|
||||
(a => (
|
||||
a = [arr, arr.map(fn)], a[0].reduce((acc, val, ind) => (acc[val] = a[1][ind], acc), {})))();
|
||||
|
||||
const mapValues = (obj, fn) =>
|
||||
Object.keys(obj).reduce((acc, k) => {
|
||||
acc[k] = fn(obj[k], k, obj);
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const mask = (cc, num = 4, mask = '*') =>
|
||||
('' + cc).slice(0, -num).replace(/./g, mask) + ('' + cc).slice(-num);
|
||||
|
||||
const maxBy = (arr, fn) => Math.max(...arr.map(typeof fn === 'function' ? fn : val => val[fn]));
|
||||
|
||||
const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);
|
||||
|
||||
const median = arr => {
|
||||
@ -504,6 +538,8 @@ const memoize = fn => {
|
||||
return cached;
|
||||
};
|
||||
|
||||
const minBy = (arr, fn) => Math.min(...arr.map(typeof fn === 'function' ? fn : val => val[fn]));
|
||||
|
||||
const minN = (arr, n = 1) => [...arr].sort((a, b) => a - b).slice(0, n);
|
||||
|
||||
const negate = func => (...args) => !func(...args);
|
||||
@ -727,8 +763,8 @@ const sdbm = str => {
|
||||
);
|
||||
};
|
||||
|
||||
const select = (from, selector) =>
|
||||
selector.split('.').reduce((prev, cur) => prev && prev[cur], from);
|
||||
const select = (from, ...selectors) =>
|
||||
[...selectors].map(s => s.split('.').reduce((prev, cur) => prev && prev[cur], from));
|
||||
|
||||
const setStyle = (el, ruleName, val) => (el.style[ruleName] = val);
|
||||
|
||||
@ -778,6 +814,9 @@ const standardDeviation = (arr, usePopulation = false) => {
|
||||
|
||||
const sum = (...arr) => [...arr].reduce((acc, val) => acc + val, 0);
|
||||
|
||||
const sumBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => acc + val, 0);
|
||||
|
||||
const sumPower = (end, power = 2, start = 1) =>
|
||||
Array(end + 1 - start)
|
||||
.fill(0)
|
||||
@ -815,15 +854,6 @@ const toCamelCase = str => {
|
||||
|
||||
const toDecimalMark = num => num.toLocaleString('en-US');
|
||||
|
||||
const toEnglishDate = time => {
|
||||
try {
|
||||
return new Date(time)
|
||||
.toISOString()
|
||||
.split('T')[0]
|
||||
.replace(/-/g, '/');
|
||||
} catch (e) {}
|
||||
};
|
||||
|
||||
const toKebabCase = str =>
|
||||
str &&
|
||||
str
|
||||
@ -897,6 +927,6 @@ const zip = (...arrays) => {
|
||||
const zipObject = (props, values) =>
|
||||
props.reduce((obj, prop, index) => (obj[prop] = values[index], obj), {});
|
||||
|
||||
var imports = {JSONToFile,RGBToHex,UUIDGeneratorBrowser,UUIDGeneratorNode,anagrams,arrayToHtmlList,average,bottomVisible,byteSize,call,capitalize,capitalizeEveryWord,chainAsync,chunk,clampNumber,cleanObj,cloneRegExp,coalesce,coalesceFactory,collectInto,compact,compose,copyToClipboard,countOccurrences,createElement,createEventHub,currentURL,curry,deepFlatten,defer,detectDeviceType,difference,differenceWith,digitize,distance,distinctValuesOfArray,dropElements,dropRight,elementIsVisibleInViewport,elo,escapeHTML,escapeRegExp,everyNth,extendHex,factorial,fibonacci,filterNonUnique,flatten,flattenDepth,flip,forEachRight,formatDuration,fromCamelCase,functionName,gcd,geometricProgression,getDaysDiffBetweenDates,getScrollPosition,getStyle,getType,getURLParameters,groupBy,hammingDistance,hasClass,hasFlags,head,hexToRGB,hide,httpGet,httpPost,httpsRedirect,inRange,indexOfAll,initial,initialize2DArray,initializeArrayWithRange,initializeArrayWithValues,intersection,invertKeyValues,isAbsoluteURL,isArray,isArrayLike,isBoolean,isDivisible,isEven,isFunction,isLowerCase,isNull,isNumber,isPrime,isPrimitive,isPromiseLike,isSorted,isString,isSymbol,isTravisCI,isUpperCase,isValidJSON,join,last,lcm,longestItem,lowercaseKeys,luhnCheck,mapObject,mask,maxN,median,memoize,minN,negate,nthElement,objectFromPairs,objectToPairs,off,on,onUserInputChange,once,orderBy,palindrome,partition,percentile,pick,pipeFunctions,pluralize,powerset,prettyBytes,primes,promisify,pull,pullAtIndex,pullAtValue,randomHexColorCode,randomIntegerInRange,randomNumberInRange,readFileLines,redirect,reducedFilter,remove,reverseString,round,runAsync,runPromisesInSeries,sample,sampleSize,scrollToTop,sdbm,select,setStyle,shallowClone,show,shuffle,similarity,size,sleep,sortCharactersInString,sortedIndex,splitLines,spreadOver,standardDeviation,sum,sumPower,symmetricDifference,tail,take,takeRight,timeTaken,toCamelCase,toDecimalMark,toEnglishDate,toKebabCase,toOrdinalSuffix,toSafeInteger,toSnakeCase,toggleClass,tomorrow,truncateString,truthCheckCollection,unescapeHTML,union,untildify,validateNumber,without,words,yesNo,zip,zipObject,}
|
||||
var imports = {JSONToFile,RGBToHex,UUIDGeneratorBrowser,UUIDGeneratorNode,anagrams,arrayToHtmlList,average,averageBy,bottomVisible,byteSize,call,capitalize,capitalizeEveryWord,chainAsync,chunk,clampNumber,cleanObj,cloneRegExp,coalesce,coalesceFactory,collectInto,compact,compose,copyToClipboard,countBy,countOccurrences,createElement,createEventHub,currentURL,curry,decapitalize,deepFlatten,defer,detectDeviceType,difference,differenceWith,digitize,distance,distinctValuesOfArray,dropElements,dropRight,elementIsVisibleInViewport,elo,escapeHTML,escapeRegExp,everyNth,extendHex,factorial,fibonacci,filterNonUnique,findLast,flatten,flip,forEachRight,formatDuration,fromCamelCase,functionName,functions,functionsIn,gcd,geometricProgression,getDaysDiffBetweenDates,getScrollPosition,getStyle,getType,getURLParameters,groupBy,hammingDistance,hasClass,hasFlags,head,hexToRGB,hide,httpGet,httpPost,httpsRedirect,inRange,indexOfAll,initial,initialize2DArray,initializeArrayWithRange,initializeArrayWithValues,intersection,invertKeyValues,isAbsoluteURL,isArray,isArrayLike,isBoolean,isDivisible,isEven,isFunction,isLowerCase,isNull,isNumber,isObject,isPrime,isPrimitive,isPromiseLike,isSorted,isString,isSymbol,isTravisCI,isUpperCase,isValidJSON,join,last,lcm,longestItem,lowercaseKeys,luhnCheck,mapKeys,mapObject,mapValues,mask,maxBy,maxN,median,memoize,minBy,minN,negate,nthElement,objectFromPairs,objectToPairs,off,on,onUserInputChange,once,orderBy,palindrome,partition,percentile,pick,pipeFunctions,pluralize,powerset,prettyBytes,primes,promisify,pull,pullAtIndex,pullAtValue,randomHexColorCode,randomIntegerInRange,randomNumberInRange,readFileLines,redirect,reducedFilter,remove,reverseString,round,runAsync,runPromisesInSeries,sample,sampleSize,scrollToTop,sdbm,select,setStyle,shallowClone,show,shuffle,similarity,size,sleep,sortCharactersInString,sortedIndex,splitLines,spreadOver,standardDeviation,sum,sumBy,sumPower,symmetricDifference,tail,take,takeRight,timeTaken,toCamelCase,toDecimalMark,toKebabCase,toOrdinalSuffix,toSafeInteger,toSnakeCase,toggleClass,tomorrow,truncateString,truthCheckCollection,unescapeHTML,union,untildify,validateNumber,without,words,yesNo,zip,zipObject,}
|
||||
|
||||
export default imports;
|
||||
|
||||
70
dist/_30s.js
vendored
70
dist/_30s.js
vendored
@ -37,6 +37,10 @@ const arrayToHtmlList = (arr, listID) =>
|
||||
|
||||
const average = (...nums) => [...nums].reduce((acc, val) => acc + val, 0) / nums.length;
|
||||
|
||||
const averageBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => acc + val, 0) /
|
||||
arr.length;
|
||||
|
||||
const bottomVisible = () =>
|
||||
document.documentElement.clientHeight + window.scrollY >=
|
||||
(document.documentElement.scrollHeight || document.documentElement.clientHeight);
|
||||
@ -104,6 +108,12 @@ const copyToClipboard = str => {
|
||||
}
|
||||
};
|
||||
|
||||
const countBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {
|
||||
acc[val] = (acc[val] || 0) + 1;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a + 0), 0);
|
||||
|
||||
const createElement = str => {
|
||||
@ -132,6 +142,9 @@ const currentURL = () => window.location.href;
|
||||
const curry = (fn, arity = fn.length, ...args) =>
|
||||
arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
|
||||
|
||||
const decapitalize = ([first, ...rest], upperRest = false) =>
|
||||
first.toLowerCase() + (upperRest ? rest.join('').toUpperCase() : rest.join(''));
|
||||
|
||||
const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));
|
||||
|
||||
const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
|
||||
@ -229,11 +242,11 @@ const fibonacci = n =>
|
||||
|
||||
const filterNonUnique = arr => arr.filter(i => arr.indexOf(i) === arr.lastIndexOf(i));
|
||||
|
||||
const flatten = arr => [].concat(...arr);
|
||||
const findLast = (arr, fn) => arr.filter(fn).slice(-1);
|
||||
|
||||
const flattenDepth = (arr, depth = 1) =>
|
||||
const flatten = (arr, depth = 1) =>
|
||||
depth != 1
|
||||
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flattenDepth(v, depth - 1) : v), [])
|
||||
? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), [])
|
||||
: arr.reduce((a, v) => a.concat(v), []);
|
||||
|
||||
const flip = fn => (...args) => fn(args.pop(), ...args);
|
||||
@ -267,6 +280,13 @@ const fromCamelCase = (str, separator = '_') =>
|
||||
|
||||
const functionName = fn => (console.debug(fn.name), fn);
|
||||
|
||||
const functions = obj => Object.keys(obj).filter(key => typeof obj[key] === 'function');
|
||||
|
||||
const functionsIn = obj =>
|
||||
[...Object.keys(obj), ...Object.keys(Object.getPrototypeOf(obj))].filter(
|
||||
key => typeof obj[key] === 'function'
|
||||
);
|
||||
|
||||
const gcd = (...arr) => {
|
||||
const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
|
||||
return [...arr].reduce((a, b) => _gcd(a, b));
|
||||
@ -295,8 +315,8 @@ const getURLParameters = url =>
|
||||
.match(/([^?=&]+)(=([^&]*))/g)
|
||||
.reduce((a, v) => (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1), a), {});
|
||||
|
||||
const groupBy = (arr, func) =>
|
||||
arr.map(typeof func === 'function' ? func : val => val[func]).reduce((acc, val, i) => {
|
||||
const groupBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val, i) => {
|
||||
acc[val] = (acc[val] || []).concat(arr[i]);
|
||||
return acc;
|
||||
}, {});
|
||||
@ -367,9 +387,7 @@ const indexOfAll = (arr, val) => {
|
||||
const initial = arr => arr.slice(0, -1);
|
||||
|
||||
const initialize2DArray = (w, h, val = null) =>
|
||||
Array(h)
|
||||
.fill()
|
||||
.map(() => Array(w).fill(val));
|
||||
Array.from({ length: h }).map(() => Array.from({ length: w }).fill(val));
|
||||
|
||||
const initializeArrayWithRange = (end, start = 0, step = 1) =>
|
||||
Array.from({ length: Math.ceil((end + 1 - start) / step) }).map((v, i) => i * step + start);
|
||||
@ -413,6 +431,8 @@ const isNull = val => val === null;
|
||||
|
||||
const isNumber = val => typeof val === 'number';
|
||||
|
||||
const isObject = obj => obj === Object(obj);
|
||||
|
||||
const isPrime = num => {
|
||||
const boundary = Math.floor(Math.sqrt(num));
|
||||
for (var i = 2; i <= boundary; i++) if (num % i == 0) return false;
|
||||
@ -486,13 +506,27 @@ const luhnCheck = num => {
|
||||
return sum % 10 === 0;
|
||||
};
|
||||
|
||||
const mapKeys = (obj, fn) =>
|
||||
Object.keys(obj).reduce((acc, k) => {
|
||||
acc[fn(obj[k], k, obj)] = obj[k];
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const mapObject = (arr, fn) =>
|
||||
(a => (
|
||||
a = [arr, arr.map(fn)], a[0].reduce((acc, val, ind) => (acc[val] = a[1][ind], acc), {})))();
|
||||
|
||||
const mapValues = (obj, fn) =>
|
||||
Object.keys(obj).reduce((acc, k) => {
|
||||
acc[k] = fn(obj[k], k, obj);
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const mask = (cc, num = 4, mask = '*') =>
|
||||
('' + cc).slice(0, -num).replace(/./g, mask) + ('' + cc).slice(-num);
|
||||
|
||||
const maxBy = (arr, fn) => Math.max(...arr.map(typeof fn === 'function' ? fn : val => val[fn]));
|
||||
|
||||
const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);
|
||||
|
||||
const median = arr => {
|
||||
@ -510,6 +544,8 @@ const memoize = fn => {
|
||||
return cached;
|
||||
};
|
||||
|
||||
const minBy = (arr, fn) => Math.min(...arr.map(typeof fn === 'function' ? fn : val => val[fn]));
|
||||
|
||||
const minN = (arr, n = 1) => [...arr].sort((a, b) => a - b).slice(0, n);
|
||||
|
||||
const negate = func => (...args) => !func(...args);
|
||||
@ -733,8 +769,8 @@ const sdbm = str => {
|
||||
);
|
||||
};
|
||||
|
||||
const select = (from, selector) =>
|
||||
selector.split('.').reduce((prev, cur) => prev && prev[cur], from);
|
||||
const select = (from, ...selectors) =>
|
||||
[...selectors].map(s => s.split('.').reduce((prev, cur) => prev && prev[cur], from));
|
||||
|
||||
const setStyle = (el, ruleName, val) => (el.style[ruleName] = val);
|
||||
|
||||
@ -784,6 +820,9 @@ const standardDeviation = (arr, usePopulation = false) => {
|
||||
|
||||
const sum = (...arr) => [...arr].reduce((acc, val) => acc + val, 0);
|
||||
|
||||
const sumBy = (arr, fn) =>
|
||||
arr.map(typeof fn === 'function' ? fn : val => val[fn]).reduce((acc, val) => acc + val, 0);
|
||||
|
||||
const sumPower = (end, power = 2, start = 1) =>
|
||||
Array(end + 1 - start)
|
||||
.fill(0)
|
||||
@ -821,15 +860,6 @@ const toCamelCase = str => {
|
||||
|
||||
const toDecimalMark = num => num.toLocaleString('en-US');
|
||||
|
||||
const toEnglishDate = time => {
|
||||
try {
|
||||
return new Date(time)
|
||||
.toISOString()
|
||||
.split('T')[0]
|
||||
.replace(/-/g, '/');
|
||||
} catch (e) {}
|
||||
};
|
||||
|
||||
const toKebabCase = str =>
|
||||
str &&
|
||||
str
|
||||
@ -903,7 +933,7 @@ const zip = (...arrays) => {
|
||||
const zipObject = (props, values) =>
|
||||
props.reduce((obj, prop, index) => (obj[prop] = values[index], obj), {});
|
||||
|
||||
var imports = {JSONToFile,RGBToHex,UUIDGeneratorBrowser,UUIDGeneratorNode,anagrams,arrayToHtmlList,average,bottomVisible,byteSize,call,capitalize,capitalizeEveryWord,chainAsync,chunk,clampNumber,cleanObj,cloneRegExp,coalesce,coalesceFactory,collectInto,compact,compose,copyToClipboard,countOccurrences,createElement,createEventHub,currentURL,curry,deepFlatten,defer,detectDeviceType,difference,differenceWith,digitize,distance,distinctValuesOfArray,dropElements,dropRight,elementIsVisibleInViewport,elo,escapeHTML,escapeRegExp,everyNth,extendHex,factorial,fibonacci,filterNonUnique,flatten,flattenDepth,flip,forEachRight,formatDuration,fromCamelCase,functionName,gcd,geometricProgression,getDaysDiffBetweenDates,getScrollPosition,getStyle,getType,getURLParameters,groupBy,hammingDistance,hasClass,hasFlags,head,hexToRGB,hide,httpGet,httpPost,httpsRedirect,inRange,indexOfAll,initial,initialize2DArray,initializeArrayWithRange,initializeArrayWithValues,intersection,invertKeyValues,isAbsoluteURL,isArray,isArrayLike,isBoolean,isDivisible,isEven,isFunction,isLowerCase,isNull,isNumber,isPrime,isPrimitive,isPromiseLike,isSorted,isString,isSymbol,isTravisCI,isUpperCase,isValidJSON,join,last,lcm,longestItem,lowercaseKeys,luhnCheck,mapObject,mask,maxN,median,memoize,minN,negate,nthElement,objectFromPairs,objectToPairs,off,on,onUserInputChange,once,orderBy,palindrome,partition,percentile,pick,pipeFunctions,pluralize,powerset,prettyBytes,primes,promisify,pull,pullAtIndex,pullAtValue,randomHexColorCode,randomIntegerInRange,randomNumberInRange,readFileLines,redirect,reducedFilter,remove,reverseString,round,runAsync,runPromisesInSeries,sample,sampleSize,scrollToTop,sdbm,select,setStyle,shallowClone,show,shuffle,similarity,size,sleep,sortCharactersInString,sortedIndex,splitLines,spreadOver,standardDeviation,sum,sumPower,symmetricDifference,tail,take,takeRight,timeTaken,toCamelCase,toDecimalMark,toEnglishDate,toKebabCase,toOrdinalSuffix,toSafeInteger,toSnakeCase,toggleClass,tomorrow,truncateString,truthCheckCollection,unescapeHTML,union,untildify,validateNumber,without,words,yesNo,zip,zipObject,}
|
||||
var imports = {JSONToFile,RGBToHex,UUIDGeneratorBrowser,UUIDGeneratorNode,anagrams,arrayToHtmlList,average,averageBy,bottomVisible,byteSize,call,capitalize,capitalizeEveryWord,chainAsync,chunk,clampNumber,cleanObj,cloneRegExp,coalesce,coalesceFactory,collectInto,compact,compose,copyToClipboard,countBy,countOccurrences,createElement,createEventHub,currentURL,curry,decapitalize,deepFlatten,defer,detectDeviceType,difference,differenceWith,digitize,distance,distinctValuesOfArray,dropElements,dropRight,elementIsVisibleInViewport,elo,escapeHTML,escapeRegExp,everyNth,extendHex,factorial,fibonacci,filterNonUnique,findLast,flatten,flip,forEachRight,formatDuration,fromCamelCase,functionName,functions,functionsIn,gcd,geometricProgression,getDaysDiffBetweenDates,getScrollPosition,getStyle,getType,getURLParameters,groupBy,hammingDistance,hasClass,hasFlags,head,hexToRGB,hide,httpGet,httpPost,httpsRedirect,inRange,indexOfAll,initial,initialize2DArray,initializeArrayWithRange,initializeArrayWithValues,intersection,invertKeyValues,isAbsoluteURL,isArray,isArrayLike,isBoolean,isDivisible,isEven,isFunction,isLowerCase,isNull,isNumber,isObject,isPrime,isPrimitive,isPromiseLike,isSorted,isString,isSymbol,isTravisCI,isUpperCase,isValidJSON,join,last,lcm,longestItem,lowercaseKeys,luhnCheck,mapKeys,mapObject,mapValues,mask,maxBy,maxN,median,memoize,minBy,minN,negate,nthElement,objectFromPairs,objectToPairs,off,on,onUserInputChange,once,orderBy,palindrome,partition,percentile,pick,pipeFunctions,pluralize,powerset,prettyBytes,primes,promisify,pull,pullAtIndex,pullAtValue,randomHexColorCode,randomIntegerInRange,randomNumberInRange,readFileLines,redirect,reducedFilter,remove,reverseString,round,runAsync,runPromisesInSeries,sample,sampleSize,scrollToTop,sdbm,select,setStyle,shallowClone,show,shuffle,similarity,size,sleep,sortCharactersInString,sortedIndex,splitLines,spreadOver,standardDeviation,sum,sumBy,sumPower,symmetricDifference,tail,take,takeRight,timeTaken,toCamelCase,toDecimalMark,toKebabCase,toOrdinalSuffix,toSafeInteger,toSnakeCase,toggleClass,tomorrow,truncateString,truthCheckCollection,unescapeHTML,union,untildify,validateNumber,without,words,yesNo,zip,zipObject,}
|
||||
|
||||
return imports;
|
||||
|
||||
|
||||
2
dist/_30s.min.js
vendored
2
dist/_30s.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user