@tempots/std 0.11.0 → 0.12.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.
package/string.js CHANGED
@@ -1,63 +1,63 @@
1
- import { any as l, all as C, range as A, fill as O } from "./array.js";
2
- import { map as p } from "./regexp.js";
1
+ import { anyElement as l, allElements as C, generateArray as A, createFilledArray as S } from "./array.js";
2
+ import { mapRegExp as h } from "./regexp.js";
3
3
  function c(n, t, r) {
4
4
  return n.split(t).join(r);
5
5
  }
6
- function V(n, t) {
6
+ function J(n, t) {
7
7
  const r = n.indexOf(t);
8
8
  return r < 0 ? "" : n.substring(r + t.length);
9
9
  }
10
- function X(n, t) {
10
+ function V(n, t) {
11
11
  const r = n.lastIndexOf(t);
12
12
  return r < 0 ? "" : n.substring(r + t.length);
13
13
  }
14
- function Y(n, t) {
14
+ function X(n, t) {
15
15
  const r = n.indexOf(t);
16
16
  return r < 0 ? "" : n.substring(0, r);
17
17
  }
18
- function v(n, t) {
18
+ function Y(n, t) {
19
19
  const r = n.lastIndexOf(t);
20
20
  return r < 0 ? "" : n.substring(0, r);
21
21
  }
22
- function h(n) {
22
+ function p(n) {
23
23
  return n.substring(0, 1).toUpperCase() + n.substring(1);
24
24
  }
25
25
  const d = (n) => n.toUpperCase();
26
- function nn(n, t = !1) {
27
- return t ? p(h(n), G, d) : p(h(n), Z, d);
26
+ function v(n, t = !1) {
27
+ return t ? h(p(n), H, d) : h(p(n), R, d);
28
28
  }
29
- function tn(n) {
30
- return n.replace(K, `
29
+ function nn(n) {
30
+ return n.replace(Q, `
31
31
  `);
32
32
  }
33
- function rn(n, t) {
33
+ function tn(n, t) {
34
34
  return n == null && t == null ? 0 : n == null ? -1 : t == null ? 1 : y(n.toLowerCase(), t.toLowerCase());
35
35
  }
36
36
  function L(n, t) {
37
37
  return n.substring(0, n.length - t.length) === t;
38
38
  }
39
- function en(n, t) {
39
+ function rn(n, t) {
40
40
  return n.substring(0, n.length - t.length).toLowerCase() === t.toLowerCase();
41
41
  }
42
42
  function W(n, t) {
43
43
  return n.substring(0, t.length) === t;
44
44
  }
45
- function on(n, t) {
45
+ function en(n, t) {
46
46
  return n.substring(0, t.length).toLowerCase() === t.toLowerCase();
47
47
  }
48
- function sn(n, t) {
49
- return E(
48
+ function on(n, t) {
49
+ return z(
50
50
  n.toLowerCase(),
51
51
  t.map((r) => r.toLowerCase())
52
52
  );
53
53
  }
54
54
  function un(n, t) {
55
- return M(
55
+ return N(
56
56
  n.toLowerCase(),
57
57
  t.map((r) => r.toLowerCase())
58
58
  );
59
59
  }
60
- function fn(n) {
60
+ function sn(n) {
61
61
  return n.trim().replace(m, " ");
62
62
  }
63
63
  function y(n, t) {
@@ -69,93 +69,94 @@ function w(n, t) {
69
69
  function a(n, t) {
70
70
  return n.includes(t);
71
71
  }
72
- function cn(n, t) {
72
+ function fn(n, t) {
73
73
  return n.split(t).length - 1;
74
74
  }
75
- function ln(n, t) {
75
+ function cn(n, t) {
76
76
  return l(t, (r) => w(n, r));
77
77
  }
78
- function an(n, t) {
78
+ function ln(n, t) {
79
79
  return l(t, (r) => a(n, r));
80
80
  }
81
- function gn(n, t) {
81
+ function an(n, t) {
82
82
  return C(t, (r) => w(n, r));
83
83
  }
84
- function pn(n, t) {
84
+ function gn(n, t) {
85
85
  return C(t, (r) => a(n, r));
86
86
  }
87
87
  function hn(n) {
88
88
  return n.replace("_", "-");
89
89
  }
90
- function dn(n, t) {
90
+ function pn(n, t) {
91
+ if (n === t) return -1;
91
92
  const r = Math.min(n.length, t.length);
92
93
  for (let e = 0; e < r; e++)
93
94
  if (n.substring(e, e + 1) !== t.substring(e, e + 1)) return e;
94
95
  return r;
95
96
  }
96
- function z(n, t = 20, r = "…") {
97
+ function E(n, t = 20, r = "…") {
97
98
  const e = n.length, i = r.length;
98
99
  return e > t ? t < i ? r.substr(i - t, t) : n.substr(0, t - i) + r : n;
99
100
  }
100
- function bn(n, t = 20, r = "…") {
101
+ function dn(n, t = 20, r = "…") {
101
102
  const e = n.length, i = r.length;
102
103
  if (e > t) {
103
104
  if (t <= i)
104
- return z(n, t, r);
105
- const u = Math.ceil((t - i) / 2), f = Math.floor((t - i) / 2);
106
- return n.substr(0, u) + r + n.substr(e - f, f);
105
+ return E(n, t, r);
106
+ const s = Math.ceil((t - i) / 2), f = Math.floor((t - i) / 2);
107
+ return n.substr(0, s) + r + n.substr(e - f, f);
107
108
  } else return n;
108
109
  }
109
- function E(n, t) {
110
+ function z(n, t) {
110
111
  return l(t, (r) => L(n, r));
111
112
  }
112
- function Cn(n, t) {
113
+ function bn(n, t) {
113
114
  return g(n).filter(t).join("");
114
115
  }
115
- function An(n, t) {
116
- return N(n).filter(t).map((e) => String.fromCharCode(e)).join("");
116
+ function Cn(n, t) {
117
+ return U(n).filter(t).map((e) => String.fromCharCode(e)).join("");
117
118
  }
118
- function Ln(n, t) {
119
+ function An(n, t) {
119
120
  const r = n.indexOf(t);
120
121
  return r < 0 ? "" : n.substring(r);
121
122
  }
122
- function wn(n, t = 2166136261) {
123
+ function Ln(n, t = 2166136261) {
123
124
  let r = t;
124
125
  for (let e = 0, i = n.length; e < i; e++)
125
126
  r ^= n.charCodeAt(e), r += (r << 1) + (r << 4) + (r << 7) + (r << 8) + (r << 24);
126
127
  return r >>> 0;
127
128
  }
128
- function In(n) {
129
+ function wn(n) {
129
130
  return n != null && n.length > 0;
130
131
  }
131
- function mn(n) {
132
+ function In(n) {
132
133
  return c(k(n), "_", " ");
133
134
  }
134
- function Sn(n) {
135
+ function mn(n) {
135
136
  return n.length > 0 && !D.test(n);
136
137
  }
137
138
  function On(n) {
138
- return H.test(n);
139
+ return G.test(n);
139
140
  }
140
- function Wn(n) {
141
- return !R.test(n);
141
+ function Sn(n) {
142
+ return !T.test(n);
142
143
  }
143
- function yn(n) {
144
+ function Wn(n) {
144
145
  return n.toLowerCase() === n;
145
146
  }
146
- function zn(n) {
147
+ function yn(n) {
147
148
  return n.toUpperCase() === n;
148
149
  }
149
150
  function En(n, t) {
150
151
  return n != null && n !== "" ? n : t;
151
152
  }
152
- function Bn(n) {
153
- return Q.test(n);
153
+ function zn(n) {
154
+ return F.test(n);
154
155
  }
155
- function jn(n) {
156
+ function Bn(n) {
156
157
  return n == null || n === "";
157
158
  }
158
- function _n(n) {
159
+ function jn(n) {
159
160
  return n.substring(0, 1).toLowerCase() + n.substring(1);
160
161
  }
161
162
  function B(n, t = 1) {
@@ -167,7 +168,7 @@ function B(n, t = 1) {
167
168
  function j(n, t) {
168
169
  return A(t, () => B(n)).join("");
169
170
  }
170
- function $n(n) {
171
+ function _n(n) {
171
172
  return j(P, n);
172
173
  }
173
174
  function Mn(n, t) {
@@ -176,94 +177,91 @@ function Mn(n, t) {
176
177
  function Nn(n, t) {
177
178
  return c(n, t, "");
178
179
  }
179
- function Tn(n, t) {
180
+ function Un(n, t) {
180
181
  return L(n, t) ? n.substring(0, n.length - t.length) : n;
181
182
  }
182
- function Un(n, t, r) {
183
+ function $n(n, t, r) {
183
184
  return n.substring(0, t) + n.substring(t + r);
184
185
  }
185
- function kn(n, t) {
186
+ function xn(n, t) {
186
187
  return W(n, t) ? n.substring(t.length) : n;
187
188
  }
188
- function xn(n, t) {
189
+ function kn(n, t) {
189
190
  const r = n.indexOf(t);
190
191
  return r < 0 ? n : n.substring(0, r) + n.substring(r + t.length);
191
192
  }
192
193
  function I(n, t) {
193
- return O(t, n).join("");
194
+ return S(t, n).join("");
194
195
  }
195
- function Pn(n) {
196
+ function Zn(n) {
196
197
  const t = g(n);
197
198
  return t.reverse(), t.join("");
198
199
  }
199
200
  function _(n, t = "'") {
200
201
  return t === "'" ? n.includes("'") ? n.includes('"') ? "'" + c(n, "'", "\\'") + "'" : '"' + n + '"' : "'" + n + "'" : n.includes('"') ? n.includes("'") ? '"' + c(n, '"', '\\"') + '"' : "'" + n + "'" : '"' + n + '"';
201
202
  }
202
- function $(n, t = "'") {
203
+ function M(n, t = "'") {
203
204
  return t + c(n, t, "\\" + t) + t;
204
205
  }
205
- function Zn(n, t = "'") {
206
+ function Pn(n, t = "'") {
206
207
  return n.indexOf(`
207
- `) >= 0 ? $(n, "`") : _(n, t);
208
+ `) >= 0 ? M(n, "`") : _(n, t);
208
209
  }
209
210
  function Rn(n, t) {
210
211
  const r = n.indexOf(t);
211
212
  return r < 0 ? [n] : [n.substring(0, r), n.substring(r + t.length)];
212
213
  }
213
- function M(n, t) {
214
+ function N(n, t) {
214
215
  return l(t, (r) => n.startsWith(r));
215
216
  }
216
- function Dn(n) {
217
- return n.replace(F, "");
218
- }
219
- function Gn(n, t, r = t) {
217
+ function Tn(n, t, r = t) {
220
218
  return `${t}${n}${r}`;
221
219
  }
222
220
  function g(n) {
223
221
  return n.split("");
224
222
  }
225
- function N(n) {
223
+ function U(n) {
226
224
  return A(n.length, (t) => n.charCodeAt(t));
227
225
  }
228
- function Hn(n, t) {
226
+ function Dn(n, t) {
229
227
  const r = [];
230
228
  for (; n.length > 0; )
231
229
  r.push(n.substring(0, t)), n = n.substr(t, n.length - t);
232
230
  return r;
233
231
  }
234
- function Qn(n) {
235
- return n.split(S);
232
+ function Hn(n) {
233
+ return n.split(O);
236
234
  }
237
- function Fn(n, t) {
238
- return U(T(n, t), t);
235
+ function Gn(n, t) {
236
+ return x($(n, t), t);
239
237
  }
240
- function T(n, t) {
238
+ function $(n, t) {
241
239
  let r = 0;
242
240
  for (let e = 0; e < n.length && a(t, n.charAt(e)); e++)
243
241
  r++;
244
242
  return n.substring(r);
245
243
  }
246
- function U(n, t) {
244
+ function x(n, t) {
247
245
  const r = n.length;
248
246
  let e = r, i;
249
- for (let u = 0; u < r && (i = r - u - 1, a(t, n.charAt(i))); u++)
247
+ for (let s = 0; s < r && (i = r - s - 1, a(t, n.charAt(i))); s++)
250
248
  e = i;
251
249
  return n.substring(0, e);
252
250
  }
253
251
  function k(n) {
254
252
  return n = n.replace(/::/g, "/"), n = n.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2"), n = n.replace(/([a-z\d])([A-Z])/g, "$1_$2"), n = n.replace(/-/g, "_"), n.toLowerCase();
255
253
  }
256
- function Kn(n) {
254
+ function Fn(n) {
257
255
  return n.substring(0, 1).toUpperCase() + n.substring(1);
258
256
  }
259
- function qn(n, t) {
257
+ function Qn(n, t) {
260
258
  const r = n.indexOf(t);
261
259
  return r < 0 ? n : n.substring(0, r);
262
260
  }
263
- function Jn(n, t = 78, r = "", e = `
261
+ function Kn(n, t = 78, r = "", e = `
264
262
  `) {
265
- return n.split(S).map(
266
- (i) => x(i.replace(m, " ").trim(), t, r, e)
263
+ return n.split(O).map(
264
+ (i) => Z(i.replace(m, " ").trim(), t, r, e)
267
265
  ).join(e);
268
266
  }
269
267
  function b(n, t) {
@@ -271,135 +269,134 @@ function b(n, t) {
271
269
  const r = n.charCodeAt(t);
272
270
  return r === 9 || r === 10 || r === 11 || r === 12 || r === 13 || r === 32;
273
271
  }
274
- function Vn(n) {
272
+ function qn(n) {
275
273
  if (typeof Buffer < "u")
276
274
  return Buffer.from(n).toString("base64");
277
275
  if (typeof btoa < "u")
278
276
  return btoa(n);
279
- throw new Error("no implementation provided for base64 encoding");
277
+ throw new Error("no implementation found for base64 encoding");
280
278
  }
281
- function Xn(n) {
279
+ function Jn(n) {
282
280
  if (typeof Buffer < "u")
283
281
  return Buffer.from(n, "base64").toString("utf8");
284
282
  if (typeof atob < "u")
285
283
  return atob(n);
286
- throw new Error("no implementation provided for base64 decoding");
284
+ throw new Error("no implementation found for base64 decoding");
287
285
  }
288
- function x(n, t, r, e) {
289
- const i = [], u = n.length, f = r.length;
290
- let s = 0;
286
+ function Z(n, t, r, e) {
287
+ const i = [], s = n.length, f = r.length;
288
+ let u = 0;
291
289
  for (t -= f; ; ) {
292
- if (s + t >= u - f) {
293
- i.push(n.substring(s));
290
+ if (u + t >= s - f) {
291
+ i.push(n.substring(u));
294
292
  break;
295
293
  }
296
294
  let o = 0;
297
- for (; !b(n, s + t - o) && o < t; ) o++;
295
+ for (; !b(n, u + t - o) && o < t; ) o++;
298
296
  if (o === t) {
299
- for (o = 0; !b(n, s + t + o) && s + t + o < u; ) o++;
300
- i.push(n.substring(s, s + t + o)), s += t + o + 1;
297
+ for (o = 0; !b(n, u + t + o) && u + t + o < s; ) o++;
298
+ i.push(n.substring(u, u + t + o)), u += t + o + 1;
301
299
  } else
302
- i.push(n.substring(s, s + t - o)), s += t - o + 1;
300
+ i.push(n.substring(u, u + t - o)), u += t - o + 1;
303
301
  }
304
302
  return r + i.join(e + r);
305
303
  }
306
- function Yn(n, t, r) {
304
+ function Vn(n, t, r) {
307
305
  const e = r - n.length;
308
306
  return e > 0 ? I(t, e) + n : n;
309
307
  }
310
- function vn(n, t, r) {
308
+ function Xn(n, t, r) {
311
309
  const e = r - n.length;
312
310
  return e > 0 ? n + I(t, e) : n;
313
311
  }
314
- function nt(n, t) {
312
+ function Yn(n, t) {
315
313
  const r = n.lastIndexOf(t);
316
314
  return r >= 0 ? [n.substring(0, r), n.substring(r + t.length)] : [n];
317
315
  }
318
- function tt(n, t) {
316
+ function vn(n, t) {
319
317
  const r = n.indexOf(t);
320
318
  return r >= 0 ? [n.substring(0, r), n.substring(r + t.length)] : [n];
321
319
  }
322
- const P = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Z = /[^a-zA-Z]([a-z])/g, R = /[^\t\n\r ]/, D = /[^a-zA-Z]/, G = /[ \t\r\n][a-z]/g, H = /^[a-z0-9]+$/i, Q = /^[0-9]+$/, F = /<\/?[a-z]+[^>]*>/gi, m = /[ \t\r\n]+/g, S = /\r\n|\n\r|\n|\r/g, K = /\r\n|\n\r|\r/g;
320
+ const P = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", R = /[^a-zA-Z]([a-z])/g, T = /[^\t\n\r ]/, D = /[^a-zA-Z]/, H = /[ \t\r\n][a-z]/g, G = /^[a-z0-9]+$/i, F = /^[0-9]+$/, m = /[ \t\r\n]+/g, O = /\r\n|\n\r|\n|\r/g, Q = /\r\n|\n\r|\r/g;
323
321
  export {
324
- V as after,
325
- X as afterLast,
326
- Y as before,
327
- v as beforeLast,
328
- tn as canonicalizeNewlines,
329
- h as capitalize,
330
- nn as capitalizeWords,
331
- fn as collapse,
332
- y as compare,
333
- rn as compareCaseInsensitive,
322
+ J as after,
323
+ V as afterLast,
324
+ X as before,
325
+ Y as beforeLast,
326
+ nn as canonicalizeNewlines,
327
+ p as capitalize,
328
+ v as capitalizeWords,
329
+ sn as collapse,
330
+ tn as compareCaseInsensitive,
331
+ y as compareStrings,
334
332
  a as contains,
335
- pn as containsAll,
336
- gn as containsAllCaseInsensitive,
337
- an as containsAny,
338
- ln as containsAnyCaseInsensitive,
333
+ gn as containsAll,
334
+ an as containsAllCaseInsensitive,
335
+ ln as containsAny,
336
+ cn as containsAnyCaseInsensitive,
339
337
  w as containsCaseInsensitive,
340
- cn as count,
338
+ fn as count,
341
339
  hn as dasherize,
342
- Xn as decodeBase64,
343
- dn as diffIndex,
344
- z as ellipsis,
345
- bn as ellipsisMiddle,
346
- Vn as encodeBase64,
340
+ Jn as decodeBase64,
341
+ pn as diffIndex,
342
+ E as ellipsis,
343
+ dn as ellipsisMiddle,
344
+ qn as encodeBase64,
347
345
  L as endsWith,
348
- E as endsWithAny,
349
- sn as endsWithAnyCaseInsensitive,
350
- en as endsWithCaseInsensitive,
351
- Cn as filter,
352
- An as filterCharcode,
353
- Ln as from,
354
- In as hasContent,
355
- wn as hashCode,
356
- mn as humanize,
346
+ z as endsWithAny,
347
+ on as endsWithAnyCaseInsensitive,
348
+ rn as endsWithCaseInsensitive,
349
+ bn as filter,
350
+ Cn as filterCharcode,
351
+ An as from,
352
+ wn as hasContent,
353
+ Ln as hashCode,
354
+ In as humanize,
357
355
  En as ifEmpty,
358
- Sn as isAlpha,
356
+ mn as isAlpha,
359
357
  On as isAlphaNum,
360
- Wn as isBreakingWhitespace,
361
- Bn as isDigitsOnly,
362
- jn as isEmpty,
363
- yn as isLowerCase,
358
+ Sn as isBreakingWhitespace,
359
+ zn as isDigitsOnly,
360
+ Bn as isEmpty,
361
+ Wn as isLowerCase,
364
362
  b as isSpaceAt,
365
- zn as isUpperCase,
366
- Zn as jsQuote,
367
- _n as lowerCaseFirst,
368
- Yn as lpad,
363
+ yn as isUpperCase,
364
+ Pn as jsQuote,
365
+ jn as lowerCaseFirst,
366
+ Vn as lpad,
369
367
  Mn as map,
370
- $ as quote,
368
+ M as quote,
371
369
  B as random,
372
370
  j as randomSequence,
373
- $n as randomSequence64,
371
+ _n as randomSequence64,
374
372
  Nn as remove,
375
- Tn as removeAfter,
376
- Un as removeAt,
377
- kn as removeBefore,
378
- xn as removeOne,
373
+ Un as removeAfter,
374
+ $n as removeAt,
375
+ xn as removeBefore,
376
+ kn as removeOne,
379
377
  I as repeat,
380
378
  c as replace,
381
- Pn as reverse,
382
- vn as rpad,
379
+ Zn as reverse,
380
+ Xn as rpad,
383
381
  _ as smartQuote,
384
- tt as splitOnFirst,
385
- nt as splitOnLast,
382
+ vn as splitOnFirst,
383
+ Yn as splitOnLast,
386
384
  Rn as splitOnce,
387
385
  W as startsWith,
388
- M as startsWithAny,
386
+ N as startsWithAny,
389
387
  un as startsWithAnyCaseInsensitive,
390
- on as startsWithCaseInsensitive,
391
- Dn as stripTags,
392
- Gn as surround,
388
+ en as startsWithCaseInsensitive,
389
+ Tn as surround,
393
390
  g as toArray,
394
- N as toCharcodes,
395
- Hn as toChunks,
396
- Qn as toLines,
397
- Fn as trimChars,
398
- T as trimCharsLeft,
399
- U as trimCharsRight,
391
+ U as toCharcodes,
392
+ Dn as toChunks,
393
+ Hn as toLines,
394
+ Gn as trimChars,
395
+ $ as trimCharsLeft,
396
+ x as trimCharsRight,
400
397
  k as underscore,
401
- qn as upTo,
402
- Kn as upperCaseFirst,
403
- Jn as wrapColumns,
404
- x as wrapLine
398
+ Qn as upTo,
399
+ Fn as upperCaseFirst,
400
+ Kn as wrapColumns,
401
+ Z as wrapLine
405
402
  };
package/validation.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./result.cjs"),t={valid:{type:"valid"},invalid(e){return{type:"invalid",error:e}},isValid(e){return e.type==="valid"},isInvalid(e){return e.type==="invalid"},cmatch:(e,i)=>r=>t.isValid(r)?e():i(r.error),match:(e,i,r)=>t.isValid(e)?i():r(e.error),toResult:e=>t.cmatch(()=>l.Result.success(e),i=>l.Result.failure(i)),whenValid:e=>i=>(t.isValid(i)&&e(),i),whenInvalid:e=>i=>(t.isInvalid(i)&&e(i.error),i)};exports.Validation=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./result-DzdZiQoR.cjs");exports.Validation=i.Validation;
package/validation.d.ts CHANGED
@@ -1,24 +1,92 @@
1
1
  import { Result } from './result';
2
2
 
3
+ /**
4
+ * Represents a valid result.
5
+ * @public
6
+ */
3
7
  export interface Valid {
4
8
  type: 'valid';
5
9
  }
10
+ /**
11
+ * Represents an invalid value with an associated error.
12
+ * @typeParam E - The type of the error.
13
+ * @public
14
+ */
6
15
  export interface Invalid<E> {
7
16
  type: 'invalid';
8
17
  error: E;
9
18
  }
19
+ /**
20
+ * Represents a type that can either be `Valid` or `Invalid`.
21
+ * @typeParam E - The type of the error associated with an `Invalid` value.
22
+ * @public
23
+ */
10
24
  export type Validation<E> = Valid | Invalid<E>;
25
+ /**
26
+ * Represents a promise that resolves to a `Validation` object.
27
+ * @typeParam E - The type of the error value in the `Validation` object.
28
+ * @public
29
+ */
11
30
  export type PromiseValidation<E> = PromiseLike<Validation<E>>;
31
+ /**
32
+ * Utility functions for working with `Validation` types.
33
+ * @public
34
+ */
12
35
  export declare const Validation: {
36
+ /**
37
+ * Creates a valid `Validation`.
38
+ * @returns A `Validation` that is `Valid`.
39
+ */
13
40
  valid: {
14
41
  type: "valid";
15
42
  };
43
+ /**
44
+ * Creates an invalid `Validation`.
45
+ * @param error - The error associated with the invalid value.
46
+ * @returns A `Validation` that is `Invalid`.
47
+ */
16
48
  invalid<E>(error: E): Validation<E>;
49
+ /**
50
+ * Checks if a `Validation` is `Valid`.
51
+ * @param r - The `Validation` to check.
52
+ * @returns `true` if the `Validation` is `Valid`, otherwise `false`.
53
+ */
17
54
  isValid<E>(r: Validation<E>): r is Valid;
55
+ /**
56
+ * Checks if a `Validation` is `Invalid`.
57
+ * @param r - The `Validation` to check.
58
+ * @returns `true` if the `Validation` is `Invalid`, otherwise `false`.
59
+ */
18
60
  isInvalid<E>(r: Validation<E>): r is Invalid<E>;
19
- cmatch: <V, E>(valid: () => V, invalid: (error: E) => V) => (r: Validation<E>) => V;
61
+ /**
62
+ * Maps the value of a `Validation` to a new value.
63
+ * @param r - The `Validation` to map.
64
+ * @param valid - The mapping function for a valid value.
65
+ * @param invalid - The mapping function for an invalid value.
66
+ * @returns The mapped value.
67
+ */
20
68
  match: <V, E>(r: Validation<E>, valid: () => V, invalid: (error: E) => V) => V;
21
- toResult: <T, E>(value: T) => ((validation: Validation<E>) => Result<T, E>);
22
- whenValid: <E>(apply: () => void) => (r: Validation<E>) => Validation<E>;
23
- whenInvalid: <E>(apply: (e: E) => void) => (r: Validation<E>) => Validation<E>;
69
+ /**
70
+ * Maps the value of a `Validation` to a new `Validation`.
71
+ * @param validation - The `Validation` to map.
72
+ * @param value - The value to map.
73
+ * @returns A new `Validation` with the mapped value.
74
+ */
75
+ toResult: <T, E>(validation: Validation<E>, value: T) => Result<T, E>;
76
+ /**
77
+ * Execute a function when the `Validation` is valid.
78
+ *
79
+ * @param r - The `Validation` to check.
80
+ * @param apply - The function to execute when the `Validation` is valid.
81
+ * @returns The `Validation` object.
82
+ */
83
+ whenValid: <E>(r: Validation<E>, apply: () => void) => Validation<E>;
84
+ /**
85
+ * Execute a function when the `Validation` is invalid.
86
+ *
87
+ * @param r - The `Validation` to check.
88
+ * @param apply - The function to execute when the `Validation` is invalid.
89
+ * @returns The `Validation` object.
90
+ */
91
+ whenInvalid: <E>(r: Validation<E>, apply: (e: E) => void) => Validation<E>;
24
92
  };
package/validation.js CHANGED
@@ -1,25 +1,4 @@
1
- import { Result as a } from "./result.js";
2
- const r = {
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- valid: { type: "valid" },
5
- invalid(i) {
6
- return { type: "invalid", error: i };
7
- },
8
- isValid(i) {
9
- return i.type === "valid";
10
- },
11
- isInvalid(i) {
12
- return i.type === "invalid";
13
- },
14
- cmatch: (i, e) => (t) => r.isValid(t) ? i() : e(t.error),
15
- match: (i, e, t) => r.isValid(i) ? e() : t(i.error),
16
- toResult: (i) => r.cmatch(
17
- () => a.success(i),
18
- (e) => a.failure(e)
19
- ),
20
- whenValid: (i) => (e) => (r.isValid(e) && i(), e),
21
- whenInvalid: (i) => (e) => (r.isInvalid(e) && i(e.error), e)
22
- };
1
+ import { V as i } from "./result-Czm7RKNP.js";
23
2
  export {
24
- r as Validation
3
+ i as Validation
25
4
  };
package/maybe.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={nothing:void 0,just:t=>t,isNothing:t=>t==null,isJust:t=>t!=null};exports.Maybe=e;