vest-utils 0.1.1 → 1.0.0-dev-9c596e

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