guarden 1.0.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/LICENSE +21 -0
- package/README.md +370 -0
- package/dist/cjs/assert/assertions.js +82 -0
- package/dist/cjs/assert/assertions.js.map +1 -0
- package/dist/cjs/assert/index.js +13 -0
- package/dist/cjs/assert/index.js.map +1 -0
- package/dist/cjs/assert/invariant.js +43 -0
- package/dist/cjs/assert/invariant.js.map +1 -0
- package/dist/cjs/env/index.js +11 -0
- package/dist/cjs/env/index.js.map +1 -0
- package/dist/cjs/env/schema.js +313 -0
- package/dist/cjs/env/schema.js.map +1 -0
- package/dist/cjs/guards/advanced.js +190 -0
- package/dist/cjs/guards/advanced.js.map +1 -0
- package/dist/cjs/guards/combinators.js +195 -0
- package/dist/cjs/guards/combinators.js.map +1 -0
- package/dist/cjs/guards/index.js +68 -0
- package/dist/cjs/guards/index.js.map +1 -0
- package/dist/cjs/guards/primitives.js +123 -0
- package/dist/cjs/guards/primitives.js.map +1 -0
- package/dist/cjs/guards/structures.js +113 -0
- package/dist/cjs/guards/structures.js.map +1 -0
- package/dist/cjs/index.js +135 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/result/async.js +132 -0
- package/dist/cjs/result/async.js.map +1 -0
- package/dist/cjs/result/index.js +15 -0
- package/dist/cjs/result/index.js.map +1 -0
- package/dist/cjs/result/option.js +175 -0
- package/dist/cjs/result/option.js.map +1 -0
- package/dist/cjs/result/result.js +208 -0
- package/dist/cjs/result/result.js.map +1 -0
- package/dist/cjs/transform/coerce.js +151 -0
- package/dist/cjs/transform/coerce.js.map +1 -0
- package/dist/cjs/transform/index.js +36 -0
- package/dist/cjs/transform/index.js.map +1 -0
- package/dist/cjs/transform/pipe.js +18 -0
- package/dist/cjs/transform/pipe.js.map +1 -0
- package/dist/cjs/transform/sanitize.js +218 -0
- package/dist/cjs/transform/sanitize.js.map +1 -0
- package/dist/cjs/utils/errors.js +94 -0
- package/dist/cjs/utils/errors.js.map +1 -0
- package/dist/cjs/utils/types.js +6 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/assert/assertions.js +75 -0
- package/dist/esm/assert/assertions.js.map +1 -0
- package/dist/esm/assert/index.js +3 -0
- package/dist/esm/assert/index.js.map +1 -0
- package/dist/esm/assert/invariant.js +39 -0
- package/dist/esm/assert/invariant.js.map +1 -0
- package/dist/esm/env/index.js +2 -0
- package/dist/esm/env/index.js.map +1 -0
- package/dist/esm/env/schema.js +304 -0
- package/dist/esm/env/schema.js.map +1 -0
- package/dist/esm/guards/advanced.js +170 -0
- package/dist/esm/guards/advanced.js.map +1 -0
- package/dist/esm/guards/combinators.js +182 -0
- package/dist/esm/guards/combinators.js.map +1 -0
- package/dist/esm/guards/index.js +8 -0
- package/dist/esm/guards/index.js.map +1 -0
- package/dist/esm/guards/primitives.js +108 -0
- package/dist/esm/guards/primitives.js.map +1 -0
- package/dist/esm/guards/structures.js +97 -0
- package/dist/esm/guards/structures.js.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/result/async.js +127 -0
- package/dist/esm/result/async.js.map +1 -0
- package/dist/esm/result/index.js +4 -0
- package/dist/esm/result/index.js.map +1 -0
- package/dist/esm/result/option.js +170 -0
- package/dist/esm/result/option.js.map +1 -0
- package/dist/esm/result/result.js +203 -0
- package/dist/esm/result/result.js.map +1 -0
- package/dist/esm/transform/coerce.js +143 -0
- package/dist/esm/transform/coerce.js.map +1 -0
- package/dist/esm/transform/index.js +4 -0
- package/dist/esm/transform/index.js.map +1 -0
- package/dist/esm/transform/pipe.js +14 -0
- package/dist/esm/transform/pipe.js.map +1 -0
- package/dist/esm/transform/sanitize.js +195 -0
- package/dist/esm/transform/sanitize.js.map +1 -0
- package/dist/esm/utils/errors.js +84 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/types.js +5 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/types/assert/assertions.d.ts +52 -0
- package/dist/types/assert/assertions.d.ts.map +1 -0
- package/dist/types/assert/index.d.ts +3 -0
- package/dist/types/assert/index.d.ts.map +1 -0
- package/dist/types/assert/invariant.d.ts +29 -0
- package/dist/types/assert/invariant.d.ts.map +1 -0
- package/dist/types/env/index.d.ts +2 -0
- package/dist/types/env/index.d.ts.map +1 -0
- package/dist/types/env/schema.d.ts +131 -0
- package/dist/types/env/schema.d.ts.map +1 -0
- package/dist/types/guards/advanced.d.ts +101 -0
- package/dist/types/guards/advanced.d.ts.map +1 -0
- package/dist/types/guards/combinators.d.ts +120 -0
- package/dist/types/guards/combinators.d.ts.map +1 -0
- package/dist/types/guards/index.d.ts +5 -0
- package/dist/types/guards/index.d.ts.map +1 -0
- package/dist/types/guards/primitives.d.ts +75 -0
- package/dist/types/guards/primitives.d.ts.map +1 -0
- package/dist/types/guards/structures.d.ts +58 -0
- package/dist/types/guards/structures.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/result/async.d.ts +72 -0
- package/dist/types/result/async.d.ts.map +1 -0
- package/dist/types/result/index.d.ts +4 -0
- package/dist/types/result/index.d.ts.map +1 -0
- package/dist/types/result/option.d.ts +106 -0
- package/dist/types/result/option.d.ts.map +1 -0
- package/dist/types/result/result.d.ts +126 -0
- package/dist/types/result/result.d.ts.map +1 -0
- package/dist/types/transform/coerce.d.ts +73 -0
- package/dist/types/transform/coerce.d.ts.map +1 -0
- package/dist/types/transform/index.d.ts +4 -0
- package/dist/types/transform/index.d.ts.map +1 -0
- package/dist/types/transform/pipe.d.ts +44 -0
- package/dist/types/transform/pipe.d.ts.map +1 -0
- package/dist/types/transform/sanitize.d.ts +108 -0
- package/dist/types/transform/sanitize.d.ts.map +1 -0
- package/dist/types/utils/errors.d.ts +51 -0
- package/dist/types/utils/errors.d.ts.map +1 -0
- package/dist/types/utils/types.d.ts +29 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/package.json +144 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../../src/guards/advanced.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQ5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAG1D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AAID;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EACzC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAEtB;AAID;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EAClD,MAAM,EAAE,CAAC,GACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAGlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGtD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GACzC,KAAK,CAAC,CAAC,CAAC,CAEV"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { Guard, GuardType, ShapeGuardType } from '../utils/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Combine two guards with AND logic (intersection).
|
|
4
|
+
* Value must satisfy both guards.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const isPositiveInteger = and(isInteger, isPositiveNumber);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function and<A, B>(guardA: Guard<A>, guardB: Guard<B>): Guard<A & B>;
|
|
12
|
+
/**
|
|
13
|
+
* Combine two guards with OR logic (union).
|
|
14
|
+
* Value must satisfy at least one guard.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const isStringOrNumber = or(isString, isNumber);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function or<A, B>(guardA: Guard<A>, guardB: Guard<B>): Guard<A | B>;
|
|
22
|
+
/**
|
|
23
|
+
* Negate a guard.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const isNotNull = not(isNull);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function not<T>(guard: Guard<T>): (value: unknown) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Create a guard that validates an object shape.
|
|
33
|
+
* Each property is validated by its corresponding guard.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const isUser = shape({
|
|
38
|
+
* name: isString,
|
|
39
|
+
* age: isNumber,
|
|
40
|
+
* email: isEmail,
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* if (isUser(data)) {
|
|
44
|
+
* data.name; // string
|
|
45
|
+
* data.age; // number
|
|
46
|
+
* data.email; // string
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function shape<T extends Record<string, Guard<unknown>>>(schema: T): Guard<ShapeGuardType<T>>;
|
|
51
|
+
/**
|
|
52
|
+
* Create a guard that validates a tuple.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* const isCoord = tuple(isNumber, isNumber);
|
|
57
|
+
* if (isCoord(data)) {
|
|
58
|
+
* const [x, y] = data; // [number, number]
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function tuple<T extends Guard<unknown>[]>(...guards: T): Guard<{
|
|
63
|
+
[K in keyof T]: GuardType<T[K]>;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Create a guard that validates each element of an array.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* const isStringArray = arrayOf(isString);
|
|
71
|
+
* if (isStringArray(data)) {
|
|
72
|
+
* data.forEach(s => s.toUpperCase()); // string[]
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function arrayOf<T>(guard: Guard<T>): Guard<T[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Create a guard that validates Map entries.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* const isStringNumberMap = mapOf(isString, isNumber);
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function mapOf<K, V>(keyGuard: Guard<K>, valueGuard: Guard<V>): Guard<Map<K, V>>;
|
|
86
|
+
/**
|
|
87
|
+
* Create a guard that validates Record (object) entries.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const isScoreBoard = recordOf(isString, isNumber);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare function recordOf<V>(valueGuard: Guard<V>): Guard<Record<string, V>>;
|
|
95
|
+
/**
|
|
96
|
+
* Create a guard with a custom refinement predicate.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```ts
|
|
100
|
+
* const isEvenNumber = refine(isNumber, (n) => n % 2 === 0);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function refine<T>(guard: Guard<T>, predicate: (value: T) => boolean): Guard<T>;
|
|
104
|
+
/**
|
|
105
|
+
* Create an optional guard — allows undefined in addition to the guarded type.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* const isOptionalString = optional(isString);
|
|
110
|
+
* isOptionalString(undefined) // true
|
|
111
|
+
* isOptionalString("hello") // true
|
|
112
|
+
* isOptionalString(42) // false
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare function optional<T>(guard: Guard<T>): Guard<T | undefined>;
|
|
116
|
+
/**
|
|
117
|
+
* Create a nullable guard — allows null in addition to the guarded type.
|
|
118
|
+
*/
|
|
119
|
+
export declare function nullable<T>(guard: Guard<T>): Guard<T | null>;
|
|
120
|
+
//# sourceMappingURL=combinators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../src/guards/combinators.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1E;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GACf,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAEd;AAED;;;;;;;;GAQG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EACrB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GACf,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAEd;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAEnE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAC5D,MAAM,EAAE,CAAC,GACR,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAU1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,EAC9C,GAAG,MAAM,EAAE,CAAC,GACX,KAAK,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAM5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAKtD;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAClB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GACnB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAQlB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAU1B;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC/B,KAAK,CAAC,CAAC,CAAC,CAEV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAGjE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAG5D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { isString, isNumber, isNumberIncludingNaN, isFiniteNumber, isBoolean, isBigInt, isSymbol, isNull, isUndefined, isNullish, isNonNullish, isFunction, isPrimitive, } from './primitives.js';
|
|
2
|
+
export { isArray, isObject, isPlainObject, isMap, isSet, isWeakMap, isWeakSet, isDate, isValidDate, isRegExp, isError, isPromise, isArrayBuffer, isTypedArray, } from './structures.js';
|
|
3
|
+
export { isNonEmptyString, isEmail, isURL, isUUID, isISO8601, isJSONString, isHexColor, isPositiveNumber, isNegativeNumber, isInteger, isSafeInteger, isNonEmptyArray, isInRange, isOneOf, isMatch, isMinLength, isMaxLength, isInstanceOf, } from './advanced.js';
|
|
4
|
+
export { and, or, not, shape, tuple, arrayOf, mapOf, recordOf, refine, optional, nullable, } from './combinators.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/guards/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,GAAG,EACH,EAAE,EACF,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if a value is a string.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* const val: unknown = "hello";
|
|
7
|
+
* if (isString(val)) {
|
|
8
|
+
* val.toUpperCase(); // TypeScript knows val is string
|
|
9
|
+
* }
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function isString(value: unknown): value is string;
|
|
13
|
+
/**
|
|
14
|
+
* Check if a value is a number (excludes NaN by default).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* isNumber(42) // true
|
|
19
|
+
* isNumber(NaN) // false
|
|
20
|
+
* isNumber("42") // false
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function isNumber(value: unknown): value is number;
|
|
24
|
+
/**
|
|
25
|
+
* Check if a value is a number, including NaN.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isNumberIncludingNaN(value: unknown): value is number;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a value is a finite number (excludes NaN and Infinity).
|
|
30
|
+
*/
|
|
31
|
+
export declare function isFiniteNumber(value: unknown): value is number;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a value is a boolean.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a value is a bigint.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isBigInt(value: unknown): value is bigint;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a value is a symbol.
|
|
42
|
+
*/
|
|
43
|
+
export declare function isSymbol(value: unknown): value is symbol;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a value is null.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isNull(value: unknown): value is null;
|
|
48
|
+
/**
|
|
49
|
+
* Check if a value is undefined.
|
|
50
|
+
*/
|
|
51
|
+
export declare function isUndefined(value: unknown): value is undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a value is null or undefined.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* if (!isNullish(val)) {
|
|
58
|
+
* // val is narrowed to exclude null | undefined
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function isNullish(value: unknown): value is null | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Check if a value is NOT null and NOT undefined.
|
|
65
|
+
*/
|
|
66
|
+
export declare function isNonNullish<T>(value: T): value is NonNullable<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Check if a value is a function.
|
|
69
|
+
*/
|
|
70
|
+
export declare function isFunction(value: unknown): value is Function;
|
|
71
|
+
/**
|
|
72
|
+
* Check if a value is a primitive type.
|
|
73
|
+
*/
|
|
74
|
+
export declare function isPrimitive(value: unknown): value is string | number | boolean | bigint | symbol | null | undefined;
|
|
75
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/guards/primitives.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAEjE;AAED;;GAEG;AAEH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAIzE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if a value is an array.
|
|
3
|
+
*/
|
|
4
|
+
export declare function isArray(value: unknown): value is unknown[];
|
|
5
|
+
/**
|
|
6
|
+
* Check if a value is an object (excludes null and arrays).
|
|
7
|
+
*/
|
|
8
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Check if a value is a plain object (created by `{}` or `Object.create(null)`).
|
|
11
|
+
* Excludes class instances, arrays, and other special objects.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Check if a value is a Map.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isMap(value: unknown): value is Map<unknown, unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a value is a Set.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isSet(value: unknown): value is Set<unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Check if a value is a WeakMap.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isWeakMap(value: unknown): value is WeakMap<object, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a value is a WeakSet.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isWeakSet(value: unknown): value is WeakSet<object>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a value is a Date instance.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isDate(value: unknown): value is Date;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a value is a valid Date (not Invalid Date).
|
|
36
|
+
*/
|
|
37
|
+
export declare function isValidDate(value: unknown): value is Date;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a value is a RegExp.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isRegExp(value: unknown): value is RegExp;
|
|
42
|
+
/**
|
|
43
|
+
* Check if a value is an Error instance.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isError(value: unknown): value is Error;
|
|
46
|
+
/**
|
|
47
|
+
* Check if a value is a Promise.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isPromise(value: unknown): value is Promise<unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* Check if a value is an ArrayBuffer.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
|
|
54
|
+
/**
|
|
55
|
+
* Check if a value is a typed array (Uint8Array, Float32Array, etc.).
|
|
56
|
+
*/
|
|
57
|
+
export declare function isTypedArray(value: unknown): value is Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
|
|
58
|
+
//# sourceMappingURL=structures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structures.d.ts","sourceRoot":"","sources":["../../../src/guards/structures.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI9E;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAE3D;AAED;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAQnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,GACb,KAAK,IACJ,SAAS,GACT,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,YAAY,GACZ,YAAY,CAEf"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { isString, isNumber, isNumberIncludingNaN, isFiniteNumber, isBoolean, isBigInt, isSymbol, isNull, isUndefined, isNullish, isNonNullish, isFunction, isPrimitive, isArray, isObject, isPlainObject, isMap, isSet, isWeakMap, isWeakSet, isDate, isValidDate, isRegExp, isError, isPromise, isArrayBuffer, isTypedArray, isNonEmptyString, isEmail, isURL, isUUID, isISO8601, isJSONString, isHexColor, isPositiveNumber, isNegativeNumber, isInteger, isSafeInteger, isNonEmptyArray, isInRange, isOneOf, isMatch, isMinLength, isMaxLength, isInstanceOf, and, or, not, shape, tuple, arrayOf, mapOf, recordOf, refine, optional, nullable, } from './guards/index.js';
|
|
2
|
+
export { assert, assertDefined, assertNonNull, assertType, assertTruthy, invariant, unreachable, } from './assert/index.js';
|
|
3
|
+
export { Ok, Err, ResultUtils, type Result, Some, None, OptionUtils, type Option, ResultAsync, OptionAsync, } from './result/index.js';
|
|
4
|
+
export { pipe, flow, toNumber, toString, toBoolean, toDate, toArray, toInteger, trim, trimStart, trimEnd, lowercase, uppercase, capitalize, titleCase, camelCase, kebabCase, snakeCase, stripHtml, escapeHtml, unescapeHtml, truncate, slugify, removeWhitespace, collapseWhitespace, padStart, padEnd, reverse, countOccurrences, } from './transform/index.js';
|
|
5
|
+
export { createEnv, envString, envNumber, envBoolean, envEnum, EnvField, } from './env/index.js';
|
|
6
|
+
export { GuardenError, AssertionError, InvariantError, CoercionError, EnvValidationError, EnvConfigError, UnreachableError, } from './utils/errors.js';
|
|
7
|
+
export type { Guard, GuardType, Nullish, NonNullish, Primitive, PlainObject, AnyFunction, Brand, } from './utils/types.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,aAAa,EACb,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,EACZ,GAAG,EACH,EAAE,EACF,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,EAAE,EACF,GAAG,EACH,WAAW,EACX,KAAK,MAAM,EACX,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,MAAM,EACX,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,KAAK,EACL,SAAS,EACT,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,GACN,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type Result } from './result.js';
|
|
2
|
+
import { type Option } from './option.js';
|
|
3
|
+
/**
|
|
4
|
+
* A Result wrapped in a Promise, with chainable async operations.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const result = ResultAsync.from(fetch('/api/user'))
|
|
9
|
+
* .map(res => res.json())
|
|
10
|
+
* .mapErr(err => new ApiError(err.message));
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare class ResultAsync<T, E> {
|
|
14
|
+
private readonly promise;
|
|
15
|
+
constructor(promise: Promise<Result<T, E>>);
|
|
16
|
+
/**
|
|
17
|
+
* Create from a Promise that may reject.
|
|
18
|
+
*/
|
|
19
|
+
static from<T>(promise: Promise<T>): ResultAsync<T, Error>;
|
|
20
|
+
/**
|
|
21
|
+
* Create from a Result.
|
|
22
|
+
*/
|
|
23
|
+
static fromResult<T, E>(result: Result<T, E>): ResultAsync<T, E>;
|
|
24
|
+
/**
|
|
25
|
+
* Create an Ok ResultAsync.
|
|
26
|
+
*/
|
|
27
|
+
static ok<T>(value: T): ResultAsync<T, never>;
|
|
28
|
+
/**
|
|
29
|
+
* Create an Err ResultAsync.
|
|
30
|
+
*/
|
|
31
|
+
static err<E>(error: E): ResultAsync<never, E>;
|
|
32
|
+
/** Transform the success value. */
|
|
33
|
+
map<U>(fn: (value: T) => U): ResultAsync<U, E>;
|
|
34
|
+
/** Transform the error value. */
|
|
35
|
+
mapErr<F>(fn: (error: E) => F): ResultAsync<T, F>;
|
|
36
|
+
/** Chain async operations. */
|
|
37
|
+
andThen<U>(fn: (value: T) => ResultAsync<U, E>): ResultAsync<U, E>;
|
|
38
|
+
/** Extract the underlying Promise<Result>. */
|
|
39
|
+
toPromise(): Promise<Result<T, E>>;
|
|
40
|
+
/** Unwrap or throw. */
|
|
41
|
+
unwrap(): Promise<T>;
|
|
42
|
+
/** Unwrap or return default. */
|
|
43
|
+
unwrapOr(defaultValue: T): Promise<T>;
|
|
44
|
+
/** Pattern match on the resolved Result. */
|
|
45
|
+
match<U>(handlers: {
|
|
46
|
+
ok: (value: T) => U;
|
|
47
|
+
err: (error: E) => U;
|
|
48
|
+
}): Promise<U>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* An Option wrapped in a Promise.
|
|
52
|
+
*/
|
|
53
|
+
export declare class OptionAsync<T> {
|
|
54
|
+
private readonly promise;
|
|
55
|
+
constructor(promise: Promise<Option<T>>);
|
|
56
|
+
/**
|
|
57
|
+
* Create from a Promise that resolves to a nullable value.
|
|
58
|
+
*/
|
|
59
|
+
static from<T>(promise: Promise<T | null | undefined>): OptionAsync<T>;
|
|
60
|
+
static some<T>(value: T): OptionAsync<T>;
|
|
61
|
+
static none<T = never>(): OptionAsync<T>;
|
|
62
|
+
map<U>(fn: (value: T) => U): OptionAsync<U>;
|
|
63
|
+
andThen<U>(fn: (value: T) => OptionAsync<U>): OptionAsync<U>;
|
|
64
|
+
toPromise(): Promise<Option<T>>;
|
|
65
|
+
unwrap(): Promise<T>;
|
|
66
|
+
unwrapOr(defaultValue: T): Promise<T>;
|
|
67
|
+
match<U>(handlers: {
|
|
68
|
+
some: (value: T) => U;
|
|
69
|
+
none: () => U;
|
|
70
|
+
}): Promise<U>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=async.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/result/async.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/result/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a value that may or may not exist.
|
|
3
|
+
* Eliminates null/undefined bugs by making optionality explicit.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* const user = Option.from(getUserById(id));
|
|
8
|
+
* const name = user.map(u => u.name).unwrapOr('Anonymous');
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export type Option<T> = SomeOption<T> | NoneOption<T>;
|
|
12
|
+
declare class SomeOption<T> {
|
|
13
|
+
readonly value: T;
|
|
14
|
+
readonly _tag: "Some";
|
|
15
|
+
constructor(value: T);
|
|
16
|
+
isSome(): this is SomeOption<T>;
|
|
17
|
+
isNone(): this is NoneOption<T>;
|
|
18
|
+
/** Transform the contained value. */
|
|
19
|
+
map<U>(fn: (value: T) => U): Option<U>;
|
|
20
|
+
/** Chain operations that return an Option (flatMap). */
|
|
21
|
+
andThen<U>(fn: (value: T) => Option<U>): Option<U>;
|
|
22
|
+
/** Return this Option if Some, otherwise return the other. */
|
|
23
|
+
orElse(_fn: () => Option<T>): Option<T>;
|
|
24
|
+
/** Get the value, or throw if None. */
|
|
25
|
+
unwrap(): T;
|
|
26
|
+
/** Get the value, or return a default. */
|
|
27
|
+
unwrapOr(_defaultValue: T): T;
|
|
28
|
+
/** Get the value, or compute a default. */
|
|
29
|
+
unwrapOrElse(_fn: () => T): T;
|
|
30
|
+
/** Pattern match on the Option. */
|
|
31
|
+
match<U>(handlers: {
|
|
32
|
+
some: (value: T) => U;
|
|
33
|
+
none: () => U;
|
|
34
|
+
}): U;
|
|
35
|
+
/** Filter: return None if the predicate fails. */
|
|
36
|
+
filter(predicate: (value: T) => boolean): Option<T>;
|
|
37
|
+
/** Apply a side-effect function if Some. */
|
|
38
|
+
tap(fn: (value: T) => void): Option<T>;
|
|
39
|
+
/** Zip with another Option. */
|
|
40
|
+
zip<U>(other: Option<U>): Option<[T, U]>;
|
|
41
|
+
toJSON(): {
|
|
42
|
+
tag: 'Some';
|
|
43
|
+
value: T;
|
|
44
|
+
};
|
|
45
|
+
toString(): string;
|
|
46
|
+
}
|
|
47
|
+
declare class NoneOption<T> {
|
|
48
|
+
readonly _tag: "None";
|
|
49
|
+
isSome(): this is SomeOption<T>;
|
|
50
|
+
isNone(): this is NoneOption<T>;
|
|
51
|
+
map<U>(_fn: (value: T) => U): Option<U>;
|
|
52
|
+
andThen<U>(_fn: (value: T) => Option<U>): Option<U>;
|
|
53
|
+
orElse(fn: () => Option<T>): Option<T>;
|
|
54
|
+
unwrap(): T;
|
|
55
|
+
unwrapOr(defaultValue: T): T;
|
|
56
|
+
unwrapOrElse(fn: () => T): T;
|
|
57
|
+
match<U>(handlers: {
|
|
58
|
+
some: (value: T) => U;
|
|
59
|
+
none: () => U;
|
|
60
|
+
}): U;
|
|
61
|
+
filter(_predicate: (value: T) => boolean): Option<T>;
|
|
62
|
+
tap(_fn: (value: T) => void): Option<T>;
|
|
63
|
+
zip<U>(_other: Option<U>): Option<[T, U]>;
|
|
64
|
+
toJSON(): {
|
|
65
|
+
tag: 'None';
|
|
66
|
+
};
|
|
67
|
+
toString(): string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create an Option containing a value.
|
|
71
|
+
*/
|
|
72
|
+
export declare function Some<T>(value: T): Option<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Create an empty Option.
|
|
75
|
+
*/
|
|
76
|
+
export declare function None<T = never>(): Option<T>;
|
|
77
|
+
export declare const OptionUtils: {
|
|
78
|
+
/**
|
|
79
|
+
* Create an Option from a nullable value.
|
|
80
|
+
* null | undefined → None, everything else → Some.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* Option.from(null) // None
|
|
85
|
+
* Option.from(undefined) // None
|
|
86
|
+
* Option.from(42) // Some(42)
|
|
87
|
+
* Option.from('') // Some('') (empty string is still Some)
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
from<T>(value: T | null | undefined): Option<T>;
|
|
91
|
+
/**
|
|
92
|
+
* Create an Option from a predicate check.
|
|
93
|
+
*/
|
|
94
|
+
fromPredicate<T>(value: T, predicate: (v: T) => boolean): Option<T>;
|
|
95
|
+
/**
|
|
96
|
+
* Check if a value is an Option.
|
|
97
|
+
*/
|
|
98
|
+
isOption<T>(value: unknown): value is Option<T>;
|
|
99
|
+
/**
|
|
100
|
+
* Collect an array of Options into an Option of array.
|
|
101
|
+
* Returns None if any Option is None.
|
|
102
|
+
*/
|
|
103
|
+
all<T>(options: Option<T>[]): Option<T[]>;
|
|
104
|
+
};
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=option.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/result/option.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the result of an operation that can succeed (`Ok`) or fail (`Err`).
|
|
3
|
+
* Inspired by Rust's Result type — makes errors explicit in the type system.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* function divide(a: number, b: number): Result<number, string> {
|
|
8
|
+
* if (b === 0) return Err('Division by zero');
|
|
9
|
+
* return Ok(a / b);
|
|
10
|
+
* }
|
|
11
|
+
*
|
|
12
|
+
* const result = divide(10, 2);
|
|
13
|
+
* result.match({
|
|
14
|
+
* ok: (value) => console.log(`Result: ${value}`),
|
|
15
|
+
* err: (error) => console.error(`Error: ${error}`),
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export type Result<T, E> = OkResult<T, E> | ErrResult<T, E>;
|
|
20
|
+
declare class OkResult<T, E> {
|
|
21
|
+
readonly value: T;
|
|
22
|
+
readonly _tag: "Ok";
|
|
23
|
+
constructor(value: T);
|
|
24
|
+
isOk(): this is OkResult<T, E>;
|
|
25
|
+
isErr(): this is ErrResult<T, E>;
|
|
26
|
+
/** Transform the success value. */
|
|
27
|
+
map<U>(fn: (value: T) => U): Result<U, E>;
|
|
28
|
+
/** Transform the error value (no-op for Ok). */
|
|
29
|
+
mapErr<F>(_fn: (error: E) => F): Result<T, F>;
|
|
30
|
+
/** Chain operations that return a Result (flatMap). */
|
|
31
|
+
andThen<U>(fn: (value: T) => Result<U, E>): Result<U, E>;
|
|
32
|
+
/** Return this Result if Ok, otherwise return the other. */
|
|
33
|
+
orElse<F>(_fn: (error: E) => Result<T, F>): Result<T, F>;
|
|
34
|
+
/** Get the value, or throw if Err. */
|
|
35
|
+
unwrap(): T;
|
|
36
|
+
/** Get the value, or return a default. */
|
|
37
|
+
unwrapOr(_defaultValue: T): T;
|
|
38
|
+
/** Get the value, or compute a default from the error. */
|
|
39
|
+
unwrapOrElse(_fn: (error: E) => T): T;
|
|
40
|
+
/** Get the error, or throw if Ok. */
|
|
41
|
+
unwrapErr(): E;
|
|
42
|
+
/** Pattern match on the Result. */
|
|
43
|
+
match<U>(handlers: {
|
|
44
|
+
ok: (value: T) => U;
|
|
45
|
+
err: (error: E) => U;
|
|
46
|
+
}): U;
|
|
47
|
+
/** Convert to an Option, discarding the error. */
|
|
48
|
+
ok(): T | undefined;
|
|
49
|
+
/** Convert to an Option of the error (returns undefined for Ok). */
|
|
50
|
+
err(): E | undefined;
|
|
51
|
+
/** Apply a function to the value if Ok, used for side effects. */
|
|
52
|
+
tap(fn: (value: T) => void): Result<T, E>;
|
|
53
|
+
/** Apply a function to the error if Err (no-op for Ok). */
|
|
54
|
+
tapErr(_fn: (error: E) => void): Result<T, E>;
|
|
55
|
+
/** Convert to a JSON-friendly representation. */
|
|
56
|
+
toJSON(): {
|
|
57
|
+
tag: 'Ok';
|
|
58
|
+
value: T;
|
|
59
|
+
};
|
|
60
|
+
toString(): string;
|
|
61
|
+
}
|
|
62
|
+
declare class ErrResult<T, E> {
|
|
63
|
+
readonly error: E;
|
|
64
|
+
readonly _tag: "Err";
|
|
65
|
+
constructor(error: E);
|
|
66
|
+
isOk(): this is OkResult<T, E>;
|
|
67
|
+
isErr(): this is ErrResult<T, E>;
|
|
68
|
+
map<U>(_fn: (value: T) => U): Result<U, E>;
|
|
69
|
+
mapErr<F>(fn: (error: E) => F): Result<T, F>;
|
|
70
|
+
andThen<U>(_fn: (value: T) => Result<U, E>): Result<U, E>;
|
|
71
|
+
orElse<F>(fn: (error: E) => Result<T, F>): Result<T, F>;
|
|
72
|
+
unwrap(): T;
|
|
73
|
+
unwrapOr(defaultValue: T): T;
|
|
74
|
+
unwrapOrElse(fn: (error: E) => T): T;
|
|
75
|
+
unwrapErr(): E;
|
|
76
|
+
match<U>(handlers: {
|
|
77
|
+
ok: (value: T) => U;
|
|
78
|
+
err: (error: E) => U;
|
|
79
|
+
}): U;
|
|
80
|
+
ok(): T | undefined;
|
|
81
|
+
err(): E | undefined;
|
|
82
|
+
tap(_fn: (value: T) => void): Result<T, E>;
|
|
83
|
+
tapErr(fn: (error: E) => void): Result<T, E>;
|
|
84
|
+
toJSON(): {
|
|
85
|
+
tag: 'Err';
|
|
86
|
+
error: E;
|
|
87
|
+
};
|
|
88
|
+
toString(): string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create a successful Result.
|
|
92
|
+
*/
|
|
93
|
+
export declare function Ok<T>(value: T): Result<T, never>;
|
|
94
|
+
/**
|
|
95
|
+
* Create a failed Result.
|
|
96
|
+
*/
|
|
97
|
+
export declare function Err<E>(error: E): Result<never, E>;
|
|
98
|
+
/**
|
|
99
|
+
* Result namespace with static utility methods.
|
|
100
|
+
*/
|
|
101
|
+
export declare const ResultUtils: {
|
|
102
|
+
/**
|
|
103
|
+
* Wrap a function that may throw into a Result.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const result = Result.from(() => JSON.parse(input));
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
from<T>(fn: () => T): Result<T, Error>;
|
|
111
|
+
/**
|
|
112
|
+
* Wrap a Promise into a ResultAsync.
|
|
113
|
+
*/
|
|
114
|
+
fromPromise<T>(promise: Promise<T>): Promise<Result<T, Error>>;
|
|
115
|
+
/**
|
|
116
|
+
* Collect an array of Results into a Result of an array.
|
|
117
|
+
* Returns the first Err encountered, or Ok with all values.
|
|
118
|
+
*/
|
|
119
|
+
all<T, E>(results: Result<T, E>[]): Result<T[], E>;
|
|
120
|
+
/**
|
|
121
|
+
* Check if a value is a Result.
|
|
122
|
+
*/
|
|
123
|
+
isResult<T, E>(value: unknown): value is Result<T, E>;
|
|
124
|
+
};
|
|
125
|
+
export {};
|
|
126
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/result/result.ts"],"names":[],"mappings":"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"}
|