@valkyriestudios/utils 10.0.0 → 11.1.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 (255) hide show
  1. package/README.md +1 -1
  2. package/dist/array/dedupe.d.ts +8 -0
  3. package/dist/array/dedupe.js +19 -0
  4. package/dist/array/is.d.ts +8 -0
  5. package/dist/array/is.js +6 -0
  6. package/dist/array/isNotEmpty.d.ts +8 -0
  7. package/dist/array/isNotEmpty.js +6 -0
  8. package/dist/array/join.d.ts +36 -0
  9. package/dist/array/join.js +24 -0
  10. package/dist/array/mapFn.d.ts +40 -0
  11. package/{src/array/mapFn.mjs → dist/array/mapFn.js} +13 -15
  12. package/dist/array/mapKey.d.ts +38 -0
  13. package/dist/array/mapKey.js +27 -0
  14. package/dist/array/mapPrimitive.d.ts +40 -0
  15. package/dist/array/mapPrimitive.js +27 -0
  16. package/dist/array/shuffle.d.ts +9 -0
  17. package/dist/array/shuffle.js +11 -0
  18. package/dist/array/sort.d.ts +58 -0
  19. package/dist/array/sort.js +92 -0
  20. package/dist/boolean/is.d.ts +8 -0
  21. package/dist/boolean/is.js +6 -0
  22. package/dist/caching/memoize.d.ts +10 -0
  23. package/dist/caching/memoize.js +15 -0
  24. package/dist/date/addUTC.d.ts +10 -0
  25. package/{src/date/addUTC.mjs → dist/date/addUTC.js} +11 -26
  26. package/dist/date/diff.d.ts +10 -0
  27. package/dist/date/diff.js +38 -0
  28. package/dist/date/endOfUTC.d.ts +9 -0
  29. package/dist/date/endOfUTC.js +52 -0
  30. package/dist/date/is.d.ts +8 -0
  31. package/dist/date/is.js +6 -0
  32. package/dist/date/nowUnix.d.ts +6 -0
  33. package/dist/date/nowUnix.js +6 -0
  34. package/dist/date/nowUnixMs.d.ts +6 -0
  35. package/dist/date/nowUnixMs.js +6 -0
  36. package/dist/date/startOfUTC.d.ts +9 -0
  37. package/dist/date/startOfUTC.js +52 -0
  38. package/dist/date/toUTC.d.ts +8 -0
  39. package/dist/date/toUTC.js +9 -0
  40. package/dist/date/toUnix.d.ts +8 -0
  41. package/dist/date/toUnix.js +9 -0
  42. package/dist/deep/freeze.d.ts +14 -0
  43. package/dist/deep/freeze.js +23 -0
  44. package/dist/deep/get.d.ts +27 -0
  45. package/dist/deep/get.js +41 -0
  46. package/dist/deep/seal.d.ts +14 -0
  47. package/dist/deep/seal.js +23 -0
  48. package/dist/deep/set.d.ts +42 -0
  49. package/dist/deep/set.js +52 -0
  50. package/dist/equal.d.ts +10 -0
  51. package/dist/equal.js +43 -0
  52. package/dist/function/is.d.ts +8 -0
  53. package/dist/function/is.js +6 -0
  54. package/dist/function/noop.d.ts +6 -0
  55. package/dist/function/noop.js +5 -0
  56. package/dist/function/noopresolve.d.ts +9 -0
  57. package/dist/function/noopresolve.js +6 -0
  58. package/dist/function/noopreturn.d.ts +8 -0
  59. package/dist/function/noopreturn.js +6 -0
  60. package/dist/function/sleep.d.ts +9 -0
  61. package/dist/function/sleep.js +8 -0
  62. package/dist/hash/fnv1A.d.ts +10 -0
  63. package/dist/hash/fnv1A.js +51 -0
  64. package/dist/hash/guid.d.ts +6 -0
  65. package/{src/hash/guid.mjs → dist/hash/guid.js} +9 -14
  66. package/dist/index.d.ts +358 -0
  67. package/dist/is.d.ts +75 -0
  68. package/dist/is.js +77 -0
  69. package/dist/number/is.d.ts +8 -0
  70. package/dist/number/is.js +6 -0
  71. package/dist/number/isAbove.d.ts +9 -0
  72. package/dist/number/isAbove.js +6 -0
  73. package/dist/number/isAboveOrEqual.d.ts +9 -0
  74. package/dist/number/isAboveOrEqual.js +6 -0
  75. package/dist/number/isBelow.d.ts +9 -0
  76. package/dist/number/isBelow.js +6 -0
  77. package/dist/number/isBelowOrEqual.d.ts +10 -0
  78. package/dist/number/isBelowOrEqual.js +6 -0
  79. package/dist/number/isBetween.d.ts +12 -0
  80. package/dist/number/isBetween.js +11 -0
  81. package/dist/number/isInteger.d.ts +8 -0
  82. package/dist/number/isInteger.js +6 -0
  83. package/dist/number/isIntegerAbove.d.ts +9 -0
  84. package/dist/number/isIntegerAbove.js +6 -0
  85. package/dist/number/isIntegerAboveOrEqual.d.ts +10 -0
  86. package/dist/number/isIntegerAboveOrEqual.js +6 -0
  87. package/dist/number/isIntegerBelow.d.ts +9 -0
  88. package/dist/number/isIntegerBelow.js +6 -0
  89. package/dist/number/isIntegerBelowOrEqual.d.ts +10 -0
  90. package/dist/number/isIntegerBelowOrEqual.js +6 -0
  91. package/dist/number/isIntegerBetween.d.ts +12 -0
  92. package/dist/number/isIntegerBetween.js +11 -0
  93. package/dist/number/isNumericalNaN.d.ts +8 -0
  94. package/dist/number/isNumericalNaN.js +6 -0
  95. package/dist/number/randomBetween.d.ts +9 -0
  96. package/dist/number/randomBetween.js +9 -0
  97. package/dist/number/randomIntBetween.d.ts +10 -0
  98. package/dist/number/randomIntBetween.js +9 -0
  99. package/dist/number/round.d.ts +9 -0
  100. package/dist/number/round.js +10 -0
  101. package/dist/number/toPercentage.d.ts +11 -0
  102. package/dist/number/toPercentage.js +11 -0
  103. package/dist/object/define.d.ts +15 -0
  104. package/dist/object/define.js +9 -0
  105. package/dist/object/is.d.ts +8 -0
  106. package/dist/object/is.js +7 -0
  107. package/dist/object/isNotEmpty.d.ts +8 -0
  108. package/dist/object/isNotEmpty.js +6 -0
  109. package/dist/object/merge.d.ts +18 -0
  110. package/dist/object/merge.js +20 -0
  111. package/dist/object/pick.d.ts +13 -0
  112. package/dist/object/pick.js +34 -0
  113. package/dist/regexp/is.d.ts +8 -0
  114. package/dist/regexp/is.js +6 -0
  115. package/dist/regexp/sanitize.d.ts +11 -0
  116. package/dist/regexp/sanitize.js +8 -0
  117. package/dist/string/humanizeBytes.d.ts +40 -0
  118. package/{src/string/humanizeBytes.mjs → dist/string/humanizeBytes.js} +7 -10
  119. package/dist/string/humanizeNumber.d.ts +52 -0
  120. package/dist/string/humanizeNumber.js +60 -0
  121. package/dist/string/is.d.ts +8 -0
  122. package/dist/string/is.js +6 -0
  123. package/dist/string/isBetween.d.ts +13 -0
  124. package/dist/string/isBetween.js +14 -0
  125. package/dist/string/isNotEmpty.d.ts +9 -0
  126. package/dist/string/isNotEmpty.js +8 -0
  127. package/dist/string/shorten.d.ts +10 -0
  128. package/dist/string/shorten.js +11 -0
  129. package/package.json +112 -46
  130. package/tsconfig.types.json +12 -0
  131. package/tsconfig.types_all.json +12 -0
  132. package/array/dedupe.js +0 -33
  133. package/array/is.js +0 -9
  134. package/array/isNotEmpty.js +0 -9
  135. package/array/join.js +0 -38
  136. package/array/mapFn.js +0 -37
  137. package/array/mapKey.js +0 -36
  138. package/array/mapPrimitive.js +0 -38
  139. package/array/shuffle.js +0 -14
  140. package/array/sort.js +0 -125
  141. package/boolean/is.js +0 -9
  142. package/caching/memoize.js +0 -19
  143. package/date/addUTC.js +0 -60
  144. package/date/diff.js +0 -40
  145. package/date/endOfUTC.js +0 -55
  146. package/date/is.js +0 -9
  147. package/date/nowUnix.js +0 -9
  148. package/date/nowUnixMs.js +0 -9
  149. package/date/startOfUTC.js +0 -55
  150. package/date/toUTC.js +0 -12
  151. package/date/toUnix.js +0 -12
  152. package/deep/define.js +0 -12
  153. package/deep/freeze.js +0 -17
  154. package/deep/get.js +0 -29
  155. package/deep/seal.js +0 -17
  156. package/deep/set.js +0 -26
  157. package/equal.js +0 -35
  158. package/function/is.js +0 -8
  159. package/function/noop.js +0 -7
  160. package/function/noopresolve.js +0 -10
  161. package/function/noopreturn.js +0 -8
  162. package/function/sleep.js +0 -13
  163. package/hash/fnv1A.js +0 -44
  164. package/hash/guid.js +0 -16
  165. package/is.js +0 -319
  166. package/number/is.js +0 -9
  167. package/number/isAbove.js +0 -8
  168. package/number/isAboveOrEqual.js +0 -8
  169. package/number/isBelow.js +0 -8
  170. package/number/isBelowOrEqual.js +0 -8
  171. package/number/isBetween.js +0 -9
  172. package/number/isInteger.js +0 -9
  173. package/number/isIntegerAbove.js +0 -8
  174. package/number/isIntegerAboveOrEqual.js +0 -8
  175. package/number/isIntegerBelow.js +0 -8
  176. package/number/isIntegerBelowOrEqual.js +0 -8
  177. package/number/isIntegerBetween.js +0 -9
  178. package/number/isNumericalNaN.js +0 -9
  179. package/number/randomBetween.js +0 -11
  180. package/number/randomIntBetween.js +0 -11
  181. package/number/round.js +0 -12
  182. package/number/toPercentage.js +0 -15
  183. package/object/define.js +0 -11
  184. package/object/is.js +0 -10
  185. package/object/isNotEmpty.js +0 -9
  186. package/object/merge.js +0 -19
  187. package/object/pick.js +0 -41
  188. package/regexp/is.js +0 -9
  189. package/regexp/sanitize.js +0 -9
  190. package/src/array/dedupe.mjs +0 -24
  191. package/src/array/is.mjs +0 -5
  192. package/src/array/isNotEmpty.mjs +0 -5
  193. package/src/array/join.mjs +0 -29
  194. package/src/array/mapKey.mjs +0 -31
  195. package/src/array/mapPrimitive.mjs +0 -30
  196. package/src/array/shuffle.mjs +0 -14
  197. package/src/array/sort.mjs +0 -101
  198. package/src/boolean/is.mjs +0 -5
  199. package/src/caching/memoize.mjs +0 -22
  200. package/src/date/diff.mjs +0 -46
  201. package/src/date/endOfUTC.mjs +0 -130
  202. package/src/date/is.mjs +0 -5
  203. package/src/date/nowUnix.mjs +0 -5
  204. package/src/date/nowUnixMs.mjs +0 -5
  205. package/src/date/startOfUTC.mjs +0 -129
  206. package/src/date/toUTC.mjs +0 -19
  207. package/src/date/toUnix.mjs +0 -11
  208. package/src/deep/define.mjs +0 -7
  209. package/src/deep/freeze.mjs +0 -20
  210. package/src/deep/get.mjs +0 -52
  211. package/src/deep/seal.mjs +0 -20
  212. package/src/deep/set.mjs +0 -46
  213. package/src/equal.mjs +0 -65
  214. package/src/function/is.mjs +0 -6
  215. package/src/function/noop.mjs +0 -5
  216. package/src/function/noopresolve.mjs +0 -6
  217. package/src/function/noopreturn.mjs +0 -6
  218. package/src/function/sleep.mjs +0 -12
  219. package/src/hash/fnv1A.mjs +0 -53
  220. package/src/is.mjs +0 -86
  221. package/src/number/is.mjs +0 -5
  222. package/src/number/isAbove.mjs +0 -6
  223. package/src/number/isAboveOrEqual.mjs +0 -6
  224. package/src/number/isBelow.mjs +0 -6
  225. package/src/number/isBelowOrEqual.mjs +0 -6
  226. package/src/number/isBetween.mjs +0 -13
  227. package/src/number/isInteger.mjs +0 -5
  228. package/src/number/isIntegerAbove.mjs +0 -6
  229. package/src/number/isIntegerAboveOrEqual.mjs +0 -6
  230. package/src/number/isIntegerBelow.mjs +0 -6
  231. package/src/number/isIntegerBelowOrEqual.mjs +0 -6
  232. package/src/number/isIntegerBetween.mjs +0 -13
  233. package/src/number/isNumericalNaN.mjs +0 -5
  234. package/src/number/randomBetween.mjs +0 -11
  235. package/src/number/randomIntBetween.mjs +0 -11
  236. package/src/number/round.mjs +0 -10
  237. package/src/number/toPercentage.mjs +0 -14
  238. package/src/object/define.mjs +0 -10
  239. package/src/object/is.mjs +0 -7
  240. package/src/object/isNotEmpty.mjs +0 -5
  241. package/src/object/merge.mjs +0 -25
  242. package/src/object/pick.mjs +0 -35
  243. package/src/regexp/is.mjs +0 -5
  244. package/src/regexp/sanitize.mjs +0 -10
  245. package/src/string/humanizeNumber.mjs +0 -82
  246. package/src/string/is.mjs +0 -5
  247. package/src/string/isBetween.mjs +0 -16
  248. package/src/string/isNotEmpty.mjs +0 -6
  249. package/src/string/shorten.mjs +0 -20
  250. package/string/humanizeBytes.js +0 -21
  251. package/string/humanizeNumber.js +0 -54
  252. package/string/is.js +0 -9
  253. package/string/isBetween.js +0 -11
  254. package/string/isNotEmpty.js +0 -11
  255. package/string/shorten.js +0 -11
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const FNV_32 = 2166136261;
4
+ const REPL_NAN = 'nan';
5
+ const REPL_TRUE = 'true';
6
+ const REPL_FALSE = 'false';
7
+ const REPL_UNDEF = 'undefined';
8
+ const REPL_NULL = 'null';
9
+ function fnv1A(data, offset = FNV_32) {
10
+ let hash = offset;
11
+ let sanitized;
12
+ if (typeof data === 'string') {
13
+ sanitized = data;
14
+ }
15
+ else if (Number.isFinite(data)) {
16
+ sanitized = `${data}`;
17
+ }
18
+ else if (Array.isArray(data) || Object.prototype.toString.call(data) === '[object Object]') {
19
+ sanitized = JSON.stringify(data);
20
+ }
21
+ else if (Object.prototype.toString.call(data) === '[object RegExp]') {
22
+ sanitized = data.toString();
23
+ }
24
+ else if (data instanceof Date) {
25
+ sanitized = `${data.getTime()}`;
26
+ }
27
+ else if (Number.isNaN(data) || data === Infinity) {
28
+ sanitized = REPL_NAN;
29
+ }
30
+ else if (data === false) {
31
+ sanitized = REPL_FALSE;
32
+ }
33
+ else if (data === true) {
34
+ sanitized = REPL_TRUE;
35
+ }
36
+ else if (data === null) {
37
+ sanitized = REPL_NULL;
38
+ }
39
+ else if (data === undefined) {
40
+ sanitized = REPL_UNDEF;
41
+ }
42
+ else {
43
+ throw new TypeError('An FNV1A Hash could not be calculated for this datatype');
44
+ }
45
+ for (let i = 0; i < sanitized.length; i++) {
46
+ hash ^= sanitized.charCodeAt(i);
47
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
48
+ }
49
+ return hash >>> 0;
50
+ }
51
+ exports.default = fnv1A;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generate a unique identifier (guid) according to RFC4122
3
+ *
4
+ * @returns Generated guid string
5
+ */
6
+ export default function guid(): string;
@@ -1,20 +1,14 @@
1
1
  'use strict';
