@valkyriestudios/utils 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +1 -1
  2. package/array/join.js +3 -6
  3. package/array/mapFn.js +5 -10
  4. package/array/mapKey.js +9 -11
  5. package/array/mapPrimitive.js +3 -8
  6. package/array/sort.js +10 -10
  7. package/boolean/is.js +1 -1
  8. package/caching/memoize.js +1 -3
  9. package/date/addUTC.js +3 -3
  10. package/date/diff.js +3 -3
  11. package/date/endOfUTC.js +3 -3
  12. package/date/is.js +1 -1
  13. package/date/startOfUTC.js +3 -3
  14. package/date/toUTC.js +3 -1
  15. package/date/toUnix.js +3 -1
  16. package/deep/freeze.js +2 -3
  17. package/deep/get.js +7 -9
  18. package/deep/seal.js +2 -3
  19. package/deep/set.js +6 -8
  20. package/equal.js +2 -4
  21. package/function/is.js +1 -1
  22. package/hash/fnv1A.js +4 -9
  23. package/object/define.js +1 -2
  24. package/object/is.js +1 -2
  25. package/object/isNotEmpty.js +1 -2
  26. package/object/merge.js +2 -3
  27. package/object/pick.js +8 -8
  28. package/package.json +4 -4
  29. package/regexp/is.js +1 -3
  30. package/regexp/sanitize.js +1 -4
  31. package/src/array/join.mjs +5 -7
  32. package/src/array/mapFn.mjs +5 -9
  33. package/src/array/mapKey.mjs +11 -11
  34. package/src/array/mapPrimitive.mjs +7 -6
  35. package/src/array/sort.mjs +11 -12
  36. package/src/boolean/is.mjs +1 -1
  37. package/src/caching/memoize.mjs +1 -3
  38. package/src/date/addUTC.mjs +3 -3
  39. package/src/date/diff.mjs +4 -4
  40. package/src/date/endOfUTC.mjs +3 -3
  41. package/src/date/is.mjs +1 -1
  42. package/src/date/startOfUTC.mjs +3 -3
  43. package/src/date/toUTC.mjs +3 -1
  44. package/src/date/toUnix.mjs +3 -1
  45. package/src/deep/freeze.mjs +2 -4
  46. package/src/deep/get.mjs +9 -8
  47. package/src/deep/seal.mjs +2 -4
  48. package/src/deep/set.mjs +8 -7
  49. package/src/equal.mjs +5 -7
  50. package/src/function/is.mjs +1 -1
  51. package/src/hash/fnv1A.mjs +4 -9
  52. package/src/object/define.mjs +2 -4
  53. package/src/object/is.mjs +1 -1
  54. package/src/object/isNotEmpty.mjs +1 -3
  55. package/src/object/merge.mjs +3 -5
  56. package/src/object/pick.mjs +13 -11
  57. package/src/regexp/is.mjs +1 -3
  58. package/src/regexp/sanitize.mjs +1 -3
  59. package/src/string/humanizeBytes.mjs +4 -6
  60. package/src/string/humanizeNumber.mjs +9 -11
  61. package/src/string/is.mjs +1 -1
  62. package/src/string/isBetween.mjs +1 -3
  63. package/src/string/isNotEmpty.mjs +1 -1
  64. package/src/string/shorten.mjs +7 -8
  65. package/string/humanizeBytes.js +4 -6
  66. package/string/humanizeNumber.js +6 -8
  67. package/string/is.js +1 -1
  68. package/string/isBetween.js +1 -4
  69. package/string/isNotEmpty.js +1 -1
  70. package/string/shorten.js +3 -7
  71. package/CHANGELOG.md +0 -474
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @valkyriestudios/utils
2
2
 
