vest-utils 0.0.1-rc → 0.0.4-dev-afe5de

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 (264) hide show
  1. package/dist/cjs/vest-utils.development.js +348 -0
  2. package/dist/cjs/vest-utils.production.js +1 -1
  3. package/dist/es/vest-utils.development.js +305 -0
  4. package/dist/es/vest-utils.production.js +1 -1
  5. package/dist/umd/vest-utils.development.js +352 -4
  6. package/dist/umd/vest-utils.production.js +1 -1
  7. package/package.json +4 -662
  8. package/src/{exports/__tests__ → __tests__}/bindNot.test.ts +1 -1
  9. package/src/{exports/__tests__ → __tests__}/bus.test.ts +0 -0
  10. package/src/{exports/__tests__ → __tests__}/cache.test.ts +1 -1
  11. package/src/{exports/__tests__ → __tests__}/defaultTo.test.ts +1 -1
  12. package/src/{exports/__tests__ → __tests__}/genId.test.ts +0 -0
  13. package/src/__tests__/greaterThan.test.ts +59 -0
  14. package/src/{exports/__tests__ → __tests__}/invariant.test.ts +1 -1
  15. package/src/__tests__/isArray.test.ts +15 -0
  16. package/src/__tests__/isNull.test.ts +25 -0
  17. package/src/__tests__/isNumeric.test.ts +26 -0
  18. package/src/__tests__/isUndefined.test.ts +26 -0
  19. package/src/__tests__/lengthEquals.test.ts +56 -0
  20. package/src/__tests__/longerThan.test.ts +56 -0
  21. package/src/{exports/__tests__ → __tests__}/mapFirst.test.ts +1 -1
  22. package/src/__tests__/numberEquals.test.ts +59 -0
  23. package/src/{exports/__tests__ → __tests__}/optionalFunctionValue.test.ts +1 -1
  24. package/src/{exports/__tests__ → __tests__}/partition.test.ts +1 -1
  25. package/src/{exports/__tests__ → __tests__}/throwError.test.ts +1 -1
  26. package/src/{exports/asArray.ts → asArray.ts} +0 -0
  27. package/src/{exports/assign.ts → assign.ts} +0 -0
  28. package/src/{exports/bindNot.ts → bindNot.ts} +0 -0
  29. package/src/{exports/bus.ts → bus.ts} +0 -0
  30. package/src/{exports/cache.ts → cache.ts} +0 -0
  31. package/src/{exports/callEach.ts → callEach.ts} +0 -0
  32. package/src/{exports/defaultTo.ts → defaultTo.ts} +0 -0
  33. package/src/{exports/throwError.ts → deferThrow.ts} +1 -1
  34. package/src/{exports/either.ts → either.ts} +0 -0
  35. package/src/{exports/genId.ts → genId.ts} +0 -0
  36. package/src/globals.d.ts +3 -3
  37. package/src/greaterThan.ts +8 -0
  38. package/src/{exports/hasOwnProperty.ts → hasOwnProperty.ts} +0 -0
  39. package/src/{exports/invariant.ts → invariant.ts} +0 -0
  40. package/src/isArrayValue.ts +11 -0
  41. package/src/isBooleanValue.ts +3 -0
  42. package/src/isEmpty.ts +17 -0
  43. package/src/{exports/isFunction.ts → isFunction.ts} +0 -0
  44. package/src/isNull.ts +7 -0
  45. package/src/{exports/isNullish.ts → isNullish.ts} +1 -2
  46. package/src/isNumeric.ts +11 -0
  47. package/src/isPositive.ts +5 -0
  48. package/src/{exports/isPromise.ts → isPromise.ts} +0 -0
  49. package/src/isStringValue.ts +3 -0
  50. package/src/isUndefined.ts +7 -0
  51. package/src/{exports/last.ts → last.ts} +0 -0
  52. package/src/lengthEquals.ts +11 -0
  53. package/src/longerThan.ts +8 -0
  54. package/src/{exports/mapFirst.ts → mapFirst.ts} +0 -0
  55. package/src/{exports/nestedArray.ts → nestedArray.ts} +2 -3
  56. package/src/numberEquals.ts +11 -0
  57. package/src/{exports/optionalFunctionValue.ts → optionalFunctionValue.ts} +1 -1
  58. package/src/{exports/partition.ts → partition.ts} +0 -0
  59. package/src/vest-utils.ts +32 -0
  60. package/types/vest-utils.d.ts +96 -1
  61. package/asArray/package.json +0 -9
  62. package/assign/package.json +0 -9
  63. package/bindNot/package.json +0 -9
  64. package/bus/package.json +0 -9
  65. package/cache/package.json +0 -9
  66. package/callEach/package.json +0 -9
  67. package/defaultTo/package.json +0 -9
  68. package/dist/cjs/asArray.development.js +0 -7
  69. package/dist/cjs/asArray.js +0 -7
  70. package/dist/cjs/asArray.production.js +0 -1
  71. package/dist/cjs/assign.development.js +0 -5
  72. package/dist/cjs/assign.js +0 -7
  73. package/dist/cjs/assign.production.js +0 -1
  74. package/dist/cjs/bindNot.development.js +0 -13
  75. package/dist/cjs/bindNot.js +0 -7
  76. package/dist/cjs/bindNot.production.js +0 -1
  77. package/dist/cjs/bus.development.js +0 -27
  78. package/dist/cjs/bus.js +0 -7
  79. package/dist/cjs/bus.production.js +0 -1
  80. package/dist/cjs/cache.development.js +0 -72
  81. package/dist/cjs/cache.js +0 -7
  82. package/dist/cjs/cache.production.js +0 -1
  83. package/dist/cjs/callEach.development.js +0 -7
  84. package/dist/cjs/callEach.js +0 -7
  85. package/dist/cjs/callEach.production.js +0 -1
  86. package/dist/cjs/defaultTo.development.js +0 -20
  87. package/dist/cjs/defaultTo.js +0 -7
  88. package/dist/cjs/defaultTo.production.js +0 -1
  89. package/dist/cjs/either.development.js +0 -7
  90. package/dist/cjs/either.js +0 -7
  91. package/dist/cjs/either.production.js +0 -1
  92. package/dist/cjs/genId.development.js +0 -10
  93. package/dist/cjs/genId.js +0 -7
  94. package/dist/cjs/genId.production.js +0 -1
  95. package/dist/cjs/hasOwnProperty.development.js +0 -10
  96. package/dist/cjs/hasOwnProperty.js +0 -7
  97. package/dist/cjs/hasOwnProperty.production.js +0 -1
  98. package/dist/cjs/invariant.development.js +0 -36
  99. package/dist/cjs/invariant.js +0 -7
  100. package/dist/cjs/invariant.production.js +0 -1
  101. package/dist/cjs/isBooleanValue.development.js +0 -9
  102. package/dist/cjs/isBooleanValue.js +0 -7
  103. package/dist/cjs/isBooleanValue.production.js +0 -1
  104. package/dist/cjs/isFunction.development.js +0 -7
  105. package/dist/cjs/isFunction.js +0 -7
  106. package/dist/cjs/isFunction.production.js +0 -1
  107. package/dist/cjs/isNullish.development.js +0 -37
  108. package/dist/cjs/isNullish.js +0 -7
  109. package/dist/cjs/isNullish.production.js +0 -1
  110. package/dist/cjs/isPromise.development.js +0 -11
  111. package/dist/cjs/isPromise.js +0 -7
  112. package/dist/cjs/isPromise.production.js +0 -1
  113. package/dist/cjs/isStringValue.development.js +0 -9
  114. package/dist/cjs/isStringValue.js +0 -7
  115. package/dist/cjs/isStringValue.production.js +0 -1
  116. package/dist/cjs/last.development.js +0 -12
  117. package/dist/cjs/last.js +0 -7
  118. package/dist/cjs/last.production.js +0 -1
  119. package/dist/cjs/mapFirst.development.js +0 -20
  120. package/dist/cjs/mapFirst.js +0 -7
  121. package/dist/cjs/mapFirst.production.js +0 -1
  122. package/dist/cjs/nestedArray.development.js +0 -99
  123. package/dist/cjs/nestedArray.js +0 -7
  124. package/dist/cjs/nestedArray.production.js +0 -1
  125. package/dist/cjs/optionalFunctionValue.development.js +0 -15
  126. package/dist/cjs/optionalFunctionValue.js +0 -7
  127. package/dist/cjs/optionalFunctionValue.production.js +0 -1
  128. package/dist/cjs/partition.development.js +0 -10
  129. package/dist/cjs/partition.js +0 -7
  130. package/dist/cjs/partition.production.js +0 -1
  131. package/dist/cjs/throwError.development.js +0 -11
  132. package/dist/cjs/throwError.js +0 -7
  133. package/dist/cjs/throwError.production.js +0 -1
  134. package/dist/es/asArray.development.js +0 -5
  135. package/dist/es/asArray.production.js +0 -1
  136. package/dist/es/assign.development.js +0 -3
  137. package/dist/es/assign.production.js +0 -1
  138. package/dist/es/bindNot.development.js +0 -11
  139. package/dist/es/bindNot.production.js +0 -1
  140. package/dist/es/bus.development.js +0 -23
  141. package/dist/es/bus.production.js +0 -1
  142. package/dist/es/cache.development.js +0 -66
  143. package/dist/es/cache.production.js +0 -1
  144. package/dist/es/callEach.development.js +0 -5
  145. package/dist/es/callEach.production.js +0 -1
  146. package/dist/es/defaultTo.development.js +0 -18
  147. package/dist/es/defaultTo.production.js +0 -1
  148. package/dist/es/either.development.js +0 -5
  149. package/dist/es/either.production.js +0 -1
  150. package/dist/es/genId.development.js +0 -8
  151. package/dist/es/genId.production.js +0 -1
  152. package/dist/es/hasOwnProperty.development.js +0 -8
  153. package/dist/es/hasOwnProperty.production.js +0 -1
  154. package/dist/es/invariant.development.js +0 -32
  155. package/dist/es/invariant.production.js +0 -1
  156. package/dist/es/isBooleanValue.development.js +0 -5
  157. package/dist/es/isBooleanValue.production.js +0 -1
  158. package/dist/es/isFunction.development.js +0 -5
  159. package/dist/es/isFunction.production.js +0 -1
  160. package/dist/es/isNullish.development.js +0 -28
  161. package/dist/es/isNullish.production.js +0 -1
  162. package/dist/es/isPromise.development.js +0 -9
  163. package/dist/es/isPromise.production.js +0 -1
  164. package/dist/es/isStringValue.development.js +0 -5
  165. package/dist/es/isStringValue.production.js +0 -1
  166. package/dist/es/last.development.js +0 -10
  167. package/dist/es/last.production.js +0 -1
  168. package/dist/es/mapFirst.development.js +0 -18
  169. package/dist/es/mapFirst.production.js +0 -1
  170. package/dist/es/nestedArray.development.js +0 -87
  171. package/dist/es/nestedArray.production.js +0 -1
  172. package/dist/es/optionalFunctionValue.development.js +0 -13
  173. package/dist/es/optionalFunctionValue.production.js +0 -1
  174. package/dist/es/partition.development.js +0 -8
  175. package/dist/es/partition.production.js +0 -1
  176. package/dist/es/throwError.development.js +0 -7
  177. package/dist/es/throwError.production.js +0 -1
  178. package/dist/umd/asArray.development.js +0 -13
  179. package/dist/umd/asArray.production.js +0 -1
  180. package/dist/umd/assign.development.js +0 -11
  181. package/dist/umd/assign.production.js +0 -1
  182. package/dist/umd/bindNot.development.js +0 -19
  183. package/dist/umd/bindNot.production.js +0 -1
  184. package/dist/umd/bus.development.js +0 -33
  185. package/dist/umd/bus.production.js +0 -1
  186. package/dist/umd/cache.development.js +0 -76
  187. package/dist/umd/cache.production.js +0 -1
  188. package/dist/umd/callEach.development.js +0 -13
  189. package/dist/umd/callEach.production.js +0 -1
  190. package/dist/umd/defaultTo.development.js +0 -26
  191. package/dist/umd/defaultTo.production.js +0 -1
  192. package/dist/umd/either.development.js +0 -13
  193. package/dist/umd/either.production.js +0 -1
  194. package/dist/umd/genId.development.js +0 -16
  195. package/dist/umd/genId.production.js +0 -1
  196. package/dist/umd/hasOwnProperty.development.js +0 -16
  197. package/dist/umd/hasOwnProperty.production.js +0 -1
  198. package/dist/umd/invariant.development.js +0 -42
  199. package/dist/umd/invariant.production.js +0 -1
  200. package/dist/umd/isBooleanValue.development.js +0 -15
  201. package/dist/umd/isBooleanValue.production.js +0 -1
  202. package/dist/umd/isFunction.development.js +0 -13
  203. package/dist/umd/isFunction.production.js +0 -1
  204. package/dist/umd/isNullish.development.js +0 -41
  205. package/dist/umd/isNullish.production.js +0 -1
  206. package/dist/umd/isPromise.development.js +0 -17
  207. package/dist/umd/isPromise.production.js +0 -1
  208. package/dist/umd/isStringValue.development.js +0 -15
  209. package/dist/umd/isStringValue.production.js +0 -1
  210. package/dist/umd/last.development.js +0 -18
  211. package/dist/umd/last.production.js +0 -1
  212. package/dist/umd/mapFirst.development.js +0 -26
  213. package/dist/umd/mapFirst.production.js +0 -1
  214. package/dist/umd/nestedArray.development.js +0 -103
  215. package/dist/umd/nestedArray.production.js +0 -1
  216. package/dist/umd/optionalFunctionValue.development.js +0 -21
  217. package/dist/umd/optionalFunctionValue.production.js +0 -1
  218. package/dist/umd/partition.development.js +0 -16
  219. package/dist/umd/partition.production.js +0 -1
  220. package/dist/umd/throwError.development.js +0 -17
  221. package/dist/umd/throwError.production.js +0 -1
  222. package/either/package.json +0 -9
  223. package/genId/package.json +0 -9
  224. package/hasOwnProperty/package.json +0 -9
  225. package/invariant/package.json +0 -9
  226. package/isBooleanValue/package.json +0 -9
  227. package/isFunction/package.json +0 -9
  228. package/isNullish/package.json +0 -9
  229. package/isPromise/package.json +0 -9
  230. package/isStringValue/package.json +0 -9
  231. package/last/package.json +0 -9
  232. package/mapFirst/package.json +0 -9
  233. package/nestedArray/package.json +0 -9
  234. package/optionalFunctionValue/package.json +0 -9
  235. package/partition/package.json +0 -9
  236. package/src/exports/isBooleanValue.ts +0 -3
  237. package/src/exports/isStringValue.ts +0 -3
  238. package/throwError/package.json +0 -9
  239. package/tsconfig.json +0 -6
  240. package/types/asArray.d.ts +0 -2
  241. package/types/assign.d.ts +0 -7
  242. package/types/bindNot.d.ts +0 -2
  243. package/types/bus.d.ts +0 -9
  244. package/types/cache.d.ts +0 -9
  245. package/types/callEach.d.ts +0 -2
  246. package/types/defaultTo.d.ts +0 -2
  247. package/types/either.d.ts +0 -2
  248. package/types/genId.d.ts +0 -5
  249. package/types/hasOwnProperty.d.ts +0 -5
  250. package/types/invariant.d.ts +0 -4
  251. package/types/isBooleanValue.d.ts +0 -2
  252. package/types/isFunction.d.ts +0 -2
  253. package/types/isNullish.d.ts +0 -3
  254. package/types/isPromise.d.ts +0 -2
  255. package/types/isStringValue.d.ts +0 -2
  256. package/types/last.d.ts +0 -2
  257. package/types/mapFirst.d.ts +0 -2
  258. package/types/nestedArray.d.ts +0 -7
  259. package/types/optionalFunctionValue.d.ts +0 -2
  260. package/types/partition.d.ts +0 -5
  261. package/types/throwError.d.ts +0 -2
  262. package/types/utilityTypes.d.ts +0 -8
  263. package/types/vest-utilities.d.ts +0 -1
  264. package/utilityTypes/package.json +0 -9
