vest-utils 0.1.0-dev-f3ecc9 → 0.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.
@@ -3,26 +3,32 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function bindNot(fn) {
6
- return (...args) => !fn(...args);
6
+ return function () {
7
+ var args = [];
8
+ for (var _i = 0; _i < arguments.length; _i++) {
9
+ args[_i] = arguments[_i];
10
+ }
11
+ return !fn.apply(void 0, args);
12
+ };
7
13
  }
8
14
 
9
15
  function isNumeric(value) {
10
- const str = String(value);
11
- const num = Number(value);
12
- const result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
16
+ var str = String(value);
17
+ var num = Number(value);
18
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
13
19
  return Boolean(result);
14
20
  }
15
- const isNotNumeric = bindNot(isNumeric);
21
+ var isNotNumeric = bindNot(isNumeric);
16
22
 
17
23
  function numberEquals(value, eq) {
18
24
  return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
19
25
  }
20
- const numberNotEquals = bindNot(numberEquals);
26
+ var numberNotEquals = bindNot(numberEquals);
21
27
 
22
28
  function lengthEquals(value, arg1) {
23
29
  return numberEquals(value.length, arg1);
24
30
  }
25
- const lengthNotEquals = bindNot(lengthEquals);
31
+ var lengthNotEquals = bindNot(lengthEquals);
26
32
 