3
- [![Build Status](https://travis-ci.com/ValkyrieStudios/utils.svg?branch=master)](https://travis-ci.com/ValkyrieStudios/utils)
4
3
  [![codecov](https://codecov.io/gh/ValkyrieStudios/utils/branch/master/graph/badge.svg)](https://codecov.io/gh/ValkyrieStudios/utils)
4
+ [![codeql](https://github.com/ValkyrieStudios/utils/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/ValkyrieStudios/utils/actions/workflows/github-code-scanning/codeql)
5
5
  [![npm](https://img.shields.io/npm/v/@valkyriestudios/utils.svg)](https://www.npmjs.com/package/@valkyriestudios/utils)
6
6
  [![npm](https://img.shields.io/npm/dm/@valkyriestudios/utils.svg)](https://www.npmjs.com/package/@valkyriestudios/utils)
7
7
 
package/array/join.js CHANGED
@@ -4,29 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = join;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
8
- var _isNotEmpty2 = _interopRequireDefault(require("../object/isNotEmpty.js"));
9
7
  var _round = _interopRequireDefault(require("../number/round.js"));
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
9
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: !0 }; return { done: !1, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = !0, didErr = !1, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = !0; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
12
10
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
- function join(arr) {
15
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
+ function join(arr, opts) {
16
13
  if (!Array.isArray(arr) || arr.length === 0) return '';
17
14
  var OPTS = Object.assign({
18
15
  delim: ' ',
19
16
  trim: !0,
20
17
  valtrim: !0,
21
18
  valround: !1
22
- }, (0, _isNotEmpty2["default"])(options) ? options : {});
19
+ }, Object.prototype.toString.call(opts) === '[object Object]' ? opts : {});
23
20
  var filtered = [];
24
21
  var _iterator = _createForOfIteratorHelper(arr),
25
22
  _step;
26
23
  try {
27
24
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
28
25
  var el = _step.value;
29
- if ((0, _isNotEmpty["default"])(el)) {
26
+ if (typeof el === 'string' && el.trim().length > 0) {
30
27
  filtered.push(OPTS.valtrim === !0 ? el.trim() : el);
31
28
  } else if (Number.isFinite(el)) {
32
29
  filtered.push(Number.isFinite(OPTS.valround) ? (0, _round["default"])(el, OPTS.valround) : el);
package/array/mapFn.js CHANGED
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = mapFn;
7
- var _is = _interopRequireDefault(require("../function/is.js"));
8
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
9
- var _is2 = require("../object/is.js");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
7
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: !0 }; return { done: !1, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = !0, didErr = !1, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = !0; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
12
8
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
9
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
- function mapFn(arr, fn) {
15
- var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
16
- if (!Array.isArray(arr) || arr.length === 0 || !(0, _is["default"])(fn)) return {};
10
+ function mapFn(arr, fn, opts) {
11
+ if (!Array.isArray(arr) || arr.length === 0 || typeof fn !== 'function') return {};
17
12
  var OPTS = Object.assign({
18
13
  merge: !1
19
- }, Object.prototype.toString.call(opts) === _is2.PROTO_OBJ ? opts : {});
14
+ }, Object.prototype.toString.call(opts) === '[object Object]' ? opts : {});
20
15
  var map = {};
21
16
  var hash = !1;
22
17
  var _iterator = _createForOfIteratorHelper(arr),
@@ -24,9 +19,9 @@ function mapFn(arr, fn) {
24
19
  try {
25
20
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
26
21
  var el = _step.value;
27
- if (Object.prototype.toString.call(el) !== _is2.PROTO_OBJ) continue;
22
+ if (Object.prototype.toString.call(el) !== '[object Object]') continue;
28
23
  hash = fn(el);
29
- if (!Number.isFinite(hash) && !(0, _isNotEmpty["default"])(hash)) continue;
24
+ if (!Number.isFinite(hash) && !(typeof hash === 'string' && hash.trim().length > 0)) continue;
30
25
  if (OPTS.merge === !0 && map.hasOwnProperty(hash)) {
31
26
  map[hash] = Object.assign(map[hash], el);
32
27
  } else {
package/array/mapKey.js CHANGED
@@ -4,29 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = mapKey;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
8
- var _is = require("../object/is.js");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
7
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: !0 }; return { done: !1, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = !0, didErr = !1, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = !0; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
11
8
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
9
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
- function mapKey(arr, key) {
14
- var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
15
- if (!Array.isArray(arr) || arr.length === 0 || !(0, _isNotEmpty["default"])(key)) return {};
10
+ function mapKey(arr, key, opts) {
11
+ if (!Array.isArray(arr) || arr.length === 0 || typeof key !== 'string') return {};
12
+ var key_s = key.trim();
13
+ if (key_s.length === 0) return {};
16
14
  var OPTS = Object.assign({
17
15
  merge: !1
18
- }, Object.prototype.toString.call(opts) === _is.PROTO_OBJ ? opts : {});
16
+ }, Object.prototype.toString.call(opts) === '[object Object]' ? opts : {});
19
17
  var map = {};
20
18
  var _iterator = _createForOfIteratorHelper(arr),
21
19
  _step;
22
20
  try {
23
21
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
24
22
  var el = _step.value;
25
- if (Object.prototype.toString.call(el) !== _is.PROTO_OBJ || !Object.prototype.hasOwnProperty.call(el, key)) continue;
26
- if (OPTS.merge === !0 && map.hasOwnProperty(el[key])) {
27
- map[el[key]] = Object.assign(map[el[key]], el);
23
+ if (Object.prototype.toString.call(el) !== '[object Object]' || !Object.prototype.hasOwnProperty.call(el, key_s)) continue;
24
+ if (OPTS.merge === !0 && map.hasOwnProperty(el[key_s])) {
25
+ map[el[key_s]] = Object.assign(map[el[key_s]], el);
28
26
  } else {
29
- map[el[key]] = el;
27
+ map[el[key_s]] = el;
30
28
  }
31
29
  }
32
30
  } catch (err) {
@@ -1,23 +1,18 @@
1
1
  'use strict';
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
3
  value: !0
5
4
  });
6
5
  exports["default"] = mapPrimitive;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
8
- var _isNotEmpty2 = _interopRequireDefault(require("../object/isNotEmpty.js"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
6
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: !0 }; return { done: !1, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = !0, didErr = !1, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = !0; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
11
7
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
- function mapPrimitive(arr) {
14
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9
+ function mapPrimitive(arr, opts) {
15
10
  if (!Array.isArray(arr) || arr.length === 0) return {};
16
11
  var OPTS = Object.assign({
17
12
  valtrim: !1,
18
13
  keyround: !1,
19
14
  valround: !1
20
- }, (0, _isNotEmpty2["default"])(opts) ? opts : {});
15
+ }, Object.prototype.toString.call(opts) === '[object Object]' ? opts : {});
21
16
  var map = {};
22
17
  var _iterator = _createForOfIteratorHelper(arr),
23
18
  _step;
@@ -30,7 +25,7 @@ function mapPrimitive(arr) {
30
25
  } else {
31
26
  map[el] = OPTS.valround ? Math.round(el) : el;
32
27
  }
33
- } else if ((0, _isNotEmpty["default"])(el)) {
28
+ } else if (typeof el === 'string' && el.trim().length > 0) {
34
29
  map[el.trim()] = OPTS.valtrim ? el.trim() : el;
35
30
  }
36
31
  }
package/array/sort.js CHANGED
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = sort;
7
7
  var _is = _interopRequireDefault(require("../boolean/is.js"));
8
8
  var _isNotEmpty = _interopRequireDefault(require("../object/isNotEmpty.js"));
9
- var _is2 = require("../object/is.js");
10
- var _isNotEmpty2 = _interopRequireDefault(require("../string/isNotEmpty.js"));
11
- var _is3 = _interopRequireDefault(require("../function/is.js"));
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
11
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -50,11 +47,10 @@ function sort(arr, by) {
50
47
  var dir = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'asc';
51
48
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
52
49
  if (!Array.isArray(arr) || arr.length === 0) return [];
53
- if (!(0, _isNotEmpty2["default"])(by) && !(0, _is3["default"])(by)) throw new Error('Sort by should be either a string or a function');
54
50
  if (dir !== 'asc' && dir !== 'desc') throw new Error('Direction should be either asc or desc');
55
- var has_opts = Object.prototype.toString.call(options) === _is2.PROTO_OBJ;
51
+ var has_opts = Object.prototype.toString.call(options) === '[object Object]';
56
52
  var OPTS = {
57
- filter_fn: has_opts && (0, _is3["default"])(options.filter_fn) ? function (el) {
53
+ filter_fn: has_opts && typeof options.filter_fn === 'function' ? function (el) {
58
54
  return (0, _isNotEmpty["default"])(el) && options.filter_fn(el);
59
55
  } : _isNotEmpty["default"],
60
56
  nokey_hide: has_opts && (0, _is["default"])(options.nokey_hide) ? options.nokey_hide : !1,
@@ -62,18 +58,20 @@ function sort(arr, by) {
62
58
  };
63
59
  var prepared_arr = [];
64
60
  var nokey_arr = [];
65
- if ((0, _isNotEmpty2["default"])(by)) {
61
+ if (typeof by === 'string') {
62
+ var by_s = by.trim();
63
+ if (by_s.length === 0) throw new Error('Sort by should either be a string with content or a function');
66
64
  var _iterator = _createForOfIteratorHelper(arr),
67
65
  _step;
68
66
  try {
69
67
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
70
68
  var el = _step.value;
71
69
  if (!OPTS.filter_fn(el)) continue;
72
- if (!Object.prototype.hasOwnProperty.call(el, by) || el[by] === undefined) {
70
+ if (!Object.prototype.hasOwnProperty.call(el, by_s) || el[by_s] === undefined) {
73
71
  nokey_arr.push(el);
74
72
  } else {
75
73
  prepared_arr.push({
76
- t: el[by],
74
+ t: el[by_s],
77
75
  el: el
78
76
  });
79
77
  }
@@ -83,7 +81,7 @@ function sort(arr, by) {
83
81
  } finally {
84
82
  _iterator.f();
85
83
  }
86
- } else {
84
+ } else if (typeof by === 'function') {
87
85
  var key;
88
86
  var _iterator2 = _createForOfIteratorHelper(arr),
89
87
  _step2;
@@ -106,6 +104,8 @@ function sort(arr, by) {
106
104
  } finally {
107
105
  _iterator2.f();
108
106
  }
107
+ } else {
108
+ throw new Error('Sort by should either be a string with content or a function');
109
109
  }
110
110
  quickSort(prepared_arr);
111
111
  if (dir === 'desc') prepared_arr.reverse();
package/boolean/is.js CHANGED
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = isBoolean;
7
7
  function isBoolean(val) {
8
- return val === !0 || val === !1 || typeof val === 'boolean' || val instanceof Boolean;
8
+ return val === !0 || val === !1;
9
9
  }
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = memoize;
7
- var _is = _interopRequireDefault(require("../function/is.js"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
7
  function memoize(fn) {
10
8
  var resolver = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
11
- var has_resolver = (0, _is["default"])(resolver);
9
+ var has_resolver = typeof resolver === 'function';
12
10
  var memoized = function memoized() {
13
11
  var key = has_resolver ? resolver.apply(this, arguments) : arguments[0];
14
12
  if (memoized.cache.has(key)) return memoized.cache.get(key);
package/date/addUTC.js CHANGED
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = addUTC;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
9
  function addUTC(val, amount, key) {
10
- if (!(val instanceof Date)) throw new TypeError('addUTC requires a date object');
10
+ if (!(0, _is["default"])(val)) throw new TypeError('addUTC requires a date object');
11
11
  if (!Number.isInteger(amount)) throw new TypeError('Amount needs to be an integer');
12
- if (!(0, _isNotEmpty["default"])(key)) throw new TypeError('Key needs to be a string with content');
12
+ if (typeof key !== 'string') throw new TypeError('Key needs to be a string with content');
13
13
  var copy = new Date(Date.UTC(val.getUTCFullYear(), val.getUTCMonth(), val.getUTCDate(), val.getUTCHours(), val.getUTCMinutes(), val.getUTCSeconds(), val.getUTCMilliseconds()));
14
14
  switch (key) {
15
15
  case 'years':
package/date/diff.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = diff;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
9
  var SECOND_IN_MILLISECONDS = 1000;
10
10
  var MINUTE_IN_MILLISECONDS = SECOND_IN_MILLISECONDS * 60;
@@ -13,8 +13,8 @@ var DAY_IN_MILLISECONDS = HOUR_IN_MILLISECONDS * 24;
13
13
  var WEEK_IN_MILLISECONDS = DAY_IN_MILLISECONDS * 7;
14
14
  function diff(val_a, val_b) {
15
15
  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;
16
- if (!(val_a instanceof Date) || !(val_b instanceof Date)) throw new TypeError('Diff requires date objects for both values');
17
- if (key !== !1 && !(0, _isNotEmpty["default"])(key)) throw new TypeError('Key needs to be a string or false');
16
+ if (!(0, _is["default"])(val_a) || !(0, _is["default"])(val_b)) throw new TypeError('Diff requires date objects for both values');
17
+ if (key !== !1 && typeof key !== 'string') throw new TypeError('Key needs to be a string or false');
18
18
  var diff_in_ms = val_a.valueOf() - val_b.valueOf();
19
19
  switch (key) {
20
20
  case 'week':
package/date/endOfUTC.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = endOfUTC;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
9
  var WEEK_END = {
10
10
  week: 0,
@@ -17,8 +17,8 @@ var WEEK_END = {
17
17
  week_sat: 5
18
18
  };
19
19
  function endOfUTC(val, key) {
20
- if (!(val instanceof Date)) throw new TypeError('endOfUTC requires a date object');
21
- if (!(0, _isNotEmpty["default"])(key)) throw new TypeError('Key needs to be a string with content');
20
+ if (!(0, _is["default"])(val)) throw new TypeError('endOfUTC requires a date object');
21
+ if (typeof key !== 'string') throw new TypeError('Key needs to be a string with content');
22
22
  switch (key) {
23
23
  case 'year':
24
24
  return new Date(Date.UTC(val.getUTCFullYear(), 11, 31, 23, 59, 59, 999));
package/date/is.js CHANGED
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = isDate;
7
7
  function isDate(val) {
8
- return val instanceof Date;
8
+ return Object.prototype.toString.call(val) === '[object Date]' && !isNaN(val);
9
9
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = startOfUTC;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
9
  var WEEK_START = {
10
10
  week: 1,
@@ -17,8 +17,8 @@ var WEEK_START = {
17
17
  week_sat: 6
18
18
  };
19
19
  function startOfUTC(val, key) {
20
- if (!(val instanceof Date)) throw new TypeError('startOfUTC requires a date object');
21
- if (!(0, _isNotEmpty["default"])(key)) throw new TypeError('Key needs to be a string with content');
20
+ if (!(0, _is["default"])(val)) throw new TypeError('startOfUTC requires a date object');
21
+ if (typeof key !== 'string') throw new TypeError('Key needs to be a string with content');
22
22
  switch (key) {
23
23
  case 'year':
24
24
  return new Date(Date.UTC(val.getUTCFullYear(), 0, 1, 0, 0, 0, 0));
package/date/toUTC.js CHANGED
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = toUTC;
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7
9
  function toUTC(val) {
8
- if (!(val instanceof Date)) throw new TypeError('toUTC requires a date object');
10
+ if (!(0, _is["default"])(val)) throw new TypeError('toUTC requires a date object');
9
11
  return new Date(Date.UTC(val.getUTCFullYear(), val.getUTCMonth(), val.getUTCDate(), val.getUTCHours(), val.getUTCMinutes(), val.getUTCSeconds(), val.getUTCMilliseconds()));
10
12
  }
package/date/toUnix.js CHANGED
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = toUnix;
7
+ var _is = _interopRequireDefault(require("./is.js"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7
9
  function toUnix(val) {
8
- if (!(val instanceof Date)) throw new TypeError('toUnix requires a date object');
10
+ if (!(0, _is["default"])(val)) throw new TypeError('toUnix requires a date object');
9
11
  return Math.floor(val.valueOf() / 1000);
10
12
  }
package/deep/freeze.js CHANGED
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = deepFreeze;
7
- var _is = require("../object/is.js");
8
7
  function deep(obj) {
9
8
  for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
10
9
  var key = _Object$keys[_i];
11
- if (Object.prototype.toString.call(obj[key]) === _is.PROTO_OBJ || Array.isArray(obj[key])) deep(obj[key]);
10
+ if (Object.prototype.toString.call(obj[key]) === '[object Object]' || Array.isArray(obj[key])) deep(obj[key]);
12
11
  }
13
12
  return Object.freeze(obj);
14
13
  }
15
14
  function deepFreeze(obj) {
16
- if (Object.prototype.toString.call(obj) !== _is.PROTO_OBJ && !Array.isArray(obj)) throw new TypeError('Only objects/arrays can be frozen');
15
+ if (Object.prototype.toString.call(obj) !== '[object Object]' && !Array.isArray(obj)) throw new TypeError('Only objects/arrays can be frozen');
17
16
  return deep(obj);
18
17
  }
package/deep/get.js CHANGED
@@ -1,17 +1,15 @@
1
1
  'use strict';
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
3
  value: !0
5
4
  });
6
5
  exports["default"] = deepGet;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
8
- var _is = require("../object/is.js");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
6
  function deepGet(obj, path) {
11
7
  var get_parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;
12
- if (Object.prototype.toString.call(obj) !== _is.PROTO_OBJ && !Array.isArray(obj)) throw new TypeError('Deepget is only supported for objects');
13
- if (!(0, _isNotEmpty["default"])(path)) throw new TypeError('No path was given');
14
- var parts = path.replace(/\[/g, '.').replace(/(\.){2,}/g, '.').replace(/(^\.|\.$|\])/g, '').split('.');
8
+ if (Object.prototype.toString.call(obj) !== '[object Object]' && !Array.isArray(obj)) throw new TypeError('Deepget is only supported for objects');
9
+ if (typeof path !== 'string') throw new TypeError('No path was given');
10
+ var path_s = path.trim();
11
+ if (path_s.length === 0) throw new TypeError('No path was given');
12
+ var parts = path_s.replace(/\[/g, '.').replace(/(\.){2,}/g, '.').replace(/(^\.|\.$|\])/g, '').split('.');
15
13
  if (parts.length === 0 || parts.length === 1 && get_parent) return obj;
16
14
  if (get_parent) parts.pop();
17
15
  var cursor = obj;
@@ -20,12 +18,12 @@ function deepGet(obj, path) {
20
18
  var ix = parseInt(parts.shift());
21
19
  if (!Number.isInteger(ix) || ix < 0 || ix > cursor.length - 1) return undefined;
22
20
  cursor = cursor[ix];
23
- } else if (Object.prototype.toString.call(cursor) === _is.PROTO_OBJ) {
21
+ } else if (Object.prototype.toString.call(cursor) === '[object Object]') {
24
22
  var key = parts.shift();
25
23
  if (!Object.prototype.hasOwnProperty.call(cursor, key)) return undefined;
26
24
  cursor = cursor[key];
27
25
  }
28
- if (!Array.isArray(cursor) && Object.prototype.toString.call(cursor) !== _is.PROTO_OBJ && parts.length > 0) return undefined;
26
+ if (!Array.isArray(cursor) && Object.prototype.toString.call(cursor) !== '[object Object]' && parts.length > 0) return undefined;
29
27
  }
30
28
  return cursor;
31
29
  }
package/deep/seal.js CHANGED
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = deepSeal;
7
- var _is = require("../object/is.js");
8
7
  function deep(obj) {
9
8
  for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) {
10
9
  var key = _Object$keys[_i];
11
- if (Object.prototype.toString.call(obj[key]) === _is.PROTO_OBJ || Array.isArray(obj[key])) deep(obj[key]);
10
+ if (Object.prototype.toString.call(obj[key]) === '[object Object]' || Array.isArray(obj[key])) deep(obj[key]);
12
11
  }
13
12
  return Object.seal(obj);
14
13
  }
15
14
  function deepSeal(obj) {
16
- if (Object.prototype.toString.call(obj) !== _is.PROTO_OBJ && !Array.isArray(obj)) throw new TypeError('Only objects/arrays can be sealed');
15
+ if (Object.prototype.toString.call(obj) !== '[object Object]' && !Array.isArray(obj)) throw new TypeError('Only objects/arrays can be sealed');
17
16
  return deep(obj);
18
17
  }
package/deep/set.js CHANGED
@@ -1,24 +1,22 @@
1
1
  'use strict';
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
3
  value: !0
5
4
  });
6
5
  exports["default"] = deepSet;
7
- var _isNotEmpty = _interopRequireDefault(require("../string/isNotEmpty.js"));
8
- var _is = require("../object/is.js");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
6
  function deepSet(obj, path) {
11
7
  var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
12
8
  var define = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;
13
- if (Object.prototype.toString.call(obj) !== _is.PROTO_OBJ && !Array.isArray(obj)) throw new TypeError('Deepset is only supported for objects');
14
- if (!(0, _isNotEmpty["default"])(path)) throw new TypeError('No path was given');
15
- var parts = path.replace(/\[/g, '.').replace(/(\.){2,}/g, '.').replace(/(^\.|\.$|\])/g, '').split('.');
9
+ if (Object.prototype.toString.call(obj) !== '[object Object]' && !Array.isArray(obj)) throw new TypeError('Deepset is only supported for objects');
10
+ if (typeof path !== 'string') throw new TypeError('No path was given');
11
+ var path_s = path.trim();
12
+ if (path_s.length === 0) throw new TypeError('No path was given');
13
+ var parts = path_s.replace(/\[/g, '.').replace(/(\.){2,}/g, '.').replace(/(^\.|\.$|\])/g, '').split('.');
16
14
  for (var i = 0; i < parts.length - 1; i++) {
17
15
  if (parts[i] === '') continue;
18
16
  if (!obj[parts[i]]) obj[parts[i]] = {};
19
17
  obj = obj[parts[i]];
20
18
  }
21
- if (!Array.isArray(obj) && Object.prototype.toString.call(obj) !== _is.PROTO_OBJ) return !1;
19
+ if (!Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]') return !1;
22
20
  if (define) {
23
21
  Object.defineProperty(obj, parts[parts.length - 1], value);
24
22
  } else {
package/equal.js CHANGED
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports["default"] = void 0;
6
6
  var _isNumericalNaN = _interopRequireDefault(require("./number/isNumericalNaN.js"));
7
- var _is = require("./regexp/is.js");
8
- var _is2 = require("./object/is.js");
9
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
8
  function isArrayEqual(a, b) {
11
9
  if (a.length !== b.length) return !1;
@@ -26,9 +24,9 @@ function isObjectEqual(a, b) {
26
24
  }
27
25
  function equal(a, b) {
28
26
  if (a instanceof Date && b instanceof Date) return a.valueOf() === b.valueOf();
29
- if (Object.prototype.toString.call(a) === _is.PROTO_RGX && Object.prototype.toString.call(b) === _is.PROTO_RGX) return String(a) === String(b);
27
+ if (Object.prototype.toString.call(a) === '[object RegExp]' && Object.prototype.toString.call(b) === '[object RegExp]') return String(a) === String(b);
30
28
  if (Array.isArray(a) && Array.isArray(b)) return isArrayEqual(a, b);
31
- if (Object.prototype.toString.call(a) === _is2.PROTO_OBJ && Object.prototype.toString.call(b) === _is2.PROTO_OBJ) return isObjectEqual(a, b);
29
+ if (Object.prototype.toString.call(a) === '[object Object]' && Object.prototype.toString.call(b) === '[object Object]') return isObjectEqual(a, b);
32
30
  if ((0, _isNumericalNaN["default"])(a)) {
33
31
  return (0, _isNumericalNaN["default"])(b);
34
32
  }
package/function/is.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports["default"] = isFunction;
6
6
  function isFunction(val) {
7
- return !!(val && val.constructor && val.call && val.apply);
7
+ return typeof val === 'function';
8
8
  }
package/hash/fnv1A.js CHANGED
@@ -3,11 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: !0
4
4
  });
5
5
  exports["default"] = fnv1A;
6
- var _is = _interopRequireDefault(require("../string/is.js"));
7
- var _isNumericalNaN = _interopRequireDefault(require("../number/isNumericalNaN.js"));
8
- var _is2 = require("../regexp/is.js");
9
- var _is3 = require("../object/is.js");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
6
  var FNV_32 = 2166136261;
12
7
  var REPL_NAN = 'nan';
13
8
  var REPL_TRUE = 'true';
@@ -18,17 +13,17 @@ function fnv1A(data) {
18
13
  var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FNV_32;
19
14
  var hash = offset;
20
15
  var sanitized;
21
- if ((0, _is["default"])(data)) {
16
+ if (typeof data === 'string') {
22
17
  sanitized = data;
23
18
  } else if (Number.isFinite(data)) {
24
19
  sanitized = "".concat(data);
25
- } else if (Array.isArray(data) || Object.prototype.toString.call(data) === _is3.PROTO_OBJ) {
20
+ } else if (Array.isArray(data) || Object.prototype.toString.call(data) === '[object Object]') {
26
21
  sanitized = JSON.stringify(data);
27
- } else if (Object.prototype.toString.call(data) === _is2.PROTO_RGX) {
22
+ } else if (Object.prototype.toString.call(data) === '[object RegExp]') {
28
23
  sanitized = data.toString();
29
24
  } else if (data instanceof Date) {
30
25
  sanitized = "".concat(data.getTime());
31
- } else if ((0, _isNumericalNaN["default"])(data)) {
26
+ } else if (Number.isNaN(data) || data === Infinity) {
32
27
  sanitized = REPL_NAN;
33
28
  } else if (data === !1) {
34
29
  sanitized = REPL_FALSE;
package/object/define.js CHANGED
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = define;
7
- var _is = require("./is.js");
8
7
  function define(props) {
9
8
  var obj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
- if (Object.prototype.toString.call(props) !== _is.PROTO_OBJ || Object.prototype.toString.call(obj) !== _is.PROTO_OBJ) throw new TypeError('Please pass an object as the value for props and obj');
9
+ if (Object.prototype.toString.call(props) !== '[object Object]' || Object.prototype.toString.call(obj) !== '[object Object]') throw new TypeError('Please pass an object as the value for props and obj');
11
10
  return Object.defineProperties(obj, props);
12
11
  }
package/object/is.js CHANGED
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- exports.PROTO_OBJ = void 0;
7
6
  exports["default"] = isObject;
8
- var PROTO_OBJ = exports.PROTO_OBJ = '[object Object]';
7
+ var PROTO_OBJ = '[object Object]';
9
8
  function isObject(val) {
10
9
  return Object.prototype.toString.call(val) === PROTO_OBJ;
11
10
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = isNotEmptyObject;
7
- var _is = require("./is.js");
8
7
  function isNotEmptyObject(val) {
9
- return Object.prototype.toString.call(val) === _is.PROTO_OBJ && Object.keys(val).length > 0;
8
+ return Object.prototype.toString.call(val) === '[object Object]' && Object.keys(val).length > 0;
10
9
  }
package/object/merge.js CHANGED
@@ -4,12 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _is = require("./is.js");
8
7
  var merge = function merge(target) {
9
8
  var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
- if (Object.prototype.toString.call(target) !== _is.PROTO_OBJ || Object.prototype.toString.call(source) !== _is.PROTO_OBJ) throw new TypeError('Please pass a target and object to merge');
9
+ if (Object.prototype.toString.call(target) !== '[object Object]' || Object.prototype.toString.call(source) !== '[object Object]') throw new TypeError('Please pass a target and object to merge');
11
10
  return Object.keys(target).reduce(function (acc, key) {
12
- if (Object.prototype.toString.call(target[key]) === _is.PROTO_OBJ && !Array.isArray(target[key])) {
11
+ if (Object.prototype.toString.call(target[key]) === '[object Object]' && !Array.isArray(target[key])) {
13
12
  acc[key] = merge(target[key], source[key] || {});
14
13
  } else {
15
14
  acc[key] = Object.prototype.hasOwnProperty.call(source, key) ? source[key] : target[key];