2
-
3
- /* eslint-disable no-bitwise, prefer-template */
4
-
5
- // RFC4122 Compliant
6
-
7
- // Generates a prebuilt hexmap from 0 to 255
2
+ Object.defineProperty(exports, "__esModule", { value: true });
8
3
  const HEXMAP = [];
9
4
  for (let i = 0; i < 256; i++) {
10
5
  HEXMAP[i] = (i < 16 ? '0' : '') + i.toString(16);
11
6
  }
12
-
13
- export default function guid () {
14
- const d0 = (Math.random()*0xffffffff) | 0;
15
- const d1 = (Math.random()*0xffffffff) | 0;
16
- const d2 = (Math.random()*0xffffffff) | 0;
17
- const d3 = (Math.random()*0xffffffff) | 0;
7
+ function guid() {
8
+ const d0 = (Math.random() * 0xffffffff) | 0;
9
+ const d1 = (Math.random() * 0xffffffff) | 0;
10
+ const d2 = (Math.random() * 0xffffffff) | 0;
11
+ const d3 = (Math.random() * 0xffffffff) | 0;
18
12
  return HEXMAP[d0 & 0xff] +
19
13
  HEXMAP[(d0 >> 8) & 0xff] +
20
14
  HEXMAP[(d0 >> 16) & 0xff] +
@@ -23,8 +17,8 @@ export default function guid () {
23
17
  HEXMAP[d1 & 0xff] +
24
18
  HEXMAP[(d1 >> 8) & 0xff] +
25
19
  '-' +
26
- HEXMAP[((d1>>16) & 0x0f) | 0x40] +
27
- HEXMAP[(d1>>24) & 0xff] +
20
+ HEXMAP[((d1 >> 16) & 0x0f) | 0x40] +
21
+ HEXMAP[(d1 >> 24) & 0xff] +
28
22
  '-' +
29
23
  HEXMAP[(d2 & 0x3f) | 0x80] +
30
24
  HEXMAP[(d2 >> 8) & 0xff] +
@@ -36,3 +30,4 @@ export default function guid () {
36
30
  HEXMAP[(d3 >> 16) & 0xff] +
37
31
  HEXMAP[(d3 >> 24) & 0xff];
38
32
  }
33
+ exports.default = guid;
@@ -0,0 +1,358 @@
1
+ declare module "number/isNumericalNaN" {
2
+ export default function isNumericalNaN(val: any): boolean;
3
+ }
4
+ declare module "equal" {
5
+ function equal(a: any, b: any): boolean;
6
+ export default equal;
7
+ }
8
+ declare module "array/isNotEmpty" {
9
+ export default function isNotEmptyArray(val: any): boolean;
10
+ }
11
+ declare module "array/is" {
12
+ export default function isArray(val: any): boolean;
13
+ }
14
+ declare module "boolean/is" {
15
+ export default function isBoolean(val: any): boolean;
16
+ }
17
+ declare module "date/is" {
18
+ export default function isDate(val: any): boolean;
19
+ }
20
+ declare module "function/is" {
21
+ export default function isFunction(val: any): boolean;
22
+ }
23
+ declare module "number/is" {
24
+ export default function isNumber(val: any): boolean;
25
+ }
26
+ declare module "number/isBetween" {
27
+ export default function isNumberBetween(val: any, min: number, max: number): boolean;
28
+ }
29
+ declare module "number/isBelow" {
30
+ export default function isNumberBelow(val: any, ref: number): boolean;
31
+ }
32
+ declare module "number/isBelowOrEqual" {
33
+ export default function isNumberBelowOrEqual(val: any, ref: number): boolean;
34
+ }
35
+ declare module "number/isAbove" {
36
+ export default function isNumberAbove(val: any, ref: number): boolean;
37
+ }
38
+ declare module "number/isAboveOrEqual" {
39
+ export default function isNumberAboveOrEqual(val: any, ref: number): boolean;
40
+ }
41
+ declare module "number/isInteger" {
42
+ export default function isInteger(val: any): boolean;
43
+ }
44
+ declare module "number/isIntegerBetween" {
45
+ export default function isIntegerBetween(val: any, min: number, max: number): boolean;
46
+ }
47
+ declare module "number/isIntegerBelow" {
48
+ export default function isIntegerBelow(val: any, ref: number): boolean;
49
+ }
50
+ declare module "number/isIntegerBelowOrEqual" {
51
+ export default function isIntegerBelowOrEqual(val: any, ref: number): boolean;
52
+ }
53
+ declare module "number/isIntegerAbove" {
54
+ export default function isIntegerAbove(val: any, ref: number): boolean;
55
+ }
56
+ declare module "number/isIntegerAboveOrEqual" {
57
+ export default function isIntegerAboveOrEqual(val: any, ref: number): boolean;
58
+ }
59
+ declare module "regexp/is" {
60
+ export default function isRegExp(val: any): boolean;
61
+ }
62
+ declare module "object/is" {
63
+ export default function isObject(val: any): boolean;
64
+ }
65
+ declare module "object/isNotEmpty" {
66
+ export default function isNotEmptyObject(val: any): boolean;
67
+ }
68
+ declare module "string/is" {
69
+ export default function isString(val: any): boolean;
70
+ }
71
+ declare module "string/isBetween" {
72
+ export default function isStringBetween(val: any, min: number, max: number, trimmed?: boolean): boolean;
73
+ }
74
+ declare module "string/isNotEmpty" {
75
+ export default function isNotEmptyString(val: any, trimmed?: boolean): boolean;
76
+ }
77
+ declare module "is" {
78
+ import equal from "equal";
79
+ import isNotEmptyArray from "array/isNotEmpty";
80
+ import isArray from "array/is";
81
+ import isBoolean from "boolean/is";
82
+ import isDate from "date/is";
83
+ import isFunction from "function/is";
84
+ import isNumber from "number/is";
85
+ import isNumberBetween from "number/isBetween";
86
+ import isNumberBelow from "number/isBelow";
87
+ import isNumberBelowOrEqual from "number/isBelowOrEqual";
88
+ import isNumberAbove from "number/isAbove";
89
+ import isNumberAboveOrEqual from "number/isAboveOrEqual";
90
+ import isInteger from "number/isInteger";
91
+ import isIntegerBetween from "number/isIntegerBetween";
92
+ import isIntegerBelow from "number/isIntegerBelow";
93
+ import isIntegerBelowOrEqual from "number/isIntegerBelowOrEqual";
94
+ import isIntegerAbove from "number/isIntegerAbove";
95
+ import isIntegerAboveOrEqual from "number/isIntegerAboveOrEqual";
96
+ import isRegExp from "regexp/is";
97
+ import isObject from "object/is";
98
+ import isNotEmptyObject from "object/isNotEmpty";
99
+ import isString from "string/is";
100
+ import isStringBetween from "string/isBetween";
101
+ import isNotEmptyString from "string/isNotEmpty";
102
+ const Is: Readonly<{
103
+ Array: typeof isArray;
104
+ NeArray: typeof isNotEmptyArray;
105
+ NotEmptyArray: typeof isNotEmptyArray;
106
+ Boolean: typeof isBoolean;
107
+ Date: typeof isDate;
108
+ Function: typeof isFunction;
109
+ Num: typeof isNumber;
110
+ NumBetween: typeof isNumberBetween;
111
+ NumAbove: typeof isNumberAbove;
112
+ NumAboveOrEqual: typeof isNumberAboveOrEqual;
113
+ NumBelow: typeof isNumberBelow;
114
+ NumBelowOrEqual: typeof isNumberBelowOrEqual;
115
+ NumGt: typeof isNumberAbove;
116
+ NumGte: typeof isNumberAboveOrEqual;
117
+ NumLt: typeof isNumberBelow;
118
+ NumLte: typeof isNumberBelowOrEqual;
119
+ Number: typeof isNumber;
120
+ NumberBetween: typeof isNumberBetween;
121
+ NumberAbove: typeof isNumberAbove;
122
+ NumberAboveOrEqual: typeof isNumberAboveOrEqual;
123
+ NumberBelow: typeof isNumberBelow;
124
+ NumberBelowOrEqual: typeof isNumberBelowOrEqual;
125
+ Int: typeof isInteger;
126
+ IntBetween: typeof isIntegerBetween;
127
+ IntAbove: typeof isIntegerAbove;
128
+ IntAboveOrEqual: typeof isIntegerAboveOrEqual;
129
+ IntBelow: typeof isIntegerBelow;
130
+ IntBelowOrEqual: typeof isIntegerBelowOrEqual;
131
+ IntGt: typeof isIntegerAbove;
132
+ IntGte: typeof isIntegerAboveOrEqual;
133
+ IntLt: typeof isIntegerBelow;
134
+ IntLte: typeof isIntegerBelowOrEqual;
135
+ Integer: typeof isInteger;
136
+ IntegerBetween: typeof isIntegerBetween;
137
+ IntegerBelow: typeof isIntegerBelow;
138
+ IntegerBelowOrEqual: typeof isIntegerBelowOrEqual;
139
+ IntegerAbove: typeof isIntegerAbove;
140
+ IntegerAboveOrEqual: typeof isIntegerAboveOrEqual;
141
+ RegExp: typeof isRegExp;
142
+ Object: typeof isObject;
143
+ NeObject: typeof isNotEmptyObject;
144
+ NotEmptyObject: typeof isNotEmptyObject;
145
+ String: typeof isString;
146
+ StringBetween: typeof isStringBetween;
147
+ NeString: typeof isNotEmptyString;
148
+ NotEmptyString: typeof isNotEmptyString;
149
+ Equal: typeof equal;
150
+ Eq: typeof equal;
151
+ }>;
152
+ export default Is;
153
+ }
154
+ declare module "hash/fnv1A" {
155
+ export default function fnv1A(data: any, offset?: number): number;
156
+ }
157
+ declare module "array/dedupe" {
158
+ export default function dedupe(val: any[]): any[];
159
+ }
160
+ declare module "number/round" {
161
+ export default function round(val: number, precision?: number): number;
162
+ }
163
+ declare module "array/join" {
164
+ interface joinOptions {
165
+ delim?: string;
166
+ trim?: boolean;
167
+ valtrim?: boolean;
168
+ valround?: number;
169
+ }
170
+ export default function join(val: any[], opts?: joinOptions): string;
171
+ }
172
+ declare module "array/mapFn" {
173
+ interface mapOptions {
174
+ merge?: boolean;
175
+ }
176
+ interface kvMap {
177
+ [key: string]: {
178
+ [key: string]: any;
179
+ };
180
+ }
181
+ export default function mapFn(arr: {
182
+ [key: string]: any;
183
+ }[], fn: (entry: {
184
+ [key: string]: any;
185
+ }) => (string | number | boolean), opts?: mapOptions): kvMap;
186
+ }
187
+ declare module "array/mapKey" {
188
+ interface mapOptions {
189
+ merge?: boolean;
190
+ }
191
+ interface kvMap {
192
+ [key: string]: {
193
+ [key: string]: any;
194
+ };
195
+ }
196
+ export default function mapKey(arr: {
197
+ [key: string]: any;
198
+ }[], key: string, opts?: mapOptions): kvMap;
199
+ }
200
+ declare module "array/mapPrimitive" {
201
+ interface mapOptions {
202
+ valtrim?: boolean;
203
+ valround?: boolean | number;
204
+ keyround?: boolean;
205
+ }
206
+ interface mapReturn {
207
+ [key: string]: string | number;
208
+ }
209
+ export default function mapPrimitive(arr: any[], opts?: mapOptions): mapReturn;
210
+ }
211
+ declare module "array/shuffle" {
212
+ export default function shuffle(arr: any[]): void;
213
+ }
214
+ declare module "array/sort" {
215
+ interface sortOptions {
216
+ filter_fn?: (el: any) => boolean;
217
+ nokey_hide?: boolean;
218
+ nokey_atend?: boolean;
219
+ }
220
+ interface sortObject {
221
+ [key: string]: any;
222
+ }
223
+ type sortByFunction = (el: sortObject) => string;
224
+ export default function sort(arr: sortObject[], by: string | sortByFunction, dir?: 'asc' | 'desc', opts?: sortOptions): sortObject[];
225
+ }
226
+ declare module "caching/memoize" {
227
+ export default function memoize(fn: Function, resolver?: Function): Function;
228
+ }
229
+ declare module "date/addUTC" {
230
+ export default function addUTC(val: Date, amount?: number, key?: 'years' | 'year' | 'months' | 'month' | 'days' | 'day' | 'hours' | 'hour' | 'minutes' | 'minute' | 'seconds' | 'second' | 'milliseconds' | 'millisecond'): Date;
231
+ }
232
+ declare module "date/diff" {
233
+ export default function diff(val_a: Date, val_b: Date, key?: 'week' | 'weeks' | 'day' | 'days' | 'hour' | 'hours' | 'minute' | 'minutes' | 'second' | 'seconds' | 'millisecond' | 'milliseconds'): number;
234
+ }
235
+ declare module "date/endOfUTC" {
236
+ export default function endOfUTC(val: Date, key?: 'year' | 'quarter' | 'month' | 'week' | 'week_sun' | 'week_mon' | 'week_tue' | 'week_wed' | 'week_thu' | 'week_fri' | 'week_sat' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond'): Date;
237
+ }
238
+ declare module "date/nowUnix" {
239
+ export default function nowUnix(): number;
240
+ }
241
+ declare module "date/nowUnixMs" {
242
+ export default function nowUnixMs(): number;
243
+ }
244
+ declare module "date/startOfUTC" {
245
+ export default function startOfUTC(val: Date, key?: 'year' | 'quarter' | 'month' | 'week' | 'week_sun' | 'week_mon' | 'week_tue' | 'week_wed' | 'week_thu' | 'week_fri' | 'week_sat' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond'): Date;
246
+ }
247
+ declare module "date/toUTC" {
248
+ export default function toUTC(val: Date): Date;
249
+ }
250
+ declare module "date/toUnix" {
251
+ export default function toUnix(val: Date): number;
252
+ }
253
+ declare module "deep/freeze" {
254
+ type deepInput = {
255
+ [key: string]: any;
256
+ } | {
257
+ [key: string]: any;
258
+ }[] | any[];
259
+ export default function deepFreeze(obj: deepInput): Readonly<deepInput>;
260
+ }
261
+ declare module "deep/get" {
262
+ export default function deepGet(obj: {
263
+ [key: string]: any;
264
+ } | {
265
+ [key: string]: any;
266
+ }[] | any[], path: string, get_parent?: boolean): any | undefined;
267
+ }
268
+ declare module "deep/seal" {
269
+ type deepInput = {
270
+ [key: string]: any;
271
+ } | {
272
+ [key: string]: any;
273
+ }[] | any[];
274
+ export default function deepSeal(obj: deepInput): deepInput;
275
+ }
276
+ declare module "deep/set" {
277
+ export default function deepSet(obj: {
278
+ [key: string]: any;
279
+ } | {
280
+ [key: string]: any;
281
+ }[] | any[], path: string, value: any, define?: boolean): boolean;
282
+ }
283
+ declare module "function/noop" {
284
+ export default function noop(): void;
285
+ }
286
+ declare module "function/noopresolve" {
287
+ export default function noopresolve(val?: any): Promise<any>;
288
+ }
289
+ declare module "function/noopreturn" {
290
+ export default function noopreturn(val?: any): any;
291
+ }
292
+ declare module "function/sleep" {
293
+ export default function sleep(ms?: number): Promise<void>;
294
+ }
295
+ declare module "hash/guid" {
296
+ export default function guid(): string;
297
+ }
298
+ declare module "number/randomBetween" {
299
+ export default function randomBetween(min?: number, max?: number): number;
300
+ }
301
+ declare module "number/randomIntBetween" {
302
+ export default function randomIntBetween(min?: number, max?: number): number;
303
+ }
304
+ declare module "number/toPercentage" {
305
+ export default function toPercentage(val: number, precision?: number, min?: number, max?: number): number;
306
+ }
307
+ declare module "object/define" {
308
+ export default function define(props: {
309
+ [key: string]: any;
310
+ }, obj?: {
311
+ [key: string]: any;
312
+ }): {
313
+ [key: string]: any;
314
+ };
315
+ }
316
+ declare module "object/merge" {
317
+ function merge(target: {
318
+ [key: string]: any;
319
+ }, source?: {
320
+ [key: string]: any;
321
+ }): {
322
+ [key: string]: any;
323
+ };
324
+ export default merge;
325
+ }
326
+ declare module "object/pick" {
327
+ export default function pick(obj: {
328
+ [key: string]: any;
329
+ }, keys: string[]): {
330
+ [key: string]: any;
331
+ };
332
+ }
333
+ declare module "regexp/sanitize" {
334
+ export default function sanitizeRegExp(val: string): string | false;
335
+ }
336
+ declare module "string/humanizeNumber" {
337
+ interface humanizeNumberOptions {
338
+ delim?: string;
339
+ separator?: string;
340
+ precision?: number;
341
+ units?: string[] | boolean;
342
+ divider?: number;
343
+ real?: boolean;
344
+ }
345
+ export default function humanizeNumber(val: number | string, options?: humanizeNumberOptions): string;
346
+ }
347
+ declare module "string/humanizeBytes" {
348
+ interface humanizeBytesOptions {
349
+ delim?: string;
350
+ separator?: string;
351
+ precision?: number;
352
+ units?: string[];
353
+ }
354
+ export default function humanizeBytes(val: number | string, options?: humanizeBytesOptions): string;
355
+ }
356
+ declare module "string/shorten" {
357
+ export default function shorten(val: string, length: number, postfix?: string): string;
358
+ }
package/dist/is.d.ts ADDED
@@ -0,0 +1,75 @@
1
+ import equal from './equal';
2
+ import isNotEmptyArray from './array/isNotEmpty';
3
+ import isArray from './array/is';
4
+ import isBoolean from './boolean/is';
5
+ import isDate from './date/is';
6
+ import isFunction from './function/is';
7
+ import isNumber from './number/is';
8
+ import isNumberBetween from './number/isBetween';
9
+ import isNumberBelow from './number/isBelow';
10
+ import isNumberBelowOrEqual from './number/isBelowOrEqual';
11
+ import isNumberAbove from './number/isAbove';
12
+ import isNumberAboveOrEqual from './number/isAboveOrEqual';
13
+ import isInteger from './number/isInteger';
14
+ import isIntegerBetween from './number/isIntegerBetween';
15
+ import isIntegerBelow from './number/isIntegerBelow';
16
+ import isIntegerBelowOrEqual from './number/isIntegerBelowOrEqual';
17
+ import isIntegerAbove from './number/isIntegerAbove';
18
+ import isIntegerAboveOrEqual from './number/isIntegerAboveOrEqual';
19
+ import isRegExp from './regexp/is';
20
+ import isObject from './object/is';
21
+ import isNotEmptyObject from './object/isNotEmpty';
22
+ import isString from './string/is';
23
+ import isStringBetween from './string/isBetween';
24
+ import isNotEmptyString from './string/isNotEmpty';
25
+ declare const Is: Readonly<{
26
+ Array: typeof isArray;
27
+ NeArray: typeof isNotEmptyArray;
28
+ NotEmptyArray: typeof isNotEmptyArray;
29
+ Boolean: typeof isBoolean;
30
+ Date: typeof isDate;
31
+ Function: typeof isFunction;
32
+ Num: typeof isNumber;
33
+ NumBetween: typeof isNumberBetween;
34
+ NumAbove: typeof isNumberAbove;
35
+ NumAboveOrEqual: typeof isNumberAboveOrEqual;
36
+ NumBelow: typeof isNumberBelow;
37
+ NumBelowOrEqual: typeof isNumberBelowOrEqual;
38
+ NumGt: typeof isNumberAbove;
39
+ NumGte: typeof isNumberAboveOrEqual;
40
+ NumLt: typeof isNumberBelow;
41
+ NumLte: typeof isNumberBelowOrEqual;
42
+ Number: typeof isNumber;
43
+ NumberBetween: typeof isNumberBetween;
44
+ NumberAbove: typeof isNumberAbove;
45
+ NumberAboveOrEqual: typeof isNumberAboveOrEqual;
46
+ NumberBelow: typeof isNumberBelow;
47
+ NumberBelowOrEqual: typeof isNumberBelowOrEqual;
48
+ Int: typeof isInteger;
49
+ IntBetween: typeof isIntegerBetween;
50
+ IntAbove: typeof isIntegerAbove;
51
+ IntAboveOrEqual: typeof isIntegerAboveOrEqual;
52
+ IntBelow: typeof isIntegerBelow;
53
+ IntBelowOrEqual: typeof isIntegerBelowOrEqual;
54
+ IntGt: typeof isIntegerAbove;
55
+ IntGte: typeof isIntegerAboveOrEqual;
56
+ IntLt: typeof isIntegerBelow;
57
+ IntLte: typeof isIntegerBelowOrEqual;
58
+ Integer: typeof isInteger;
59
+ IntegerBetween: typeof isIntegerBetween;
60
+ IntegerBelow: typeof isIntegerBelow;
61
+ IntegerBelowOrEqual: typeof isIntegerBelowOrEqual;
62
+ IntegerAbove: typeof isIntegerAbove;
63
+ IntegerAboveOrEqual: typeof isIntegerAboveOrEqual;
64
+ RegExp: typeof isRegExp;
65
+ Object: typeof isObject;
66
+ NeObject: typeof isNotEmptyObject;
67
+ NotEmptyObject: typeof isNotEmptyObject;
68
+ String: typeof isString;
69
+ StringBetween: typeof isStringBetween;
70
+ NeString: typeof isNotEmptyString;
71
+ NotEmptyString: typeof isNotEmptyString;
72
+ Equal: typeof equal;
73
+ Eq: typeof equal;
74
+ }>;
75
+ export default Is;
package/dist/is.js ADDED
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const equal_1 = require("./equal");
4
+ const isNotEmpty_1 = require("./array/isNotEmpty");
5
+ const is_1 = require("./array/is");
6
+ const is_2 = require("./boolean/is");
7
+ const is_3 = require("./date/is");
8
+ const is_4 = require("./function/is");
9
+ const is_5 = require("./number/is");
10
+ const isBetween_1 = require("./number/isBetween");
11
+ const isBelow_1 = require("./number/isBelow");
12
+ const isBelowOrEqual_1 = require("./number/isBelowOrEqual");
13
+ const isAbove_1 = require("./number/isAbove");
14
+ const isAboveOrEqual_1 = require("./number/isAboveOrEqual");
15
+ const isInteger_1 = require("./number/isInteger");
16
+ const isIntegerBetween_1 = require("./number/isIntegerBetween");
17
+ const isIntegerBelow_1 = require("./number/isIntegerBelow");
18
+ const isIntegerBelowOrEqual_1 = require("./number/isIntegerBelowOrEqual");
19
+ const isIntegerAbove_1 = require("./number/isIntegerAbove");
20
+ const isIntegerAboveOrEqual_1 = require("./number/isIntegerAboveOrEqual");
21
+ const is_6 = require("./regexp/is");
22
+ const is_7 = require("./object/is");
23
+ const isNotEmpty_2 = require("./object/isNotEmpty");
24
+ const is_8 = require("./string/is");
25
+ const isBetween_2 = require("./string/isBetween");
26
+ const isNotEmpty_3 = require("./string/isNotEmpty");
27
+ const Is = Object.freeze({
28
+ Array: is_1.default,
29
+ NeArray: isNotEmpty_1.default,
30
+ NotEmptyArray: isNotEmpty_1.default,
31
+ Boolean: is_2.default,
32
+ Date: is_3.default,
33
+ Function: is_4.default,
34
+ Num: is_5.default,
35
+ NumBetween: isBetween_1.default,
36
+ NumAbove: isAbove_1.default,
37
+ NumAboveOrEqual: isAboveOrEqual_1.default,
38
+ NumBelow: isBelow_1.default,
39
+ NumBelowOrEqual: isBelowOrEqual_1.default,
40
+ NumGt: isAbove_1.default,
41
+ NumGte: isAboveOrEqual_1.default,
42
+ NumLt: isBelow_1.default,
43
+ NumLte: isBelowOrEqual_1.default,
44
+ Number: is_5.default,
45
+ NumberBetween: isBetween_1.default,
46
+ NumberAbove: isAbove_1.default,
47
+ NumberAboveOrEqual: isAboveOrEqual_1.default,
48
+ NumberBelow: isBelow_1.default,
49
+ NumberBelowOrEqual: isBelowOrEqual_1.default,
50
+ Int: isInteger_1.default,
51
+ IntBetween: isIntegerBetween_1.default,
52
+ IntAbove: isIntegerAbove_1.default,
53
+ IntAboveOrEqual: isIntegerAboveOrEqual_1.default,
54
+ IntBelow: isIntegerBelow_1.default,
55
+ IntBelowOrEqual: isIntegerBelowOrEqual_1.default,
56
+ IntGt: isIntegerAbove_1.default,
57
+ IntGte: isIntegerAboveOrEqual_1.default,
58
+ IntLt: isIntegerBelow_1.default,
59
+ IntLte: isIntegerBelowOrEqual_1.default,
60
+ Integer: isInteger_1.default,
61
+ IntegerBetween: isIntegerBetween_1.default,
62
+ IntegerBelow: isIntegerBelow_1.default,
63
+ IntegerBelowOrEqual: isIntegerBelowOrEqual_1.default,
64
+ IntegerAbove: isIntegerAbove_1.default,
65
+ IntegerAboveOrEqual: isIntegerAboveOrEqual_1.default,
66
+ RegExp: is_6.default,
67
+ Object: is_7.default,
68
+ NeObject: isNotEmpty_2.default,
69
+ NotEmptyObject: isNotEmpty_2.default,
70
+ String: is_8.default,
71
+ StringBetween: isBetween_2.default,
72
+ NeString: isNotEmpty_3.default,
73
+ NotEmptyString: isNotEmpty_3.default,
74
+ Equal: equal_1.default,
75
+ Eq: equal_1.default,
76
+ });
77
+ exports.default = Is;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Check whether or not a provided value is a number
3
+ *
4
+ * @param val - Value to verify
5
+ *
6
+ * @returns Whether or not the value is a number
7
+ */
8
+ export default function isNumber(val: any): boolean;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function isNumber(val) {
4
+ return Number.isFinite(val);
5
+ }
6
+ exports.default = isNumber;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check whether or not the provided value is a number above another value
3
+ *
4
+ * @param val - Value to verify
5
+ * @param ref - Reference the provided value needs to be above
6
+ *
7
+ * @returns Whether or not the value is above the reference
8
+ */
9
+ export default function isNumberAbove(val: any, ref: number): boolean;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function isNumberAbove(val, ref) {
4
+ return !Number.isFinite(val) || !Number.isFinite(ref) ? false : val > ref;
5
+ }
6
+ exports.default = isNumberAbove;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check whether or not the provided value is a number above or equal to another value
3
+ *
4
+ * @param val - Value to verify
5
+ * @param ref - Reference the provided value needs to be above or equal to
6
+ *
7
+ * @returns Whether or not the value is above or equal to the reference
8
+ */
9
+ export default function isNumberAboveOrEqual(val: any, ref: number): boolean;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function isNumberAboveOrEqual(val, ref) {
4
+ return !Number.isFinite(val) || !Number.isFinite(ref) ? false : val >= ref;
5
+ }
6
+ exports.default = isNumberAboveOrEqual;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check whether or not the provided value is a number below another value
3
+ *
4
+ * @param val - Value to verify
5
+ * @param ref - Reference the provided value needs to be below
6
+ *
7
+ * @returns Whether or not the value is below the reference
8
+ */
9
+ export default function isNumberBelow(val: any, ref: number): boolean;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function isNumberBelow(val, ref) {
4
+ return !Number.isFinite(val) || !Number.isFinite(ref) ? false : val < ref;
5
+ }
6
+ exports.default = isNumberBelow;