result_option 0.1.6 → 0.1.8
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/dist/index.d.ts +16 -0
- package/dist/index.js +36 -0
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -125,6 +125,10 @@ export declare class Option<T> {
|
|
|
125
125
|
* const y = x.map((val) => val * 2); // -> y = Option.None
|
|
126
126
|
*/
|
|
127
127
|
map<U>(f: (val: T) => U): Option<U>;
|
|
128
|
+
/**
|
|
129
|
+
* Same as `Option.map()` but async.
|
|
130
|
+
*/
|
|
131
|
+
map_async<U>(f: (val: T) => Promise<U>): Promise<Option<U>>;
|
|
128
132
|
/**
|
|
129
133
|
*
|
|
130
134
|
* @param dft default value.
|
|
@@ -175,6 +179,10 @@ export declare class Option<T> {
|
|
|
175
179
|
* const y = x.ok_or(() => 0); // -> y = Result.Err(0)
|
|
176
180
|
*/
|
|
177
181
|
ok_or_else<E>(err: () => E): Result<T, E>;
|
|
182
|
+
/**
|
|
183
|
+
* Same as `Option.ok_or_else()` but async.
|
|
184
|
+
*/
|
|
185
|
+
ok_or_else_async<E>(err: () => Promise<E>): Promise<Result<T, E>>;
|
|
178
186
|
/**
|
|
179
187
|
*
|
|
180
188
|
* @param optb value.
|
|
@@ -358,6 +366,10 @@ export declare class Result<T, E> {
|
|
|
358
366
|
* const y = x.map((val) => val * 2); // -> y = Result.Err("error")
|
|
359
367
|
*/
|
|
360
368
|
map<U>(f: (val: T) => U): Result<U, E>;
|
|
369
|
+
/**
|
|
370
|
+
* Same as `Result.map()` but async.
|
|
371
|
+
*/
|
|
372
|
+
map_async<U>(f: (val: T) => Promise<U>): Promise<Result<U, E>>;
|
|
361
373
|
/**
|
|
362
374
|
* @param dft - default value.
|
|
363
375
|
* @param f - lambda.
|
|
@@ -393,6 +405,10 @@ export declare class Result<T, E> {
|
|
|
393
405
|
* const y = x.map_err((e) => e.length); // -> y = Result.Ok(10)
|
|
394
406
|
*/
|
|
395
407
|
map_err<F>(op: (err: E) => F): Result<T, F>;
|
|
408
|
+
/**
|
|
409
|
+
* Same as `Result.map_err()` but async.
|
|
410
|
+
*/
|
|
411
|
+
map_err_async<F>(op: (err: E) => Promise<F>): Promise<Result<T, F>>;
|
|
396
412
|
/**
|
|
397
413
|
* @returns the contained `Ok` value.
|
|
398
414
|
* @throws {Error} if the `Result` is `Err`.
|
package/dist/index.js
CHANGED
|
@@ -198,6 +198,15 @@ export class Option {
|
|
|
198
198
|
None: () => Option.None(),
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Same as `Option.map()` but async.
|
|
203
|
+
*/
|
|
204
|
+
async map_async(f) {
|
|
205
|
+
return this.match({
|
|
206
|
+
Some: async (val) => Option.Some(await f(val)),
|
|
207
|
+
None: async () => Option.None(),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
201
210
|
/**
|
|
202
211
|
*
|
|
203
212
|
* @param dft default value.
|
|
@@ -268,6 +277,15 @@ export class Option {
|
|
|
268
277
|
None: () => Result.Err(err()),
|
|
269
278
|
});
|
|
270
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Same as `Option.ok_or_else()` but async.
|
|
282
|
+
*/
|
|
283
|
+
async ok_or_else_async(err) {
|
|
284
|
+
return this.match({
|
|
285
|
+
Some: async (val) => Result.Ok(val),
|
|
286
|
+
None: async () => Result.Err(await err()),
|
|
287
|
+
});
|
|
288
|
+
}
|
|
271
289
|
/**
|
|
272
290
|
*
|
|
273
291
|
* @param optb value.
|
|
@@ -528,6 +546,15 @@ export class Result {
|
|
|
528
546
|
Err: (e) => Result.Err(e),
|
|
529
547
|
});
|
|
530
548
|
}
|
|
549
|
+
/**
|
|
550
|
+
* Same as `Result.map()` but async.
|
|
551
|
+
*/
|
|
552
|
+
async map_async(f) {
|
|
553
|
+
return this.match({
|
|
554
|
+
Ok: async (t) => Result.Ok(await f(t)),
|
|
555
|
+
Err: async (e) => Result.Err(e),
|
|
556
|
+
});
|
|
557
|
+
}
|
|
531
558
|
/**
|
|
532
559
|
* @param dft - default value.
|
|
533
560
|
* @param f - lambda.
|
|
@@ -578,6 +605,15 @@ export class Result {
|
|
|
578
605
|
Err: (e) => Result.Err(op(e)),
|
|
579
606
|
});
|
|
580
607
|
}
|
|
608
|
+
/**
|
|
609
|
+
* Same as `Result.map_err()` but async.
|
|
610
|
+
*/
|
|
611
|
+
async map_err_async(op) {
|
|
612
|
+
return this.match({
|
|
613
|
+
Ok: async (val) => Result.Ok(val),
|
|
614
|
+
Err: async (e) => Result.Err(await op(e)),
|
|
615
|
+
});
|
|
616
|
+
}
|
|
581
617
|
/**
|
|
582
618
|
* @returns the contained `Ok` value.
|
|
583
619
|
* @throws {Error} if the `Result` is `Err`.
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "result_option",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Result and Option types for typescript.",
|
|
5
|
-
"main": "./dist/index.
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mts",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"repository": "https://github.com/Cunha-Renato/result_option",
|