happy-rusty 1.1.2 → 1.2.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/dist/main.cjs +274 -102
- package/dist/main.cjs.map +1 -1
- package/dist/main.mjs +273 -103
- package/dist/main.mjs.map +1 -1
- package/dist/types.d.ts +34 -1
- package/docs/README.md +2 -0
- package/docs/functions/Err.md +1 -1
- package/docs/functions/Ok.md +1 -1
- package/docs/functions/Some.md +1 -1
- package/docs/functions/isOption.md +35 -0
- package/docs/functions/isResult.md +36 -0
- package/docs/functions/promiseToResult.md +1 -1
- package/docs/interfaces/None.md +51 -28
- package/docs/interfaces/Option.md +49 -25
- package/docs/interfaces/Result.md +51 -27
- package/docs/type-aliases/AsyncIOResult.md +1 -1
- package/docs/type-aliases/AsyncOption.md +1 -1
- package/docs/type-aliases/AsyncResult.md +1 -1
- package/docs/type-aliases/IOResult.md +1 -1
- package/docs/variables/None.md +1 -1
- package/package.json +11 -10
- package/src/enum/prelude.ts +315 -104
- package/src/mod.ts +2 -0
|
@@ -25,6 +25,12 @@ pub enum Result<T, E> {
|
|
|
25
25
|
| `T` | The type of the value contained in a successful `Result`. |
|
|
26
26
|
| `E` | The type of the error contained in an unsuccessful `Result`. |
|
|
27
27
|
|
|
28
|
+
## Properties
|
|
29
|
+
|
|
30
|
+
| Property | Type | Description | Defined in |
|
|
31
|
+
| ------ | ------ | ------ | ------ |
|
|
32
|
+
| `[toStringTag]` | `"Result"` | [object Result]. | [prelude.ts:346](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L346) |
|
|
33
|
+
|
|
28
34
|
## Methods
|
|
29
35
|
|
|
30
36
|
### and()
|
|
@@ -55,7 +61,7 @@ The passed `Result` if `this` is `Ok`, otherwise returns `this` (which is `Err`)
|
|
|
55
61
|
|
|
56
62
|
#### Defined in
|
|
57
63
|
|
|
58
|
-
[prelude.ts:
|
|
64
|
+
[prelude.ts:531](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L531)
|
|
59
65
|
|
|
60
66
|
***
|
|
61
67
|
|
|
@@ -87,7 +93,7 @@ The result of `fn` if `this` is `Ok`, otherwise `this` as `Err`.
|
|
|
87
93
|
|
|
88
94
|
#### Defined in
|
|
89
95
|
|
|
90
|
-
[prelude.ts:
|
|
96
|
+
[prelude.ts:547](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L547)
|
|
91
97
|
|
|
92
98
|
***
|
|
93
99
|
|
|
@@ -116,7 +122,7 @@ Just same as `result as unknown as Result<U, E>`.
|
|
|
116
122
|
|
|
117
123
|
#### Defined in
|
|
118
124
|
|
|
119
|
-
[prelude.ts:
|
|
125
|
+
[prelude.ts:605](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L605)
|
|
120
126
|
|
|
121
127
|
***
|
|
122
128
|
|
|
@@ -144,7 +150,7 @@ Just same as `result as unknown as Result<T, F>`.
|
|
|
144
150
|
|
|
145
151
|
#### Defined in
|
|
146
152
|
|
|
147
|
-
[prelude.ts:
|
|
153
|
+
[prelude.ts:594](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L594)
|
|
148
154
|
|
|
149
155
|
***
|
|
150
156
|
|
|
@@ -170,7 +176,7 @@ Tests whether `this` and `other` are both `Ok` containing equal values, or both
|
|
|
170
176
|
|
|
171
177
|
#### Defined in
|
|
172
178
|
|
|
173
|
-
[prelude.ts:
|
|
179
|
+
[prelude.ts:582](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L582)
|
|
174
180
|
|
|
175
181
|
***
|
|
176
182
|
|
|
@@ -190,7 +196,7 @@ If the result is `Ok`, returns `None`.
|
|
|
190
196
|
|
|
191
197
|
#### Defined in
|
|
192
198
|
|
|
193
|
-
[prelude.ts:
|
|
199
|
+
[prelude.ts:455](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L455)
|
|
194
200
|
|
|
195
201
|
***
|
|
196
202
|
|
|
@@ -218,7 +224,7 @@ Throws an error with the provided message if the result is an `Err`.
|
|
|
218
224
|
|
|
219
225
|
#### Defined in
|
|
220
226
|
|
|
221
|
-
[prelude.ts:
|
|
227
|
+
[prelude.ts:398](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L398)
|
|
222
228
|
|
|
223
229
|
***
|
|
224
230
|
|
|
@@ -246,7 +252,7 @@ Throws an error with the provided message if the result is an `Ok`.
|
|
|
246
252
|
|
|
247
253
|
#### Defined in
|
|
248
254
|
|
|
249
|
-
[prelude.ts:
|
|
255
|
+
[prelude.ts:427](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L427)
|
|
250
256
|
|
|
251
257
|
***
|
|
252
258
|
|
|
@@ -278,7 +284,7 @@ If the result is `Ok(Err(E))` or `Err(E)`, returns `Err(E)`.
|
|
|
278
284
|
|
|
279
285
|
#### Defined in
|
|
280
286
|
|
|
281
|
-
[prelude.ts:
|
|
287
|
+
[prelude.ts:515](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L515)
|
|
282
288
|
|
|
283
289
|
***
|
|
284
290
|
|
|
@@ -305,7 +311,7 @@ Does not modify the `Result`.
|
|
|
305
311
|
|
|
306
312
|
#### Defined in
|
|
307
313
|
|
|
308
|
-
[prelude.ts:
|
|
314
|
+
[prelude.ts:565](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L565)
|
|
309
315
|
|
|
310
316
|
***
|
|
311
317
|
|
|
@@ -332,7 +338,7 @@ Does not modify the `Result`.
|
|
|
332
338
|
|
|
333
339
|
#### Defined in
|
|
334
340
|
|
|
335
|
-
[prelude.ts:
|
|
341
|
+
[prelude.ts:573](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L573)
|
|
336
342
|
|
|
337
343
|
***
|
|
338
344
|
|
|
@@ -350,7 +356,7 @@ Returns `true` if the result is `Err`.
|
|
|
350
356
|
|
|
351
357
|
#### Defined in
|
|
352
358
|
|
|
353
|
-
[prelude.ts:
|
|
359
|
+
[prelude.ts:371](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L371)
|
|
354
360
|
|
|
355
361
|
***
|
|
356
362
|
|
|
@@ -374,7 +380,7 @@ Returns `true` if the result is `Err` and the provided predicate returns `true`
|
|
|
374
380
|
|
|
375
381
|
#### Defined in
|
|
376
382
|
|
|
377
|
-
[prelude.ts:
|
|
383
|
+
[prelude.ts:383](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L383)
|
|
378
384
|
|
|
379
385
|
***
|
|
380
386
|
|
|
@@ -392,7 +398,7 @@ Returns `true` if the result is `Ok`.
|
|
|
392
398
|
|
|
393
399
|
#### Defined in
|
|
394
400
|
|
|
395
|
-
[prelude.ts:
|
|
401
|
+
[prelude.ts:366](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L366)
|
|
396
402
|
|
|
397
403
|
***
|
|
398
404
|
|
|
@@ -416,7 +422,7 @@ Returns `true` if the result is `Ok` and the provided predicate returns `true` f
|
|
|
416
422
|
|
|
417
423
|
#### Defined in
|
|
418
424
|
|
|
419
|
-
[prelude.ts:
|
|
425
|
+
[prelude.ts:377](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L377)
|
|
420
426
|
|
|
421
427
|
***
|
|
422
428
|
|
|
@@ -447,7 +453,7 @@ leaving an `Err` value untouched.
|
|
|
447
453
|
|
|
448
454
|
#### Defined in
|
|
449
455
|
|
|
450
|
-
[prelude.ts:
|
|
456
|
+
[prelude.ts:476](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L476)
|
|
451
457
|
|
|
452
458
|
***
|
|
453
459
|
|
|
@@ -478,7 +484,7 @@ leaving an `Ok` value untouched.
|
|
|
478
484
|
|
|
479
485
|
#### Defined in
|
|
480
486
|
|
|
481
|
-
[prelude.ts:
|
|
487
|
+
[prelude.ts:488](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L488)
|
|
482
488
|
|
|
483
489
|
***
|
|
484
490
|
|
|
@@ -509,7 +515,7 @@ Maps a `Result<T, E>` to `U` by applying a function to the contained `Ok` value
|
|
|
509
515
|
|
|
510
516
|
#### Defined in
|
|
511
517
|
|
|
512
|
-
[prelude.ts:
|
|
518
|
+
[prelude.ts:500](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L500)
|
|
513
519
|
|
|
514
520
|
***
|
|
515
521
|
|
|
@@ -540,7 +546,7 @@ Maps a `Result<T, E>` to `U` by applying a function to the contained `Ok` value
|
|
|
540
546
|
|
|
541
547
|
#### Defined in
|
|
542
548
|
|
|
543
|
-
[prelude.ts:
|
|
549
|
+
[prelude.ts:508](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L508)
|
|
544
550
|
|
|
545
551
|
***
|
|
546
552
|
|
|
@@ -560,7 +566,7 @@ If the result is `Err`, returns `None`.
|
|
|
560
566
|
|
|
561
567
|
#### Defined in
|
|
562
568
|
|
|
563
|
-
[prelude.ts:
|
|
569
|
+
[prelude.ts:448](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L448)
|
|
564
570
|
|
|
565
571
|
***
|
|
566
572
|
|
|
@@ -592,7 +598,7 @@ Returns `this` if it is `Ok`, otherwise returns the passed `Result`.
|
|
|
592
598
|
|
|
593
599
|
#### Defined in
|
|
594
600
|
|
|
595
|
-
[prelude.ts:
|
|
601
|
+
[prelude.ts:539](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L539)
|
|
596
602
|
|
|
597
603
|
***
|
|
598
604
|
|
|
@@ -624,7 +630,25 @@ The result of `fn` if `this` is `Err`, otherwise `this` as `Ok`.
|
|
|
624
630
|
|
|
625
631
|
#### Defined in
|
|
626
632
|
|
|
627
|
-
[prelude.ts:
|
|
633
|
+
[prelude.ts:555](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L555)
|
|
634
|
+
|
|
635
|
+
***
|
|
636
|
+
|
|
637
|
+
### toString()
|
|
638
|
+
|
|
639
|
+
```ts
|
|
640
|
+
toString(): string
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
Custom `toString` implementation that uses the `Result`'s contained value.
|
|
644
|
+
|
|
645
|
+
#### Returns
|
|
646
|
+
|
|
647
|
+
`string`
|
|
648
|
+
|
|
649
|
+
#### Defined in
|
|
650
|
+
|
|
651
|
+
[prelude.ts:610](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L610)
|
|
628
652
|
|
|
629
653
|
***
|
|
630
654
|
|
|
@@ -658,7 +682,7 @@ Transposes a `Result` of an `Option` into an `Option` of a `Result`.
|
|
|
658
682
|
|
|
659
683
|
#### Defined in
|
|
660
684
|
|
|
661
|
-
[prelude.ts:
|
|
685
|
+
[prelude.ts:464](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L464)
|
|
662
686
|
|
|
663
687
|
***
|
|
664
688
|
|
|
@@ -680,7 +704,7 @@ Throws an error if the result is an `Err`.
|
|
|
680
704
|
|
|
681
705
|
#### Defined in
|
|
682
706
|
|
|
683
|
-
[prelude.ts:
|
|
707
|
+
[prelude.ts:404](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L404)
|
|
684
708
|
|
|
685
709
|
***
|
|
686
710
|
|
|
@@ -702,7 +726,7 @@ Throws an error if the result is an `Ok`.
|
|
|
702
726
|
|
|
703
727
|
#### Defined in
|
|
704
728
|
|
|
705
|
-
[prelude.ts:
|
|
729
|
+
[prelude.ts:433](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L433)
|
|
706
730
|
|
|
707
731
|
***
|
|
708
732
|
|
|
@@ -726,7 +750,7 @@ Returns the contained `Ok` value or a provided default.
|
|
|
726
750
|
|
|
727
751
|
#### Defined in
|
|
728
752
|
|
|
729
|
-
[prelude.ts:
|
|
753
|
+
[prelude.ts:410](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L410)
|
|
730
754
|
|
|
731
755
|
***
|
|
732
756
|
|
|
@@ -750,4 +774,4 @@ Returns the contained `Ok` value or computes it from a closure if the result is
|
|
|
750
774
|
|
|
751
775
|
#### Defined in
|
|
752
776
|
|
|
753
|
-
[prelude.ts:
|
|
777
|
+
[prelude.ts:416](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L416)
|
|
@@ -21,4 +21,4 @@ This is a promise that resolves to `Ok(T)` if the I/O operation was successful,
|
|
|
21
21
|
|
|
22
22
|
## Defined in
|
|
23
23
|
|
|
24
|
-
[prelude.ts:
|
|
24
|
+
[prelude.ts:648](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L648)
|
|
@@ -21,4 +21,4 @@ This is a promise that resolves to either `Some(T)` if the value is present, or
|
|
|
21
21
|
|
|
22
22
|
## Defined in
|
|
23
23
|
|
|
24
|
-
[prelude.ts:
|
|
24
|
+
[prelude.ts:623](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L623)
|
|
@@ -22,4 +22,4 @@ This is a promise that resolves to `Ok(T)` if the operation was successful, or `
|
|
|
22
22
|
|
|
23
23
|
## Defined in
|
|
24
24
|
|
|
25
|
-
[prelude.ts:
|
|
25
|
+
[prelude.ts:632](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L632)
|
|
@@ -21,4 +21,4 @@ This is a result that is either `Ok(T)` if the operation was successful, or `Err
|
|
|
21
21
|
|
|
22
22
|
## Defined in
|
|
23
23
|
|
|
24
|
-
[prelude.ts:
|
|
24
|
+
[prelude.ts:640](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L640)
|
package/docs/variables/None.md
CHANGED
|
@@ -15,4 +15,4 @@ This constant is frozen to ensure it is immutable and cannot be altered, preserv
|
|
|
15
15
|
|
|
16
16
|
## Defined in
|
|
17
17
|
|
|
18
|
-
[prelude.ts:
|
|
18
|
+
[prelude.ts:296](https://github.com/JiangJie/happy-rusty/blob/28ebaeb1ee8fded97e00cb58a36e776fbc44e585/src/enum/prelude.ts#L296)
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Porting some excellent design implementations from Rust to JavaScript.",
|
|
4
4
|
"author": "jiang115jie@gmail.com",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.2.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"source": "src/mod.ts",
|
|
9
9
|
"main": "dist/main.cjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"sideEffects": false,
|
|
22
22
|
"scripts": {
|
|
23
23
|
"check": "pnpm exec tsc --noEmit",
|
|
24
|
-
"lint": "pnpm exec eslint
|
|
24
|
+
"lint": "pnpm exec eslint .",
|
|
25
25
|
"prebuild": "pnpm dlx rimraf dist && pnpm run check && pnpm run lint",
|
|
26
26
|
"build": "pnpm exec rollup --config rollup.config.mjs",
|
|
27
27
|
"pretest": "pnpm dlx rimraf coverage",
|
|
@@ -47,15 +47,16 @@
|
|
|
47
47
|
"Err"
|
|
48
48
|
],
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"eslint": "^8.
|
|
53
|
-
"rollup": "^4.
|
|
50
|
+
"@eslint/js": "^9.8.0",
|
|
51
|
+
"@types/eslint__js": "^8.42.3",
|
|
52
|
+
"eslint": "^9.8.0",
|
|
53
|
+
"rollup": "^4.19.2",
|
|
54
54
|
"rollup-plugin-dts": "^6.1.1",
|
|
55
55
|
"rollup-plugin-esbuild": "^6.1.1",
|
|
56
|
-
"typedoc": "^0.26.
|
|
57
|
-
"typedoc-plugin-markdown": "^4.2.
|
|
58
|
-
"typescript": "^5.5.
|
|
56
|
+
"typedoc": "^0.26.5",
|
|
57
|
+
"typedoc-plugin-markdown": "^4.2.3",
|
|
58
|
+
"typescript": "^5.5.4",
|
|
59
|
+
"typescript-eslint": "^8.0.0"
|
|
59
60
|
},
|
|
60
|
-
"packageManager": "pnpm@9.
|
|
61
|
+
"packageManager": "pnpm@9.6.0"
|
|
61
62
|
}
|