@@ -1,8 +1,356 @@
1
- (function (factory) {
2
- typeof define === 'function' && define.amd ? define(factory) :
3
- factory();
4
- }((function () { 'use strict';
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['vest-utils'] = {}));
5
+ }(this, (function (exports) { 'use strict';
5
6
 
7
+ function bindNot(fn) {
8
+ return function () {
9
+ var args = [];
10
+ for (var _i = 0; _i < arguments.length; _i++) {
11
+ args[_i] = arguments[_i];
12
+ }
13
+ return !fn.apply(void 0, args);
14
+ };
15
+ }
6
16
 
17
+ function isNumeric(value) {
18
+ var str = String(value);
19
+ var num = Number(value);
20
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
21
+ return Boolean(result);
22
+ }
23
+ var isNotNumeric = bindNot(isNumeric);
24
+
25
+ function numberEquals(value, eq) {
26
+ return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
27
+ }
28
+ var numberNotEquals = bindNot(numberEquals);
29
+
30
+ function lengthEquals(value, arg1) {
31
+ return numberEquals(value.length, arg1);
32
+ }
33
+ var lengthNotEquals = bindNot(lengthEquals);
34
+
35
+ function greaterThan(value, gt) {
36
+ return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
37
+ }
38
+
39
+ function longerThan(value, arg1) {
40
+ return greaterThan(value.length, arg1);
41
+ }
42
+
43
+ /**
44
+ * Creates a cache function
45
+ */
46
+ function createCache(maxSize) {
47
+ if (maxSize === void 0) { maxSize = 1; }
48
+ var cacheStorage = [];
49
+ var cache = function (deps, cacheAction) {
50
+ var cacheHit = cache.get(deps);
51
+ // cache hit is not null
52
+ if (cacheHit)
53
+ return cacheHit[1];
54
+ var result = cacheAction();
55
+ cacheStorage.unshift([deps.concat(), result]);
56
+ if (longerThan(cacheStorage, maxSize))
57
+ cacheStorage.length = maxSize;
58
+ return result;
59
+ };
60
+ // invalidate an item in the cache by its dependencies
61
+ cache.invalidate = function (deps) {
62
+ var index = findIndex(deps);
63
+ if (index > -1)
64
+ cacheStorage.splice(index, 1);
65
+ };
66
+ // Retrieves an item from the cache.
67
+ cache.get = function (deps) {
68
+ return cacheStorage[findIndex(deps)] || null;
69
+ };
70
+ return cache;
71
+ function findIndex(deps) {
72
+ return cacheStorage.findIndex(function (_a) {
73
+ var cachedDeps = _a[0];
74
+ return lengthEquals(deps, cachedDeps.length) &&
75
+ deps.every(function (dep, i) { return dep === cachedDeps[i]; });
76
+ });
77
+ }
78
+ }
79
+
80
+ function isNull(value) {
81
+ return value === null;
82
+ }
83
+ var isNotNull = bindNot(isNull);
84
+
85
+ function isUndefined(value) {
86
+ return value === undefined;
87
+ }
88
+ var isNotUndefined = bindNot(isUndefined);
89
+
90
+ function isNullish(value) {
91
+ return isNull(value) || isUndefined(value);
92
+ }
93
+ var isNotNullish = bindNot(isNullish);
94
+
95
+ function asArray(possibleArg) {
96
+ return [].concat(possibleArg);
97
+ }
98
+
99
+ function isFunction(value) {
100
+ return typeof value === 'function';
101
+ }
102
+
103
+ function optionalFunctionValue(value) {
104
+ var args = [];
105
+ for (var _i = 1; _i < arguments.length; _i++) {
106
+ args[_i - 1] = arguments[_i];
107
+ }
108
+ return isFunction(value) ? value.apply(void 0, args) : value;
109
+ }
110
+
111
+ function defaultTo(value, defaultValue) {
112
+ var _a;
113
+ return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
114
+ }
115
+
116
+ // The module is named "isArrayValue" since it
117
+ // is conflicting with a nested npm dependency.
118
+ // We may need to revisit this in the future.
119
+ function isArray(value) {
120
+ return Boolean(Array.isArray(value));
121
+ }
122
+ var isNotArray = bindNot(isArray);
123
+
124
+ function last(values) {
125
+ var valuesArray = asArray(values);
126
+ return valuesArray[valuesArray.length - 1];
127
+ }
128
+
129
+ // This is kind of a map/filter in one function.
130
+ // Normally, behaves like a nested-array map,
131
+ // but returning `null` will drop the element from the array
132
+ function transform(array, cb) {
133
+ var res = [];
134
+ for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
135
+ var v = array_1[_i];
136
+ if (isArray(v)) {
137
+ res.push(transform(v, cb));
138
+ }
139
+ else {
140
+ var output = cb(v);
141
+ if (isNotNull(output)) {
142
+ res.push(output);
143
+ }
144
+ }
145
+ }
146
+ return res;
147
+ }
148
+ function valueAtPath(array, path) {
149
+ return getCurrent(array, path)[last(path)];
150
+ }
151
+ function setValueAtPath(array, path, value) {
152
+ var current = getCurrent(array, path);
153
+ current[last(path)] = value;
154
+ return array;
155
+ }
156
+ function flatten(values) {
157
+ return asArray(values).reduce(function (acc, value) {
158
+ if (isArray(value)) {
159
+ return acc.concat(flatten(value));
160
+ }
161
+ return asArray(acc).concat(value);
162
+ }, []);
163
+ }
164
+ function getCurrent(array, path) {
165
+ var current = array;
166
+ for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
167
+ var p = _a[_i];
168
+ current[p] = defaultTo(current[p], []);
169
+ current = current[p];
170
+ }
171
+ return current;
172
+ }
173
+
174
+ var nestedArray = /*#__PURE__*/Object.freeze({
175
+ __proto__: null,
176
+ transform: transform,
177
+ valueAtPath: valueAtPath,
178
+ setValueAtPath: setValueAtPath,
179
+ flatten: flatten,
180
+ getCurrent: getCurrent
181
+ });
182
+
183
+ function callEach(arr) {
184
+ return arr.forEach(function (fn) { return fn(); });
185
+ }
186
+
187
+ /**
188
+ * A safe hasOwnProperty access
189
+ */
190
+ function hasOwnProperty(obj, key) {
191
+ return Object.prototype.hasOwnProperty.call(obj, key);
192
+ }
193
+
194
+ function isPromise(value) {
195
+ return value && isFunction(value.then);
196
+ }
197
+
198
+ var assign = Object.assign;
199
+
200
+ function invariant(condition,
201
+ // eslint-disable-next-line @typescript-eslint/ban-types
202
+ message) {
203
+ if (condition) {
204
+ return;
205
+ }
206
+ // If message is a string object (rather than string literal)
207
+ // Throw the value directly as a string
208
+ // Alternatively, throw an error with the message
209
+ throw message instanceof String
210
+ ? message.valueOf()
211
+ : new Error(message ? optionalFunctionValue(message) : message);
212
+ }
213
+ // eslint-disable-next-line @typescript-eslint/ban-types
214
+ function StringObject(value) {
215
+ return new String(optionalFunctionValue(value));
216
+ }
217
+
218
+ function isStringValue(v) {
219
+ return String(v) === v;
220
+ }
221
+
222
+ function partition(array, predicate) {
223
+ return array.reduce(function (partitions, value, number) {
224
+ partitions[predicate(value, number, array) ? 0 : 1].push(value);
225
+ return partitions;
226
+ }, [[], []]);
227
+ }
228
+
229
+ function either(a, b) {
230
+ return !!a !== !!b;
231
+ }
232
+
233
+ function isBoolean(value) {
234
+ return !!value === value;
235
+ }
236
+
237
+ function deferThrow(message) {
238
+ setTimeout(function () {
239
+ throw new Error(message);
240
+ }, 0);
241
+ }
242
+
243
+ function createBus() {
244
+ var listeners = {};
245
+ return {
246
+ emit: function (event, data) {
247
+ listener(event).forEach(function (handler) {
248
+ handler(data);
249
+ });
250
+ },
251
+ on: function (event, handler) {
252
+ listeners[event] = listener(event).concat(handler);
253
+ return {
254
+ off: function () {
255
+ listeners[event] = listener(event).filter(function (h) { return h !== handler; });
256
+ }
257
+ };
258
+ }
259
+ };
260
+ function listener(event) {
261
+ return listeners[event] || [];
262
+ }
263
+ }
264
+
265
+ var bus = /*#__PURE__*/Object.freeze({
266
+ __proto__: null,
267
+ createBus: createBus
268
+ });
269
+
270
+ /**
271
+ * @returns a unique numeric id.
272
+ */
273
+ var genId = (function (n) { return function () {
274
+ return "".concat(n++);
275
+ }; })(0);
276
+
277
+ function mapFirst(array, callback) {
278
+ var broke = false;
279
+ var breakoutValue = null;
280
+ for (var i = 0; i < array.length; i++) {
281
+ callback(array[i], breakout, i);
282
+ if (broke) {
283
+ return breakoutValue;
284
+ }
285
+ }
286
+ function breakout(conditional, value) {
287
+ if (conditional) {
288
+ broke = true;
289
+ breakoutValue = value;
290
+ }
291
+ }
292
+ }
293
+
294
+ function isEmpty(value) {
295
+ if (!value) {
296
+ return true;
297
+ }
298
+ else if (hasOwnProperty(value, 'length')) {
299
+ return lengthEquals(value, 0);
300
+ }
301
+ else if (typeof value === 'object') {
302
+ return lengthEquals(Object.keys(value), 0);
303
+ }
304
+ return false;
305
+ }
306
+ var isNotEmpty = bindNot(isEmpty);
307
+
308
+ function isPositive(value) {
309
+ return greaterThan(value, 0);
310
+ }
311
+
312
+ exports.StringObject = StringObject;
313
+ exports.asArray = asArray;
314
+ exports.assign = assign;
315
+ exports.bindNot = bindNot;
316
+ exports.bus = bus;
317
+ exports.cache = createCache;
318
+ exports.callEach = callEach;
319
+ exports.defaultTo = defaultTo;
320
+ exports.deferThrow = deferThrow;
321
+ exports.either = either;
322
+ exports.genId = genId;
323
+ exports.greaterThan = greaterThan;
324
+ exports.hasOwnProperty = hasOwnProperty;
325
+ exports.invariant = invariant;
326
+ exports.isArray = isArray;
327
+ exports.isBoolean = isBoolean;
328
+ exports.isEmpty = isEmpty;
329
+ exports.isFunction = isFunction;
330
+ exports.isNotArray = isNotArray;
331
+ exports.isNotEmpty = isNotEmpty;
332
+ exports.isNotNull = isNotNull;
333
+ exports.isNotNullish = isNotNullish;
334
+ exports.isNotNumeric = isNotNumeric;
335
+ exports.isNotUndefined = isNotUndefined;
336
+ exports.isNull = isNull;
337
+ exports.isNullish = isNullish;
338
+ exports.isNumeric = isNumeric;
339
+ exports.isPositive = isPositive;
340
+ exports.isPromise = isPromise;
341
+ exports.isStringValue = isStringValue;
342
+ exports.isUndefined = isUndefined;
343
+ exports.last = last;
344
+ exports.lengthEquals = lengthEquals;
345
+ exports.lengthNotEquals = lengthNotEquals;
346
+ exports.longerThan = longerThan;
347
+ exports.mapFirst = mapFirst;
348
+ exports.nestedArray = nestedArray;
349
+ exports.numberEquals = numberEquals;
350
+ exports.numberNotEquals = numberNotEquals;
351
+ exports.optionalFunctionValue = optionalFunctionValue;
352
+ exports.partition = partition;
353
+
354
+ Object.defineProperty(exports, '__esModule', { value: true });
7
355
 
8
356
  })));