27
33
  function greaterThan(value, gt) {
28
34
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
@@ -35,48 +41,54 @@ function longerThan(value, arg1) {
35
41
  /**
36
42
  * Creates a cache function
37
43
  */
38
- function createCache(maxSize = 1) {
39
- const cacheStorage = [];
40
- const cache = (deps, cacheAction) => {
41
- const cacheHit = cache.get(deps);
44
+ function createCache(maxSize) {
45
+ if (maxSize === void 0) { maxSize = 1; }
46
+ var cacheStorage = [];
47
+ var cache = function (deps, cacheAction) {
48
+ var cacheHit = cache.get(deps);
42
49
  // cache hit is not null
43
50
  if (cacheHit)
44
51
  return cacheHit[1];
45
- const result = cacheAction();
52
+ var result = cacheAction();
46
53
  cacheStorage.unshift([deps.concat(), result]);
47
54
  if (longerThan(cacheStorage, maxSize))
48
55
  cacheStorage.length = maxSize;
49
56
  return result;
50
57
  };
51
58
  // invalidate an item in the cache by its dependencies
52
- cache.invalidate = (deps) => {
53
- const index = findIndex(deps);
59
+ cache.invalidate = function (deps) {
60
+ var index = findIndex(deps);
54
61
  if (index > -1)
55
62
  cacheStorage.splice(index, 1);
56
63
  };
57
64
  // Retrieves an item from the cache.
58
- cache.get = (deps) => cacheStorage[findIndex(deps)] || null;
65
+ cache.get = function (deps) {
66
+ return cacheStorage[findIndex(deps)] || null;
67
+ };
59
68
  return cache;
60
69
  function findIndex(deps) {
61
- return cacheStorage.findIndex(([cachedDeps]) => lengthEquals(deps, cachedDeps.length) &&
62
- deps.every((dep, i) => dep === cachedDeps[i]));
70
+ return cacheStorage.findIndex(function (_a) {
71
+ var cachedDeps = _a[0];
72
+ return lengthEquals(deps, cachedDeps.length) &&
73
+ deps.every(function (dep, i) { return dep === cachedDeps[i]; });
74
+ });
63
75
  }
64
76
  }
65
77
 
66
78
  function isNull(value) {
67
79
  return value === null;
68
80
  }
69
- const isNotNull = bindNot(isNull);
81
+ var isNotNull = bindNot(isNull);
70
82
 
71
83
  function isUndefined(value) {
72
84
  return value === undefined;
73
85
  }
74
- const isNotUndefined = bindNot(isUndefined);
86
+ var isNotUndefined = bindNot(isUndefined);
75
87
 
76
88
  function isNullish(value) {
77
89
  return isNull(value) || isUndefined(value);
78
90
  }
79
- const isNotNullish = bindNot(isNullish);
91
+ var isNotNullish = bindNot(isNullish);
80
92
 
81
93
  function asArray(possibleArg) {
82
94
  return [].concat(possibleArg);
@@ -86,8 +98,12 @@ function isFunction(value) {
86
98
  return typeof value === 'function';
87
99
  }
88
100
 
89
- function optionalFunctionValue(value, ...args) {
90
- return isFunction(value) ? value(...args) : value;
101
+ function optionalFunctionValue(value) {
102
+ var args = [];
103
+ for (var _i = 1; _i < arguments.length; _i++) {
104
+ args[_i - 1] = arguments[_i];
105
+ }
106
+ return isFunction(value) ? value.apply(void 0, args) : value;
91
107
  }
92
108
 
93
109
  function defaultTo(value, defaultValue) {
@@ -101,10 +117,10 @@ function defaultTo(value, defaultValue) {
101
117
  function isArray(value) {
102
118
  return Boolean(Array.isArray(value));
103
119
  }
104
- const isNotArray = bindNot(isArray);
120
+ var isNotArray = bindNot(isArray);
105
121
 
106
122
  function last(values) {
107
- const valuesArray = asArray(values);
123
+ var valuesArray = asArray(values);
108
124
  return valuesArray[valuesArray.length - 1];
109
125
  }
110
126
 
@@ -112,13 +128,14 @@ function last(values) {
112
128
  // Normally, behaves like a nested-array map,
113
129
  // but returning `null` will drop the element from the array
114
130
  function transform(array, cb) {
115
- const res = [];
116
- for (const v of array) {
131
+ var res = [];
132
+ for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
133
+ var v = array_1[_i];
117
134
  if (isArray(v)) {
118
135
  res.push(transform(v, cb));
119
136
  }
120
137
  else {
121
- const output = cb(v);
138
+ var output = cb(v);
122
139
  if (isNotNull(output)) {
123
140
  res.push(output);
124
141
  }
@@ -130,12 +147,12 @@ function valueAtPath(array, path) {
130
147
  return getCurrent(array, path)[last(path)];
131
148
  }
132
149
  function setValueAtPath(array, path, value) {
133
- const current = getCurrent(array, path);
150
+ var current = getCurrent(array, path);
134
151
  current[last(path)] = value;
135
152
  return array;
136
153
  }
137
154
  function flatten(values) {
138
- return asArray(values).reduce((acc, value) => {
155
+ return asArray(values).reduce(function (acc, value) {
139
156
  if (isArray(value)) {
140
157
  return acc.concat(flatten(value));
141
158
  }
@@ -143,8 +160,9 @@ function flatten(values) {
143
160
  }, []);
144
161
  }
145
162
  function getCurrent(array, path) {
146
- let current = array;
147
- for (const p of path.slice(0, -1)) {
163
+ var current = array;
164
+ for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
165
+ var p = _a[_i];
148
166
  current[p] = defaultTo(current[p], []);
149
167
  current = current[p];
150
168
  }
@@ -161,7 +179,7 @@ var nestedArray = /*#__PURE__*/Object.freeze({
161
179
  });
162
180
 
163
181
  function callEach(arr) {
164
- return arr.forEach(fn => fn());
182
+ return arr.forEach(function (fn) { return fn(); });
165
183
  }
166
184
 
167
185
  /**
@@ -208,27 +226,27 @@ function isBoolean(value) {
208
226
  }
209
227
 
210
228
  function deferThrow(message) {
211
- setTimeout(() => {
229
+ setTimeout(function () {
212
230
  throw new Error(message);
213
231
  }, 0);
214
232
  }
215
233
 
216
234
  function createBus() {
217
- const listeners = {};
235
+ var listeners = {};
218
236
  return {
219
- emit(event, data) {
220
- listener(event).forEach(handler => {
237
+ emit: function (event, data) {
238
+ listener(event).forEach(function (handler) {
221
239
  handler(data);
222
240
  });
223
241
  },
224
- on(event, handler) {
242
+ on: function (event, handler) {
225
243
  listeners[event] = listener(event).concat(handler);
226
244
  return {
227
- off() {
228
- listeners[event] = listener(event).filter(h => h !== handler);
229
- },
245
+ off: function () {
246
+ listeners[event] = listener(event).filter(function (h) { return h !== handler; });
247
+ }
230
248
  };
231
- },
249
+ }
232
250
  };
233
251
  function listener(event) {
234
252
  return listeners[event] || [];
@@ -243,15 +261,17 @@ var bus = /*#__PURE__*/Object.freeze({
243
261
  /**
244
262
  * @returns a unique numeric id.
245
263
  */
246
- const seq = genSeq();
264
+ var seq = genSeq();
247
265
  function genSeq(namespace) {
248
- return ((n) => () => `${namespace ? namespace + '_' : ''}${n++}`)(0);
266
+ return (function (n) { return function () {
267
+ return "".concat(namespace ? namespace + '_' : '').concat(n++);
268
+ }; })(0);
249
269
  }
250
270
 
251
271
  function mapFirst(array, callback) {
252
- let broke = false;
253
- let breakoutValue = null;
254
- for (let i = 0; i < array.length; i++) {
272
+ var broke = false;
273
+ var breakoutValue = null;
274
+ for (var i = 0; i < array.length; i++) {
255
275
  callback(array[i], breakout, i);
256
276
  if (broke) {
257
277
  return breakoutValue;
@@ -277,29 +297,12 @@ function isEmpty(value) {
277
297
  }
278
298
  return false;
279
299
  }
280
- const isNotEmpty = bindNot(isEmpty);
300
+ var isNotEmpty = bindNot(isEmpty);
281
301
 
282
302
  function isPositive(value) {
283
303
  return greaterThan(value, 0);
284
304
  }
285
305
 
286
- function createTinyState(initialValue) {
287
- let value;
288
- resetValue();
289
- return () => [value, setValue, resetValue];
290
- function setValue(nextValue) {
291
- value = optionalFunctionValue(nextValue, value);
292
- }
293
- function resetValue() {
294
- setValue(optionalFunctionValue(initialValue));
295
- }
296
- }
297
-
298
- var tinyState = /*#__PURE__*/Object.freeze({
299
- __proto__: null,
300
- createTinyState: createTinyState
301
- });
302
-
303
306
  exports.StringObject = StringObject;
304
307
  exports.asArray = asArray;
305
308
  exports.assign = assign;
@@ -341,4 +344,3 @@ exports.numberEquals = numberEquals;
341
344
  exports.numberNotEquals = numberNotEquals;
342
345
  exports.optionalFunctionValue = optionalFunctionValue;
343
346
  exports.seq = seq;
344
- exports.tinyState = tinyState;
@@ -1 +1 @@
1
- "use strict";function t(t){return(...n)=>!t(...n)}function n(t){const n=String(t),r=Number(t),e=!isNaN(parseFloat(n))&&!isNaN(Number(t))&&isFinite(r);return Boolean(e)}Object.defineProperty(exports,"__esModule",{value:!0});const r=t(n);function e(t,r){return n(t)&&n(r)&&Number(t)===Number(r)}const o=t(e);function u(t,n){return e(t.length,n)}const s=t(u);function i(t,r){return n(t)&&n(r)&&Number(t)>Number(r)}function c(t,n){return i(t.length,n)}function f(t){return null===t}const a=t(f);function l(t){return void 0===t}const p=t(l);function x(t){return f(t)||l(t)}const h=t(x);function N(t){return[].concat(t)}function g(t){return"function"==typeof t}function b(t,...n){return g(t)?t(...n):t}function y(t,n){var r;return null!==(r=b(t))&&void 0!==r?r:b(n)}function m(t){return Boolean(Array.isArray(t))}const d=t(m);function v(t){const n=N(t);return n[n.length-1]}function _(t,n){let r=t;for(const t of n.slice(0,-1))r[t]=y(r[t],[]),r=r[t];return r}var E=Object.freeze({__proto__:null,transform:function t(n,r){const e=[];for(const o of n)if(m(o))e.push(t(o,r));else{const t=r(o);a(t)&&e.push(t)}return e},valueAtPath:function(t,n){return _(t,n)[v(n)]},setValueAtPath:function(t,n,r){return _(t,n)[v(n)]=r,t},flatten:function t(n){return N(n).reduce(((n,r)=>m(r)?n.concat(t(r)):N(n).concat(r)),[])},getCurrent:_});function O(t,n){return Object.prototype.hasOwnProperty.call(t,n)}var j=Object.assign;var S=Object.freeze({__proto__:null,createBus:function(){const t={};return{emit(t,r){n(t).forEach((t=>{t(r)}))},on:(r,e)=>(t[r]=n(r).concat(e),{off(){t[r]=n(r).filter((t=>t!==e))}})};function n(n){return t[n]||[]}}});const w=A();function A(t){return n=0,()=>`${t?t+"_":""}${n++}`;var n}function P(t){return!t||(O(t,"length")?u(t,0):"object"==typeof t&&u(Object.keys(t),0))}const q=t(P);var T=Object.freeze({__proto__:null,createTinyState:function(t){let n;return e(),()=>[n,r,e];function r(t){n=b(t,n)}function e(){r(b(t))}}});exports.StringObject=function(t){return new String(b(t))},exports.asArray=N,exports.assign=j,exports.bindNot=t,exports.bus=S,exports.cache=function(t=1){const n=[],r=(e,o)=>{const u=r.get(e);if(u)return u[1];const s=o();return n.unshift([e.concat(),s]),c(n,t)&&(n.length=t),s};return r.invalidate=t=>{const r=e(t);r>-1&&n.splice(r,1)},r.get=t=>n[e(t)]||null,r;function e(t){return n.findIndex((([n])=>u(t,n.length)&&t.every(((t,r)=>t===n[r]))))}},exports.callEach=function(t){return t.forEach((t=>t()))},exports.defaultTo=y,exports.deferThrow=function(t){setTimeout((()=>{throw new Error(t)}),0)},exports.either=function(t,n){return!!t!=!!n},exports.genSeq=A,exports.greaterThan=i,exports.hasOwnProperty=O,exports.invariant=function(t,n){if(!t)throw n instanceof String?n.valueOf():new Error(n?b(n):n)},exports.isArray=m,exports.isBoolean=function(t){return!!t===t},exports.isEmpty=P,exports.isFunction=g,exports.isNotArray=d,exports.isNotEmpty=q,exports.isNotNull=a,exports.isNotNullish=h,exports.isNotNumeric=r,exports.isNotUndefined=p,exports.isNull=f,exports.isNullish=x,exports.isNumeric=n,exports.isPositive=function(t){return i(t,0)},exports.isPromise=function(t){return t&&g(t.then)},exports.isStringValue=function(t){return String(t)===t},exports.isUndefined=l,exports.last=v,exports.lengthEquals=u,exports.lengthNotEquals=s,exports.longerThan=c,exports.mapFirst=function(t,n){let r=!1,e=null;for(let u=0;u<t.length;u++)if(n(t[u],o,u),r)return e;function o(t,n){t&&(r=!0,e=n)}},exports.nestedArray=E,exports.numberEquals=e,exports.numberNotEquals=o,exports.optionalFunctionValue=b,exports.seq=w,exports.tinyState=T;
1
+ "use strict";function r(r){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return!r.apply(void 0,t)}}function t(r){var t=String(r),n=Number(r),e=!isNaN(parseFloat(t))&&!isNaN(Number(r))&&isFinite(n);return Boolean(e)}Object.defineProperty(exports,"__esModule",{value:!0});var n=r(t);function e(r,n){return t(r)&&t(n)&&Number(r)===Number(n)}var o=r(e);function u(r,t){return e(r.length,t)}var i=r(u);function s(r,n){return t(r)&&t(n)&&Number(r)>Number(n)}function c(r,t){return s(r.length,t)}function a(r){return null===r}var f=r(a);function l(r){return void 0===r}var p=r(l);function x(r){return a(r)||l(r)}var v=r(x);function h(r){return[].concat(r)}function g(r){return"function"==typeof r}function N(r){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return g(r)?r.apply(void 0,t):r}function d(r,t){var n;return null!==(n=N(r))&&void 0!==n?n:N(t)}function b(r){return Boolean(Array.isArray(r))}var y=r(b);function m(r){var t=h(r);return t[t.length-1]}function E(r,t){for(var n=r,e=0,o=t.slice(0,-1);e<o.length;e++){var u=o[e];n[u]=d(n[u],[]),n=n[u]}return n}var _=Object.freeze({__proto__:null,transform:function r(t,n){for(var e=[],o=0,u=t;o<u.length;o++){var i=u[o];if(b(i))e.push(r(i,n));else{var s=n(i);f(s)&&e.push(s)}}return e},valueAtPath:function(r,t){return E(r,t)[m(t)]},setValueAtPath:function(r,t,n){return E(r,t)[m(t)]=n,r},flatten:function r(t){return h(t).reduce((function(t,n){return b(n)?t.concat(r(n)):h(t).concat(n)}),[])},getCurrent:E});function O(r,t){return Object.prototype.hasOwnProperty.call(r,t)}var j=Object.assign;var w=Object.freeze({__proto__:null,createBus:function(){var r={};return{emit:function(r,n){t(r).forEach((function(r){r(n)}))},on:function(n,e){return r[n]=t(n).concat(e),{off:function(){r[n]=t(n).filter((function(r){return r!==e}))}}}};function t(t){return r[t]||[]}}}),A=P();function P(r){return t=0,function(){return"".concat(r?r+"_":"").concat(t++)};var t}function S(r){return!r||(O(r,"length")?u(r,0):"object"==typeof r&&u(Object.keys(r),0))}var q=r(S);exports.StringObject=function(r){return new String(N(r))},exports.asArray=h,exports.assign=j,exports.bindNot=r,exports.bus=w,exports.cache=function(r){void 0===r&&(r=1);var t=[],n=function(e,o){var u=n.get(e);if(u)return u[1];var i=o();return t.unshift([e.concat(),i]),c(t,r)&&(t.length=r),i};return n.invalidate=function(r){var n=e(r);n>-1&&t.splice(n,1)},n.get=function(r){return t[e(r)]||null},n;function e(r){return t.findIndex((function(t){var n=t[0];return u(r,n.length)&&r.every((function(r,t){return r===n[t]}))}))}},exports.callEach=function(r){return r.forEach((function(r){return r()}))},exports.defaultTo=d,exports.deferThrow=function(r){setTimeout((function(){throw new Error(r)}),0)},exports.either=function(r,t){return!!r!=!!t},exports.genSeq=P,exports.greaterThan=s,exports.hasOwnProperty=O,exports.invariant=function(r,t){if(!r)throw t instanceof String?t.valueOf():new Error(t?N(t):t)},exports.isArray=b,exports.isBoolean=function(r){return!!r===r},exports.isEmpty=S,exports.isFunction=g,exports.isNotArray=y,exports.isNotEmpty=q,exports.isNotNull=f,exports.isNotNullish=v,exports.isNotNumeric=n,exports.isNotUndefined=p,exports.isNull=a,exports.isNullish=x,exports.isNumeric=t,exports.isPositive=function(r){return s(r,0)},exports.isPromise=function(r){return r&&g(r.then)},exports.isStringValue=function(r){return String(r)===r},exports.isUndefined=l,exports.last=m,exports.lengthEquals=u,exports.lengthNotEquals=i,exports.longerThan=c,exports.mapFirst=function(r,t){for(var n=!1,e=null,o=0;o<r.length;o++)if(t(r[o],u,o),n)return e;function u(r,t){r&&(n=!0,e=t)}},exports.nestedArray=_,exports.numberEquals=e,exports.numberNotEquals=o,exports.optionalFunctionValue=N,exports.seq=A;
@@ -1,24 +1,30 @@
1
1
  function bindNot(fn) {
2
- return (...args) => !fn(...args);
2
+ return function () {
3
+ var args = [];
4
+ for (var _i = 0; _i < arguments.length; _i++) {
5
+ args[_i] = arguments[_i];
6
+ }
7
+ return !fn.apply(void 0, args);
8
+ };
3
9
  }
4
10
 
5
11
  function isNumeric(value) {
6
- const str = String(value);
7
- const num = Number(value);
8
- const result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
12
+ var str = String(value);
13
+ var num = Number(value);
14
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
9
15
  return Boolean(result);
10
16
  }
11
- const isNotNumeric = bindNot(isNumeric);
17
+ var isNotNumeric = bindNot(isNumeric);
12
18
 
13
19
  function numberEquals(value, eq) {
14
20
  return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
15
21
  }
16
- const numberNotEquals = bindNot(numberEquals);
22
+ var numberNotEquals = bindNot(numberEquals);
17
23
 
18
24
  function lengthEquals(value, arg1) {
19
25
  return numberEquals(value.length, arg1);
20
26
  }
21
- const lengthNotEquals = bindNot(lengthEquals);
27
+ var lengthNotEquals = bindNot(lengthEquals);
22
28
 
23
29
  function greaterThan(value, gt) {
24
30
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
@@ -31,48 +37,54 @@ function longerThan(value, arg1) {
31
37
  /**
32
38
  * Creates a cache function
33
39
  */
34
- function createCache(maxSize = 1) {
35
- const cacheStorage = [];
36
- const cache = (deps, cacheAction) => {
37
- const cacheHit = cache.get(deps);
40
+ function createCache(maxSize) {
41
+ if (maxSize === void 0) { maxSize = 1; }
42
+ var cacheStorage = [];
43
+ var cache = function (deps, cacheAction) {
44
+ var cacheHit = cache.get(deps);
38
45
  // cache hit is not null
39
46
  if (cacheHit)
40
47
  return cacheHit[1];
41
- const result = cacheAction();
48
+ var result = cacheAction();
42
49
  cacheStorage.unshift([deps.concat(), result]);
43
50
  if (longerThan(cacheStorage, maxSize))
44
51
  cacheStorage.length = maxSize;
45
52
  return result;
46
53
  };
47
54
  // invalidate an item in the cache by its dependencies
48
- cache.invalidate = (deps) => {
49
- const index = findIndex(deps);
55
+ cache.invalidate = function (deps) {
56
+ var index = findIndex(deps);
50
57
  if (index > -1)
51
58
  cacheStorage.splice(index, 1);
52
59
  };
53
60
  // Retrieves an item from the cache.
54
- cache.get = (deps) => cacheStorage[findIndex(deps)] || null;
61
+ cache.get = function (deps) {
62
+ return cacheStorage[findIndex(deps)] || null;
63
+ };
55
64
  return cache;
56
65
  function findIndex(deps) {
57
- return cacheStorage.findIndex(([cachedDeps]) => lengthEquals(deps, cachedDeps.length) &&
58
- deps.every((dep, i) => dep === cachedDeps[i]));
66
+ return cacheStorage.findIndex(function (_a) {
67
+ var cachedDeps = _a[0];
68
+ return lengthEquals(deps, cachedDeps.length) &&
69
+ deps.every(function (dep, i) { return dep === cachedDeps[i]; });
70
+ });
59
71
  }
60
72
  }
61
73
 
62
74
  function isNull(value) {
63
75
  return value === null;
64
76
  }
65
- const isNotNull = bindNot(isNull);
77
+ var isNotNull = bindNot(isNull);
66
78
 
67
79
  function isUndefined(value) {
68
80
  return value === undefined;
69
81
  }
70
- const isNotUndefined = bindNot(isUndefined);
82
+ var isNotUndefined = bindNot(isUndefined);
71
83
 
72
84
  function isNullish(value) {
73
85
  return isNull(value) || isUndefined(value);
74
86
  }
75
- const isNotNullish = bindNot(isNullish);
87
+ var isNotNullish = bindNot(isNullish);
76
88
 
77
89
  function asArray(possibleArg) {
78
90
  return [].concat(possibleArg);
@@ -82,8 +94,12 @@ function isFunction(value) {
82
94
  return typeof value === 'function';
83
95
  }
84
96
 
85
- function optionalFunctionValue(value, ...args) {
86
- return isFunction(value) ? value(...args) : value;
97
+ function optionalFunctionValue(value) {
98
+ var args = [];
99
+ for (var _i = 1; _i < arguments.length; _i++) {
100
+ args[_i - 1] = arguments[_i];
101
+ }
102
+ return isFunction(value) ? value.apply(void 0, args) : value;
87
103
  }
88
104
 
89
105
  function defaultTo(value, defaultValue) {
@@ -97,10 +113,10 @@ function defaultTo(value, defaultValue) {
97
113
  function isArray(value) {
98
114
  return Boolean(Array.isArray(value));
99
115
  }
100
- const isNotArray = bindNot(isArray);
116
+ var isNotArray = bindNot(isArray);
101
117
 
102
118
  function last(values) {
103
- const valuesArray = asArray(values);
119
+ var valuesArray = asArray(values);
104
120
  return valuesArray[valuesArray.length - 1];
105
121
  }
106
122
 
@@ -108,13 +124,14 @@ function last(values) {
108
124
  // Normally, behaves like a nested-array map,
109
125
  // but returning `null` will drop the element from the array
110
126
  function transform(array, cb) {
111
- const res = [];
112
- for (const v of array) {
127
+ var res = [];
128
+ for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
129
+ var v = array_1[_i];
113
130
  if (isArray(v)) {
114
131
  res.push(transform(v, cb));
115
132
  }
116
133
  else {
117
- const output = cb(v);
134
+ var output = cb(v);
118
135
  if (isNotNull(output)) {
119
136
  res.push(output);
120
137
  }
@@ -126,12 +143,12 @@ function valueAtPath(array, path) {
126
143
  return getCurrent(array, path)[last(path)];
127
144
  }
128
145
  function setValueAtPath(array, path, value) {
129
- const current = getCurrent(array, path);
146
+ var current = getCurrent(array, path);
130
147
  current[last(path)] = value;
131
148
  return array;
132
149
  }
133
150
  function flatten(values) {
134
- return asArray(values).reduce((acc, value) => {
151
+ return asArray(values).reduce(function (acc, value) {
135
152
  if (isArray(value)) {
136
153
  return acc.concat(flatten(value));
137
154
  }
@@ -139,8 +156,9 @@ function flatten(values) {
139
156
  }, []);
140
157
  }
141
158
  function getCurrent(array, path) {
142
- let current = array;
143
- for (const p of path.slice(0, -1)) {
159
+ var current = array;
160
+ for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
161
+ var p = _a[_i];
144
162
  current[p] = defaultTo(current[p], []);
145
163
  current = current[p];
146
164
  }
@@ -157,7 +175,7 @@ var nestedArray = /*#__PURE__*/Object.freeze({
157
175
  });
158
176
 
159
177
  function callEach(arr) {
160
- return arr.forEach(fn => fn());
178
+ return arr.forEach(function (fn) { return fn(); });
161
179
  }
162
180
 
163
181
  /**
@@ -204,27 +222,27 @@ function isBoolean(value) {
204
222
  }
205
223
 
206
224
  function deferThrow(message) {
207
- setTimeout(() => {
225
+ setTimeout(function () {
208
226
  throw new Error(message);
209
227
  }, 0);
210
228
  }
211
229
 
212
230
  function createBus() {
213
- const listeners = {};
231
+ var listeners = {};
214
232
  return {
215
- emit(event, data) {
216
- listener(event).forEach(handler => {
233
+ emit: function (event, data) {
234
+ listener(event).forEach(function (handler) {
217
235
  handler(data);
218
236
  });
219
237
  },
220
- on(event, handler) {
238
+ on: function (event, handler) {
221
239
  listeners[event] = listener(event).concat(handler);
222
240
  return {
223
- off() {
224
- listeners[event] = listener(event).filter(h => h !== handler);
225
- },
241
+ off: function () {
242
+ listeners[event] = listener(event).filter(function (h) { return h !== handler; });
243
+ }
226
244
  };
227
- },
245
+ }
228
246
  };
229
247
  function listener(event) {
230
248
  return listeners[event] || [];
@@ -239,15 +257,17 @@ var bus = /*#__PURE__*/Object.freeze({
239
257
  /**
240
258
  * @returns a unique numeric id.
241
259
  */
242
- const seq = genSeq();
260
+ var seq = genSeq();
243
261
  function genSeq(namespace) {
244
- return ((n) => () => `${namespace ? namespace + '_' : ''}${n++}`)(0);
262
+ return (function (n) { return function () {
263
+ return "".concat(namespace ? namespace + '_' : '').concat(n++);
264
+ }; })(0);
245
265
  }
246
266
 
247
267
  function mapFirst(array, callback) {
248
- let broke = false;
249
- let breakoutValue = null;
250
- for (let i = 0; i < array.length; i++) {
268
+ var broke = false;
269
+ var breakoutValue = null;
270
+ for (var i = 0; i < array.length; i++) {
251
271
  callback(array[i], breakout, i);
252
272
  if (broke) {
253
273
  return breakoutValue;
@@ -273,27 +293,10 @@ function isEmpty(value) {
273
293
  }
274
294
  return false;
275
295
  }
276
- const isNotEmpty = bindNot(isEmpty);
296
+ var isNotEmpty = bindNot(isEmpty);
277
297
 
278
298
  function isPositive(value) {
279
299
  return greaterThan(value, 0);
280
300
  }
281
301
 
282
- function createTinyState(initialValue) {
283
- let value;
284
- resetValue();
285
- return () => [value, setValue, resetValue];
286
- function setValue(nextValue) {
287
- value = optionalFunctionValue(nextValue, value);
288
- }
289
- function resetValue() {
290
- setValue(optionalFunctionValue(initialValue));
291
- }
292
- }
293
-
294
- var tinyState = /*#__PURE__*/Object.freeze({
295
- __proto__: null,
296
- createTinyState: createTinyState
297
- });
298
-
299
- export { StringObject, asArray, assign, bindNot, bus, createCache as cache, callEach, defaultTo, deferThrow, either, genSeq, greaterThan, hasOwnProperty, invariant, isArray, isBoolean, isEmpty, isFunction, isNotArray, isNotEmpty, isNotNull, isNotNullish, isNotNumeric, isNotUndefined, isNull, isNullish, isNumeric, isPositive, isPromise, isStringValue, isUndefined, last, lengthEquals, lengthNotEquals, longerThan, mapFirst, nestedArray, numberEquals, numberNotEquals, optionalFunctionValue, seq, tinyState };
302
+ export { StringObject, asArray, assign, bindNot, bus, createCache as cache, callEach, defaultTo, deferThrow, either, genSeq, greaterThan, hasOwnProperty, invariant, isArray, isBoolean, isEmpty, isFunction, isNotArray, isNotEmpty, isNotNull, isNotNullish, isNotNumeric, isNotUndefined, isNull, isNullish, isNumeric, isPositive, isPromise, isStringValue, isUndefined, last, lengthEquals, lengthNotEquals, longerThan, mapFirst, nestedArray, numberEquals, numberNotEquals, optionalFunctionValue, seq };
@@ -1 +1 @@
1
- function n(n){return(...t)=>!n(...t)}function t(n){const t=String(n),r=Number(n),e=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(r);return Boolean(e)}const r=n(t);function e(n,r){return t(n)&&t(r)&&Number(n)===Number(r)}const o=n(e);function u(n,t){return e(n.length,t)}const c=n(u);function i(n,r){return t(n)&&t(r)&&Number(n)>Number(r)}function f(n,t){return i(n.length,t)}function s(n=1){const t=[],r=(e,o)=>{const u=r.get(e);if(u)return u[1];const c=o();return t.unshift([e.concat(),c]),f(t,n)&&(t.length=n),c};return r.invalidate=n=>{const r=e(n);r>-1&&t.splice(r,1)},r.get=n=>t[e(n)]||null,r;function e(n){return t.findIndex((([t])=>u(n,t.length)&&n.every(((n,r)=>n===t[r]))))}}function a(n){return null===n}const l=n(a);function h(n){return void 0===n}const g=n(h);function b(n){return a(n)||h(n)}const p=n(b);function _(n){return[].concat(n)}function v(n){return"function"==typeof n}function N(n,...t){return v(n)?n(...t):n}function m(n,t){var r;return null!==(r=N(n))&&void 0!==r?r:N(t)}function y(n){return Boolean(Array.isArray(n))}const O=n(y);function j(n){const t=_(n);return t[t.length-1]}function d(n,t){let r=n;for(const n of t.slice(0,-1))r[n]=m(r[n],[]),r=r[n];return r}var w=Object.freeze({__proto__:null,transform:function n(t,r){const e=[];for(const o of t)if(y(o))e.push(n(o,r));else{const n=r(o);l(n)&&e.push(n)}return e},valueAtPath:function(n,t){return d(n,t)[j(t)]},setValueAtPath:function(n,t,r){return d(n,t)[j(t)]=r,n},flatten:function n(t){return _(t).reduce(((t,r)=>y(r)?t.concat(n(r)):_(t).concat(r)),[])},getCurrent:d});function S(n){return n.forEach((n=>n()))}function A(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function E(n){return n&&v(n.then)}var z=Object.assign;function B(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?N(t):t)}function P(n){return new String(N(n))}function x(n){return String(n)===n}function F(n,t){return!!n!=!!t}function T(n){return!!n===n}function $(n){setTimeout((()=>{throw new Error(n)}),0)}var k=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,r){t(n).forEach((n=>{n(r)}))},on:(r,e)=>(n[r]=t(r).concat(e),{off(){n[r]=t(r).filter((n=>n!==e))}})};function t(t){return n[t]||[]}}});const C=I();function I(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function V(n,t){let r=!1,e=null;for(let u=0;u<n.length;u++)if(t(n[u],o,u),r)return e;function o(n,t){n&&(r=!0,e=t)}}function q(n){return!n||(A(n,"length")?u(n,0):"object"==typeof n&&u(Object.keys(n),0))}const D=n(q);function G(n){return i(n,0)}var H=Object.freeze({__proto__:null,createTinyState:function(n){let t;return e(),()=>[t,r,e];function r(n){t=N(n,t)}function e(){r(N(n))}}});export{P as StringObject,_ as asArray,z as assign,n as bindNot,k as bus,s as cache,S as callEach,m as defaultTo,$ as deferThrow,F as either,I as genSeq,i as greaterThan,A as hasOwnProperty,B as invariant,y as isArray,T as isBoolean,q as isEmpty,v as isFunction,O as isNotArray,D as isNotEmpty,l as isNotNull,p as isNotNullish,r as isNotNumeric,g as isNotUndefined,a as isNull,b as isNullish,t as isNumeric,G as isPositive,E as isPromise,x as isStringValue,h as isUndefined,j as last,u as lengthEquals,c as lengthNotEquals,f as longerThan,V as mapFirst,w as nestedArray,e as numberEquals,o as numberNotEquals,N as optionalFunctionValue,C as seq,H as tinyState};
1
+ function n(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function r(n){var r=String(n),t=Number(n),u=!isNaN(parseFloat(r))&&!isNaN(Number(n))&&isFinite(t);return Boolean(u)}var t=n(r);function u(n,t){return r(n)&&r(t)&&Number(n)===Number(t)}var e=n(u);function o(n,r){return u(n.length,r)}var c=n(o);function i(n,t){return r(n)&&r(t)&&Number(n)>Number(t)}function f(n,r){return i(n.length,r)}function a(n){void 0===n&&(n=1);var r=[],t=function(u,e){var o=t.get(u);if(o)return o[1];var c=e();return r.unshift([u.concat(),c]),f(r,n)&&(r.length=n),c};return t.invalidate=function(n){var t=u(n);t>-1&&r.splice(t,1)},t.get=function(n){return r[u(n)]||null},t;function u(n){return r.findIndex((function(r){var t=r[0];return o(n,t.length)&&n.every((function(n,r){return n===t[r]}))}))}}function l(n){return null===n}var v=n(l);function h(n){return void 0===n}var s=n(h);function g(n){return l(n)||h(n)}var p=n(g);function b(n){return[].concat(n)}function y(n){return"function"==typeof n}function N(n){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return y(n)?n.apply(void 0,r):n}function d(n,r){var t;return null!==(t=N(n))&&void 0!==t?t:N(r)}function m(n){return Boolean(Array.isArray(n))}var _=n(m);function O(n){var r=b(n);return r[r.length-1]}function j(n,r){for(var t=n,u=0,e=r.slice(0,-1);u<e.length;u++){var o=e[u];t[o]=d(t[o],[]),t=t[o]}return t}var w=Object.freeze({__proto__:null,transform:function n(r,t){for(var u=[],e=0,o=r;e<o.length;e++){var c=o[e];if(m(c))u.push(n(c,t));else{var i=t(c);v(i)&&u.push(i)}}return u},valueAtPath:function(n,r){return j(n,r)[O(r)]},setValueAtPath:function(n,r,t){return j(n,r)[O(r)]=t,n},flatten:function n(r){return b(r).reduce((function(r,t){return m(t)?r.concat(n(t)):b(r).concat(t)}),[])},getCurrent:j});function A(n){return n.forEach((function(n){return n()}))}function E(n,r){return Object.prototype.hasOwnProperty.call(n,r)}function S(n){return n&&y(n.then)}var B=Object.assign;function P(n,r){if(!n)throw r instanceof String?r.valueOf():new Error(r?N(r):r)}function x(n){return new String(N(n))}function z(n){return String(n)===n}function F(n,r){return!!n!=!!r}function k(n){return!!n===n}function C(n){setTimeout((function(){throw new Error(n)}),0)}var I=Object.freeze({__proto__:null,createBus:function(){var n={};return{emit:function(n,t){r(n).forEach((function(n){n(t)}))},on:function(t,u){return n[t]=r(t).concat(u),{off:function(){n[t]=r(t).filter((function(n){return n!==u}))}}}};function r(r){return n[r]||[]}}}),T=V();function V(n){return r=0,function(){return"".concat(n?n+"_":"").concat(r++)};var r}function q(n,r){for(var t=!1,u=null,e=0;e<n.length;e++)if(r(n[e],o,e),t)return u;function o(n,r){n&&(t=!0,u=r)}}function D(n){return!n||(E(n,"length")?o(n,0):"object"==typeof n&&o(Object.keys(n),0))}var G=n(D);function H(n){return i(n,0)}export{x as StringObject,b as asArray,B as assign,n as bindNot,I as bus,a as cache,A as callEach,d as defaultTo,C as deferThrow,F as either,V as genSeq,i as greaterThan,E as hasOwnProperty,P as invariant,m as isArray,k as isBoolean,D as isEmpty,y as isFunction,_ as isNotArray,G as isNotEmpty,v as isNotNull,p as isNotNullish,t as isNotNumeric,s as isNotUndefined,l as isNull,g as isNullish,r as isNumeric,H as isPositive,S as isPromise,z as isStringValue,h as isUndefined,O as last,o as lengthEquals,c as lengthNotEquals,f as longerThan,q as mapFirst,w as nestedArray,u as numberEquals,e as numberNotEquals,N as optionalFunctionValue,T as seq};
@@ -5,26 +5,32 @@
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
7
  function bindNot(fn) {
8
- return (...args) => !fn(...args);
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
+ };
9
15
  }
10
16
 
11
17
  function isNumeric(value) {
12
- const str = String(value);
13
- const num = Number(value);
14
- const result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
18
+ var str = String(value);
19
+ var num = Number(value);
20
+ var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
15
21
  return Boolean(result);
16
22
  }
17
- const isNotNumeric = bindNot(isNumeric);
23
+ var isNotNumeric = bindNot(isNumeric);
18
24
 
19
25
  function numberEquals(value, eq) {
20
26
  return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
21
27
  }
22
- const numberNotEquals = bindNot(numberEquals);
28
+ var numberNotEquals = bindNot(numberEquals);
23
29
 
24
30
  function lengthEquals(value, arg1) {
25
31
  return numberEquals(value.length, arg1);
26
32
  }
27
- const lengthNotEquals = bindNot(lengthEquals);
33
+ var lengthNotEquals = bindNot(lengthEquals);
28
34
 
29
35
  function greaterThan(value, gt) {
30
36
  return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
@@ -37,48 +43,54 @@
37
43
  /**
38
44
  * Creates a cache function
39
45
  */
40
- function createCache(maxSize = 1) {
41
- const cacheStorage = [];
42
- const cache = (deps, cacheAction) => {
43
- const cacheHit = cache.get(deps);
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);
44
51
  // cache hit is not null
45
52
  if (cacheHit)
46
53
  return cacheHit[1];
47
- const result = cacheAction();
54
+ var result = cacheAction();
48
55
  cacheStorage.unshift([deps.concat(), result]);
49
56
  if (longerThan(cacheStorage, maxSize))
50
57
  cacheStorage.length = maxSize;
51
58
  return result;
52
59
  };
53
60
  // invalidate an item in the cache by its dependencies
54
- cache.invalidate = (deps) => {
55
- const index = findIndex(deps);
61
+ cache.invalidate = function (deps) {
62
+ var index = findIndex(deps);
56
63
  if (index > -1)
57
64
  cacheStorage.splice(index, 1);
58
65
  };
59
66
  // Retrieves an item from the cache.
60
- cache.get = (deps) => cacheStorage[findIndex(deps)] || null;
67
+ cache.get = function (deps) {
68
+ return cacheStorage[findIndex(deps)] || null;
69
+ };
61
70
  return cache;
62
71
  function findIndex(deps) {
63
- return cacheStorage.findIndex(([cachedDeps]) => lengthEquals(deps, cachedDeps.length) &&
64
- deps.every((dep, i) => dep === cachedDeps[i]));
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
+ });
65
77
  }
66
78
  }
67
79
 
68
80
  function isNull(value) {
69
81
  return value === null;
70
82
  }
71
- const isNotNull = bindNot(isNull);
83
+ var isNotNull = bindNot(isNull);
72
84
 
73
85
  function isUndefined(value) {
74
86
  return value === undefined;
75
87
  }
76
- const isNotUndefined = bindNot(isUndefined);
88
+ var isNotUndefined = bindNot(isUndefined);
77
89
 
78
90
  function isNullish(value) {
79
91
  return isNull(value) || isUndefined(value);
80
92
  }
81
- const isNotNullish = bindNot(isNullish);
93
+ var isNotNullish = bindNot(isNullish);
82
94
 
83
95
  function asArray(possibleArg) {
84
96
  return [].concat(possibleArg);
@@ -88,8 +100,12 @@
88
100
  return typeof value === 'function';
89
101
  }
90
102
 
91
- function optionalFunctionValue(value, ...args) {
92
- return isFunction(value) ? value(...args) : value;
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;
93
109
  }
94
110
 
95
111
  function defaultTo(value, defaultValue) {
@@ -103,10 +119,10 @@
103
119
  function isArray(value) {
104
120
  return Boolean(Array.isArray(value));
105
121
  }
106
- const isNotArray = bindNot(isArray);
122
+ var isNotArray = bindNot(isArray);
107
123
 
108
124
  function last(values) {
109
- const valuesArray = asArray(values);
125
+ var valuesArray = asArray(values);
110
126
  return valuesArray[valuesArray.length - 1];
111
127
  }
112
128
 
@@ -114,13 +130,14 @@
114
130
  // Normally, behaves like a nested-array map,
115
131
  // but returning `null` will drop the element from the array
116
132
  function transform(array, cb) {
117
- const res = [];
118
- for (const v of array) {
133
+ var res = [];
134
+ for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
135
+ var v = array_1[_i];
119
136
  if (isArray(v)) {
120
137
  res.push(transform(v, cb));
121
138
  }
122
139
  else {
123
- const output = cb(v);
140
+ var output = cb(v);
124
141
  if (isNotNull(output)) {
125
142
  res.push(output);
126
143
  }
@@ -132,12 +149,12 @@
132
149
  return getCurrent(array, path)[last(path)];
133
150
  }
134
151
  function setValueAtPath(array, path, value) {
135
- const current = getCurrent(array, path);
152
+ var current = getCurrent(array, path);
136
153
  current[last(path)] = value;
137
154
  return array;
138
155
  }
139
156
  function flatten(values) {
140
- return asArray(values).reduce((acc, value) => {
157
+ return asArray(values).reduce(function (acc, value) {
141
158
  if (isArray(value)) {
142
159
  return acc.concat(flatten(value));
143
160
  }
@@ -145,8 +162,9 @@
145
162
  }, []);
146
163
  }
147
164
  function getCurrent(array, path) {
148
- let current = array;
149
- for (const p of path.slice(0, -1)) {
165
+ var current = array;
166
+ for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
167
+ var p = _a[_i];
150
168
  current[p] = defaultTo(current[p], []);
151
169
  current = current[p];
152
170
  }
@@ -163,7 +181,7 @@
163
181
  });
164
182
 
165
183
  function callEach(arr) {
166
- return arr.forEach(fn => fn());
184
+ return arr.forEach(function (fn) { return fn(); });
167
185
  }
168
186
 
169
187
  /**
@@ -210,27 +228,27 @@
210
228
  }
211
229
 
212
230
  function deferThrow(message) {
213
- setTimeout(() => {
231
+ setTimeout(function () {
214
232
  throw new Error(message);
215
233
  }, 0);
216
234
  }
217
235
 
218
236
  function createBus() {
219
- const listeners = {};
237
+ var listeners = {};
220
238
  return {
221
- emit(event, data) {
222
- listener(event).forEach(handler => {
239
+ emit: function (event, data) {
240
+ listener(event).forEach(function (handler) {
223
241
  handler(data);
224
242
  });
225
243
  },
226
- on(event, handler) {
244
+ on: function (event, handler) {
227
245
  listeners[event] = listener(event).concat(handler);
228
246
  return {
229
- off() {
230
- listeners[event] = listener(event).filter(h => h !== handler);
231
- },
247
+ off: function () {
248
+ listeners[event] = listener(event).filter(function (h) { return h !== handler; });
249
+ }
232
250
  };
233
- },
251
+ }
234
252
  };
235
253
  function listener(event) {
236
254
  return listeners[event] || [];
@@ -245,15 +263,17 @@
245
263
  /**
246
264
  * @returns a unique numeric id.
247
265
  */
248
- const seq = genSeq();
266
+ var seq = genSeq();
249
267
  function genSeq(namespace) {
250
- return ((n) => () => `${namespace ? namespace + '_' : ''}${n++}`)(0);
268
+ return (function (n) { return function () {
269
+ return "".concat(namespace ? namespace + '_' : '').concat(n++);
270
+ }; })(0);
251
271
  }
252
272
 
253
273
  function mapFirst(array, callback) {
254
- let broke = false;
255
- let breakoutValue = null;
256
- for (let i = 0; i < array.length; i++) {
274
+ var broke = false;
275
+ var breakoutValue = null;
276
+ for (var i = 0; i < array.length; i++) {
257
277
  callback(array[i], breakout, i);
258
278
  if (broke) {
259
279
  return breakoutValue;
@@ -279,29 +299,12 @@
279
299
  }
280
300
  return false;
281
301
  }
282
- const isNotEmpty = bindNot(isEmpty);
302
+ var isNotEmpty = bindNot(isEmpty);
283
303
 
284
304
  function isPositive(value) {
285
305
  return greaterThan(value, 0);
286
306
  }
287
307
 
288
- function createTinyState(initialValue) {
289
- let value;
290
- resetValue();
291
- return () => [value, setValue, resetValue];
292
- function setValue(nextValue) {
293
- value = optionalFunctionValue(nextValue, value);
294
- }
295
- function resetValue() {
296
- setValue(optionalFunctionValue(initialValue));
297
- }
298
- }
299
-
300
- var tinyState = /*#__PURE__*/Object.freeze({
301
- __proto__: null,
302
- createTinyState: createTinyState
303
- });
304
-
305
308
  exports.StringObject = StringObject;
306
309
  exports.asArray = asArray;
307
310
  exports.assign = assign;
@@ -343,7 +346,6 @@
343
346
  exports.numberNotEquals = numberNotEquals;
344
347
  exports.optionalFunctionValue = optionalFunctionValue;
345
348
  exports.seq = seq;
346
- exports.tinyState = tinyState;
347
349
 
348
350
  Object.defineProperty(exports, '__esModule', { value: true });
349
351
 
@@ -1 +1 @@
1
- !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){"use strict";function t(n){return(...t)=>!n(...t)}function e(n){const t=String(n),e=Number(n),r=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(e);return Boolean(r)}const r=t(e);function o(n,t){return e(n)&&e(t)&&Number(n)===Number(t)}const u=t(o);function i(n,t){return o(n.length,t)}const c=t(i);function s(n,t){return e(n)&&e(t)&&Number(n)>Number(t)}function f(n,t){return s(n.length,t)}function l(n){return null===n}const a=t(l);function h(n){return void 0===n}const d=t(h);function g(n){return l(n)||h(n)}const p=t(g);function N(n){return[].concat(n)}function b(n){return"function"==typeof n}function y(n,...t){return b(n)?n(...t):n}function m(n,t){var e;return null!==(e=y(n))&&void 0!==e?e:y(t)}function v(n){return Boolean(Array.isArray(n))}const _=t(v);function E(n){const t=N(n);return t[t.length-1]}function O(n,t){let e=n;for(const n of t.slice(0,-1))e[n]=m(e[n],[]),e=e[n];return e}var j=Object.freeze({__proto__:null,transform:function n(t,e){const r=[];for(const o of t)if(v(o))r.push(n(o,e));else{const n=e(o);a(n)&&r.push(n)}return r},valueAtPath:function(n,t){return O(n,t)[E(t)]},setValueAtPath:function(n,t,e){return O(n,t)[E(t)]=e,n},flatten:function n(t){return N(t).reduce(((t,e)=>v(e)?t.concat(n(e)):N(t).concat(e)),[])},getCurrent:O});function S(n,t){return Object.prototype.hasOwnProperty.call(n,t)}var w=Object.assign;var A=Object.freeze({__proto__:null,createBus:function(){const n={};return{emit(n,e){t(n).forEach((n=>{n(e)}))},on:(e,r)=>(n[e]=t(e).concat(r),{off(){n[e]=t(e).filter((n=>n!==r))}})};function t(t){return n[t]||[]}}});const T=P();function P(n){return t=0,()=>`${n?n+"_":""}${t++}`;var t}function q(n){return!n||(S(n,"length")?i(n,0):"object"==typeof n&&i(Object.keys(n),0))}const F=t(q);var x=Object.freeze({__proto__:null,createTinyState:function(n){let t;return r(),()=>[t,e,r];function e(n){t=y(n,t)}function r(){e(y(n))}}});n.StringObject=function(n){return new String(y(n))},n.asArray=N,n.assign=w,n.bindNot=t,n.bus=A,n.cache=function(n=1){const t=[],e=(r,o)=>{const u=e.get(r);if(u)return u[1];const i=o();return t.unshift([r.concat(),i]),f(t,n)&&(t.length=n),i};return e.invalidate=n=>{const e=r(n);e>-1&&t.splice(e,1)},e.get=n=>t[r(n)]||null,e;function r(n){return t.findIndex((([t])=>i(n,t.length)&&n.every(((n,e)=>n===t[e]))))}},n.callEach=function(n){return n.forEach((n=>n()))},n.defaultTo=m,n.deferThrow=function(n){setTimeout((()=>{throw new Error(n)}),0)},n.either=function(n,t){return!!n!=!!t},n.genSeq=P,n.greaterThan=s,n.hasOwnProperty=S,n.invariant=function(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?y(t):t)},n.isArray=v,n.isBoolean=function(n){return!!n===n},n.isEmpty=q,n.isFunction=b,n.isNotArray=_,n.isNotEmpty=F,n.isNotNull=a,n.isNotNullish=p,n.isNotNumeric=r,n.isNotUndefined=d,n.isNull=l,n.isNullish=g,n.isNumeric=e,n.isPositive=function(n){return s(n,0)},n.isPromise=function(n){return n&&b(n.then)},n.isStringValue=function(n){return String(n)===n},n.isUndefined=h,n.last=E,n.lengthEquals=i,n.lengthNotEquals=c,n.longerThan=f,n.mapFirst=function(n,t){let e=!1,r=null;for(let u=0;u<n.length;u++)if(t(n[u],o,u),e)return r;function o(n,t){n&&(e=!0,r=t)}},n.nestedArray=j,n.numberEquals=o,n.numberNotEquals=u,n.optionalFunctionValue=y,n.seq=T,n.tinyState=x,Object.defineProperty(n,"__esModule",{value:!0})}));
1
+ !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){"use strict";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=String(n),r=Number(n),e=!isNaN(parseFloat(t))&&!isNaN(Number(n))&&isFinite(r);return Boolean(e)}var e=t(r);function u(n,t){return r(n)&&r(t)&&Number(n)===Number(t)}var i=t(u);function o(n,t){return u(n.length,t)}var c=t(o);function f(n,t){return r(n)&&r(t)&&Number(n)>Number(t)}function a(n,t){return f(n.length,t)}function l(n){return null===n}var s=t(l);function v(n){return void 0===n}var h=t(v);function g(n){return l(n)||v(n)}var d=t(g);function p(n){return[].concat(n)}function N(n){return"function"==typeof n}function y(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return N(n)?n.apply(void 0,t):n}function b(n,t){var r;return null!==(r=y(n))&&void 0!==r?r:y(t)}function m(n){return Boolean(Array.isArray(n))}var E=t(m);function _(n){var t=p(n);return t[t.length-1]}function O(n,t){for(var r=n,e=0,u=t.slice(0,-1);e<u.length;e++){var i=u[e];r[i]=b(r[i],[]),r=r[i]}return r}var j=Object.freeze({__proto__:null,transform:function n(t,r){for(var e=[],u=0,i=t;u<i.length;u++){var o=i[u];if(m(o))e.push(n(o,r));else{var c=r(o);s(c)&&e.push(c)}}return e},valueAtPath:function(n,t){return O(n,t)[_(t)]},setValueAtPath:function(n,t,r){return O(n,t)[_(t)]=r,n},flatten:function n(t){return p(t).reduce((function(t,r){return m(r)?t.concat(n(r)):p(t).concat(r)}),[])},getCurrent:O});function w(n,t){return Object.prototype.hasOwnProperty.call(n,t)}var A=Object.assign;var P=Object.freeze({__proto__:null,createBus:function(){var n={};return{emit:function(n,r){t(n).forEach((function(n){n(r)}))},on:function(r,e){return n[r]=t(r).concat(e),{off:function(){n[r]=t(r).filter((function(n){return n!==e}))}}}};function t(t){return n[t]||[]}}}),S=T();function T(n){return t=0,function(){return"".concat(n?n+"_":"").concat(t++)};var t}function q(n){return!n||(w(n,"length")?o(n,0):"object"==typeof n&&o(Object.keys(n),0))}var F=t(q);n.StringObject=function(n){return new String(y(n))},n.asArray=p,n.assign=A,n.bindNot=t,n.bus=P,n.cache=function(n){void 0===n&&(n=1);var t=[],r=function(e,u){var i=r.get(e);if(i)return i[1];var o=u();return t.unshift([e.concat(),o]),a(t,n)&&(t.length=n),o};return r.invalidate=function(n){var r=e(n);r>-1&&t.splice(r,1)},r.get=function(n){return t[e(n)]||null},r;function e(n){return t.findIndex((function(t){var r=t[0];return o(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))}},n.callEach=function(n){return n.forEach((function(n){return n()}))},n.defaultTo=b,n.deferThrow=function(n){setTimeout((function(){throw new Error(n)}),0)},n.either=function(n,t){return!!n!=!!t},n.genSeq=T,n.greaterThan=f,n.hasOwnProperty=w,n.invariant=function(n,t){if(!n)throw t instanceof String?t.valueOf():new Error(t?y(t):t)},n.isArray=m,n.isBoolean=function(n){return!!n===n},n.isEmpty=q,n.isFunction=N,n.isNotArray=E,n.isNotEmpty=F,n.isNotNull=s,n.isNotNullish=d,n.isNotNumeric=e,n.isNotUndefined=h,n.isNull=l,n.isNullish=g,n.isNumeric=r,n.isPositive=function(n){return f(n,0)},n.isPromise=function(n){return n&&N(n.then)},n.isStringValue=function(n){return String(n)===n},n.isUndefined=v,n.last=_,n.lengthEquals=o,n.lengthNotEquals=c,n.longerThan=a,n.mapFirst=function(n,t){for(var r=!1,e=null,u=0;u<n.length;u++)if(t(n[u],i,u),r)return e;function i(n,t){n&&(r=!0,e=t)}},n.nestedArray=j,n.numberEquals=u,n.numberNotEquals=i,n.optionalFunctionValue=y,n.seq=S,Object.defineProperty(n,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0-dev-f3ecc9",
2
+ "version": "0.1.0",
3
3
  "name": "vest-utils",
4
4
  "author": "ealush",
5
5
  "scripts": {
@@ -1,13 +1,11 @@
1
- import { faker } from '@faker-js/faker';
1
+ import { random, datatype } from 'faker';
2
2
 
3
3
  import { greaterThan } from 'greaterThan';
4
4
 
5
- const { random, datatype } = faker;
6
-
7
5
  describe('Tests greaterThan rule', () => {
8
- describe('Arguments are numbers', () => {
9
- let arg0: number;
6
+ let arg0;
10
7
 
8
+ describe('Arguments are numbers', () => {
11
9
  beforeEach(() => {
12
10
  arg0 = datatype.number();
13
11
  });
@@ -32,15 +30,9 @@ describe('Tests greaterThan rule', () => {
32
30
  });
33
31
 
34
32
  describe('Arguments are numeric strings', () => {
35
- let arg0: string;
36
-
37
- beforeEach(() => {
38
- arg0 = datatype.number().toString();
39
- });
40
-
41
33
  describe('When first argument is larger', () => {
42
34
  it('Should return true', () => {
43
- expect(greaterThan('100', '99')).toBe(true);
35
+ expect(greaterThan(`${arg0}`, `${arg0 - 1}`)).toBe(true);
44
36
  });
45
37
  });
46
38
 
@@ -60,7 +52,6 @@ describe('Tests greaterThan rule', () => {
60
52
  describe('Arguments are non numeric', () => {
61
53
  [random.word(), `${datatype.number()}`.split(''), {}].forEach(element => {
62
54
  it('Should return false', () => {
63
- // @ts-expect-error - testing invalid input
64
55
  expect(greaterThan(element, 0)).toBe(false);
65
56
  });
66
57
  });
@@ -1,4 +1,4 @@
1
- import { faker } from '@faker-js/faker';
1
+ import faker from 'faker';
2
2
 
3
3
  import { lengthEquals } from 'lengthEquals';
4
4
 
@@ -46,12 +46,10 @@ describe('Tests lengthEquals rule', () => {
46
46
  });
47
47
 
48
48
  it('Should return false for number argument', () => {
49
- // @ts-expect-error - testing wrong input
50
- expect(lengthEquals(100, 0)).toBe(false);
49
+ expect(lengthEquals(length, 0)).toBe(false);
51
50
  });
52
51
 
53
52
  it('Should return false for boolean argument', () => {
54
- // @ts-expect-error - testing wrong input
55
53
  expect(lengthEquals(boolean, 0)).toBe(false);
56
54
  });
57
55
  });
@@ -1,4 +1,4 @@
1
- import { faker } from '@faker-js/faker';
1
+ import faker from 'faker';
2
2
 
3
3
  import { longerThan } from 'longerThan';
4
4
 
@@ -46,12 +46,10 @@ describe('Tests longerThan rule', () => {
46
46
  });
47
47
 
48
48
  it('Should return false for number argument', () => {
49
- // @ts-expect-error - testing wrong input
50
49
  expect(longerThan(length, 0)).toBe(false);
51
50
  });
52
51
 
53
52
  it('Should return false for boolean argument', () => {
54
- // @ts-expect-error - testing wrong input
55
53
  expect(longerThan(boolean, 0)).toBe(false);
56
54
  });
57
55
  });
@@ -1,12 +1,11 @@
1
- import { faker } from '@faker-js/faker';
1
+ import { random, datatype } from 'faker';
2
2
 
3
3
  import { numberEquals } from 'numberEquals';
4
4
 
5
- const { random, datatype } = faker;
6
-
7
5
  describe('Tests numberEquals rule', () => {
6
+ let arg0;
7
+
8
8
  describe('Arguments are numbers', () => {
9
- let arg0: number;
10
9
  beforeEach(() => {
11
10
  arg0 = datatype.number();
12
11
  });
@@ -31,15 +30,9 @@ describe('Tests numberEquals rule', () => {
31
30
  });
32
31
 
33
32
  describe('Arguments are numeric strings', () => {
34
- let arg0: string;
35
-
36
- beforeEach(() => {
37
- arg0 = datatype.number().toString();
38
- });
39
-
40
33
  describe('When first argument is larger', () => {
41
34
  it('Should return false', () => {
42
- expect(numberEquals(`${arg0}`, `${Number(arg0) - 1}`)).toBe(false);
35
+ expect(numberEquals(`${arg0}`, `${arg0 - 1}`)).toBe(false);
43
36
  });
44
37
  });
45
38
 
@@ -51,7 +44,7 @@ describe('Tests numberEquals rule', () => {
51
44
 
52
45
  describe('When values are equal', () => {
53
46
  it('Should return true', () => {
54
- expect(numberEquals('100', '100')).toBe(true);
47
+ expect(numberEquals(arg0, arg0)).toBe(true);
55
48
  });
56
49
  });
57
50
  });
@@ -59,7 +52,6 @@ describe('Tests numberEquals rule', () => {
59
52
  describe('Arguments are non numeric', () => {
60
53
  [random.word(), `${datatype.number()}`.split(''), {}].forEach(element => {
61
54
  it('Should return false', () => {
62
- // @ts-expect-error - testing invalid input
63
55
  expect(numberEquals(element, 0)).toBe(false);
64
56
  });
65
57
  });
package/src/bus.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import type { CB } from 'utilityTypes';
2
2
 
3
- export function createBus(): BusType {
3
+ export function createBus(): {
4
+ on: (event: string, handler: CB) => OnReturn;
5
+ emit: (event: string, ...args: any[]) => void;
6
+ } {
4
7
  const listeners: Record<string, CB[]> = {};
5
8
 
6
9
  return {
@@ -27,8 +30,3 @@ export function createBus(): BusType {
27
30
  }
28
31
 
29
32
  type OnReturn = { off: () => void };
30
-
31
- export type BusType = {
32
- on: (event: string, handler: CB) => OnReturn;
33
- emit: (event: string, ...args: any[]) => void;
34
- };
package/src/deferThrow.ts CHANGED
@@ -3,5 +3,3 @@ export default function deferThrow(message?: string): void {
3
3
  throw new Error(message);
4
4
  }, 0);
5
5
  }
6
-
7
- export type TDeferThrow = typeof deferThrow;
package/src/vest-utils.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  export { default as cache, CacheApi } from 'cache';
2
- export { BusType } from 'bus';
3
- export { TinyState } from 'tinyState';
4
2
  export { isNullish, isNotNullish } from 'isNullish';
5
3
  export * as nestedArray from 'nestedArray';
6
4
  export { default as asArray } from 'asArray';
@@ -31,7 +29,6 @@ export { isUndefined, isNotUndefined } from 'isUndefined';
31
29
  export { isArray, isNotArray } from 'isArrayValue';
32
30
  export { isEmpty, isNotEmpty } from 'isEmpty';
33
31
  export { isPositive } from 'isPositive';
34
- export * as tinyState from 'tinyState';
35
32
 
36
33
  export type { DropFirst } from 'utilityTypes';
37
34
  export type { Stringable } from 'utilityTypes';
package/tsconfig.json CHANGED
@@ -39,7 +39,6 @@
39
39
  "numberEquals": ["src/numberEquals.ts"],
40
40
  "optionalFunctionValue": ["src/optionalFunctionValue.ts"],
41
41
  "seq": ["src/seq.ts"],
42
- "tinyState": ["src/tinyState.ts"],
43
42
  "utilityTypes": ["src/utilityTypes.ts"],
44
43
  "vest-utils": ["src/vest-utils.ts"]
45
44
  }
@@ -17,25 +17,6 @@ type CacheApi<T = unknown> = {
17
17
  ] | null;
18
18
  invalidate(item: any): void;
19
19
  };
20
- type DropFirst<T extends unknown[]> = T extends [
21
- unknown,
22
- ...infer U
23
- ] ? U : never;
24
- type Stringable = string | ((...args: any[]) => string);
25
- type CB = (...args: any[]) => any;
26
- type ValueOf<T> = T[keyof T];
27
- type OnReturn = {
28
- off: () => void;
29
- };
30
- type BusType = {
31
- on: (event: string, handler: CB) => OnReturn;
32
- emit: (event: string, ...args: any[]) => void;
33
- };
34
- type TinyState<S> = () => [
35
- value: S,
36
- setValue: (next: S | ((prev: S) => S)) => void,
37
- resetValue: () => void
38
- ];
39
20
  declare function isNullish(value: any): value is null | undefined;
40
21
  declare const isNotNullish: (value: any) => boolean;
41
22
  declare namespace nestedArray {
@@ -50,6 +31,13 @@ declare namespace nestedArray {
50
31
  function getCurrent<T>(array: NestedArray<T>, path: number[]): NestedArray<T>;
51
32
  }
52
33
  declare function asArray<T>(possibleArg: T | T[]): T[];
34
+ type DropFirst<T extends unknown[]> = T extends [
35
+ unknown,
36
+ ...infer U
37
+ ] ? U : never;
38
+ type Stringable = string | ((...args: any[]) => string);
39
+ type CB = (...args: any[]) => any;
40
+ type ValueOf<T> = T[keyof T];
53
41
  declare function callEach(arr: CB[]): void;
54
42
  /**
55
43
  * A safe hasOwnProperty access
@@ -83,14 +71,13 @@ declare namespace bus {
83
71
  type Stringable = string | ((...args: any[]) => string);
84
72
  type CB = (...args: any[]) => any;
85
73
  type ValueOf<T> = T[keyof T];
86
- function createBus(): BusType;
87
- type OnReturn = {
88
- off: () => void;
89
- };
90
- type BusType = {
74
+ function createBus(): {
91
75
  on: (event: string, handler: CB) => OnReturn;
92
76
  emit: (event: string, ...args: any[]) => void;
93
77
  };
78
+ type OnReturn = {
79
+ off: () => void;
80
+ };
94
81
  }
95
82
  /**
96
83
  * @returns a unique numeric id.
@@ -119,14 +106,6 @@ declare const isNotArray: (value: unknown) => boolean;
119
106
  declare function isEmpty(value: unknown): boolean;
120
107
  declare const isNotEmpty: (value: unknown) => boolean;
121
108
  declare function isPositive(value: number | string): boolean;
122
- declare namespace tinyState {
123
- function createTinyState<S>(initialValue: S | (() => S)): TinyState<S>;
124
- type TinyState<S> = () => [
125
- value: S,
126
- setValue: (next: S | ((prev: S) => S)) => void,
127
- resetValue: () => void
128
- ];
129
- }
130
- export { createCache as cache, CacheApi, BusType, TinyState, isNullish, isNotNullish, nestedArray, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, StringObject, isStringValue, bindNot, either, isBoolean, last, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive, tinyState };
109
+ export { createCache as cache, CacheApi, isNullish, isNotNullish, nestedArray, asArray, callEach, hasOwnProperty, isPromise, optionalFunctionValue, _default as assign, defaultTo, invariant, StringObject, isStringValue, bindNot, either, isBoolean, last, deferThrow, bus, seq, genSeq, isFunction, mapFirst, greaterThan, longerThan, isNumeric, isNotNumeric, lengthEquals, lengthNotEquals, numberEquals, numberNotEquals, isNull, isNotNull, isUndefined, isNotUndefined, isArray, isNotArray, isEmpty, isNotEmpty, isPositive };
131
110
  export type { DropFirst, Stringable, CB, ValueOf };
132
111
  //# sourceMappingURL=vest-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vest-utils.d.ts","sourceRoot":"","sources":["../src/vest-utils.ts","../src/bindNot.ts","../src/isNumeric.ts","../src/numberEquals.ts","../src/lengthEquals.ts","../src/greaterThan.ts","../src/longerThan.ts","../src/cache.ts","../src/utilityTypes.ts","../src/bus.ts","../src/isFunction.ts","../src/optionalFunctionValue.ts","../src/tinyState.ts","../src/isNull.ts","../src/isUndefined.ts","../src/isNullish.ts","../src/asArray.ts","../src/defaultTo.ts","../src/isArrayValue.ts","../src/last.ts","../src/nestedArray.ts","../src/callEach.ts","../src/hasOwnProperty.ts","../src/isPromise.ts","../src/assign.ts","../src/invariant.ts","../src/isStringValue.ts","../src/either.ts","../src/isBooleanValue.ts","../src/deferThrow.ts","../src/seq.ts","../src/mapFirst.ts","../src/isEmpty.ts","../src/isPositive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,+hBAA8B,CAAc;AAmCnD,YAAY,sCAAa,CAAqB"}
1
+ {"version":3,"file":"vest-utils.d.ts","sourceRoot":"","sources":["../src/vest-utils.ts","../src/bindNot.ts","../src/isNumeric.ts","../src/numberEquals.ts","../src/lengthEquals.ts","../src/greaterThan.ts","../src/longerThan.ts","../src/cache.ts","../src/isNull.ts","../src/isUndefined.ts","../src/isNullish.ts","../src/asArray.ts","../src/isFunction.ts","../src/optionalFunctionValue.ts","../src/defaultTo.ts","../src/isArrayValue.ts","../src/last.ts","../src/nestedArray.ts","../src/utilityTypes.ts","../src/callEach.ts","../src/hasOwnProperty.ts","../src/isPromise.ts","../src/assign.ts","../src/invariant.ts","../src/isStringValue.ts","../src/either.ts","../src/isBooleanValue.ts","../src/deferThrow.ts","../src/bus.ts","../src/seq.ts","../src/mapFirst.ts","../src/isEmpty.ts","../src/isPositive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,ggBAA8B,CAAc;AAgCnD,YAAY,sCAAa,CAAqB"}
@@ -1,67 +0,0 @@
1
- import { createTinyState } from 'tinyState';
2
-
3
- describe('tinyTest', () => {
4
- it('Should be a function', () => {
5
- expect(typeof createTinyState).toBe('function');
6
- });
7
-
8
- it('Should return a function', () => {
9
- expect(typeof createTinyState(1)).toBe('function');
10
- });
11
-
12
- it('Should return a function that returns an array', () => {
13
- expect(Array.isArray(createTinyState(1)())).toBe(true);
14
- });
15
-
16
- it('Should return a function that returns an array with three items', () => {
17
- expect(createTinyState(1)()).toHaveLength(3);
18
- });
19
-
20
- it('Should return a function that returns an array with three items, the first being the initial value', () => {
21
- expect(createTinyState('initial_value')()[0]).toBe('initial_value');
22
-
23
- const initialValue = {};
24
- expect(createTinyState(initialValue)()[0]).toBe(initialValue);
25
- });
26
-
27
- it('Should return a function that returns an array with three items, the second being a function', () => {
28
- expect(typeof createTinyState(1)()[1]).toBe('function');
29
- });
30
-
31
- it('Should return a function that returns an array with three items, the third being a function', () => {
32
- expect(typeof createTinyState(1)()[2]).toBe('function');
33
- });
34
-
35
- it('Updates the value when the second item is called', () => {
36
- const testState = createTinyState('initial_value');
37
-
38
- {
39
- const [, setValue] = testState();
40
- setValue('new_value');
41
- }
42
-
43
- {
44
- const [value] = testState();
45
- expect(value).toBe('new_value');
46
- }
47
- });
48
-
49
- it('resets the value when the third item is called', () => {
50
- const testState = createTinyState('initial_value');
51
-
52
- {
53
- const [, setValue] = testState();
54
- setValue('new_value');
55
- }
56
-
57
- {
58
- const [, , resetValue] = testState();
59
- resetValue();
60
- }
61
-
62
- {
63
- const [value] = testState();
64
- expect(value).toBe('initial_value');
65
- }
66
- });
67
- });
package/src/tinyState.ts DELETED
@@ -1,23 +0,0 @@
1
- import optionalFunctionValue from 'optionalFunctionValue';
2
-
3
- export function createTinyState<S>(initialValue: S | (() => S)): TinyState<S> {
4
- let value: S;
5
-
6
- resetValue();
7
-
8
- return () => [value, setValue, resetValue];
9
-
10
- function setValue(nextValue: S | ((currentValue: S) => S)) {
11
- value = optionalFunctionValue(nextValue, value);
12
- }
13
-
14
- function resetValue() {
15
- setValue(optionalFunctionValue(initialValue));
16
- }
17
- }
18
-
19
- export type TinyState<S> = () => [
20
- value: S,
21
- setValue: (next: S | ((prev: S) => S)) => void,
22
- resetValue: () => void
23
- ];