@@ -1 +1 @@
1
- "use strict";!function(n){"function"==typeof define&&define.amd&&define(n)}((function(){}));
1
+ "use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self)["vest-utils"]={})}(this,(function(n){function t(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function r(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function e(n,t){return r(n)&&r(t)&&Number(n)===Number(t)}function u(n,t){return e(n.length,t)}function i(n,t){return r(n)&&r(t)&&Number(n)>Number(t)}function o(n,t){return i(n.length,t)}function c(n){return null===n}function f(n){return void 0===n}function a(n){return null===n||f(n)}function l(n){return[].concat(n)}function s(n){return"function"==typeof n}function h(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return s(n)?n.apply(void 0,t):n}function d(n,t){var r;return null!==(r=h(n))&&void 0!==r?r:h(t)}function p(n){return!!Array.isArray(n)}function g(n){return(n=l(n))[n.length-1]}function v(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=d(n[e],[]),n=n[e]}return n}function N(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function y(n){return!n||(N(n,"length")?u(n,0):"object"==typeof n&&u(Object.keys(n),0))}var b,m=t(r),E=t(e),O=t(u),_=t(c),j=t(f),A=t(a),P=t(p),T=Object.freeze({__proto__:null,transform:function n(t,r){for(var e=[],u=0;u<t.length;u++){var i=t[u];p(i)?e.push(n(i,r)):(i=r(i),_(i)&&e.push(i))}return e},valueAtPath:function(n,t){return v(n,t)[g(t)]},setValueAtPath:function(n,t,r){return v(n,t)[g(t)]=r,n},flatten:function n(t){return l(t).reduce((function(t,r){return p(r)?t.concat(n(r)):l(t).concat(r)}),[])},getCurrent:v}),w=Object.assign,S=Object.freeze({__proto__:null,createBus:function(){var n={};return{emit:function(t,r){(n[t]||[]).forEach((function(n){n(r)}))},on:function(t,r){return n[t]=(n[t]||[]).concat(r),{off:function(){n[t]=(n[t]||[]).filter((function(n){return n!==r}))}}}}}}),F=(b=0,function(){return"".concat(b++)}),q=t(y);n.StringObject=function(n){return new String(h(n))},n.asArray=l,n.assign=w,n.bindNot=t,n.bus=S,n.cache=function(n){function t(n){return r.findIndex((function(t){var r=t[0];return u(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))}void 0===n&&(n=1);var r=[],e=function(t,u){var i=e.get(t);return i?i[1]:(u=u(),r.unshift([t.concat(),u]),o(r,n)&&(r.length=n),u)};return e.invalidate=function(n){-1<(n=t(n))&&r.splice(n,1)},e.get=function(n){return r[t(n)]||null},e},n.callEach=function(n){return n.forEach((function(n){return n()}))},n.defaultTo=d,n.deferThrow=function(n){setTimeout((function(){throw Error(n)}),0)},n.either=function(n,t){return!!n!=!!t},n.genId=F,n.greaterThan=i,n.hasOwnProperty=N,n.invariant=function(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?h(t):t)},n.isArray=p,n.isBoolean=function(n){return!!n===n},n.isEmpty=y,n.isFunction=s,n.isNotArray=P,n.isNotEmpty=q,n.isNotNull=_,n.isNotNullish=A,n.isNotNumeric=m,n.isNotUndefined=j,n.isNull=c,n.isNullish=a,n.isNumeric=r,n.isPositive=function(n){return i(n,0)},n.isPromise=function(n){return n&&s(n.then)},n.isStringValue=function(n){return String(n)===n},n.isUndefined=f,n.last=g,n.lengthEquals=u,n.lengthNotEquals=O,n.longerThan=o,n.mapFirst=function(n,t){function r(n,t){n&&(e=!0,u=t)}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u},n.nestedArray=T,n.numberEquals=e,n.numberNotEquals=E,n.optionalFunctionValue=h,n.partition=function(n,t){return n.reduce((function(r,e,u){return r[t(e,u,n)?0:1].push(e),r}),[[],[]])},Object.defineProperty(n,"__esModule",{value:!0})}));