@e280/stz 0.2.31 → 0.2.32
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/README.md +2 -0
- package/package.json +1 -1
- package/s/ok/fns/attempt.ts +10 -0
- package/s/ok/test.ts +9 -9
- package/x/ok/fns/attempt.d.ts +2 -0
- package/x/ok/fns/attempt.js +6 -0
- package/x/ok/fns/attempt.js.map +1 -1
- package/x/ok/test.d.ts +2 -2
- package/x/ok/test.js +9 -9
- package/x/ok/test.js.map +1 -1
package/README.md
CHANGED
package/package.json
CHANGED
package/s/ok/fns/attempt.ts
CHANGED
|
@@ -27,3 +27,13 @@ export async function attemptAsync<Value, E = unknown>(
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
export function resultify<Params extends any[], Ret>(fn: (...params: Params) => Ret) {
|
|
31
|
+
return (...params: Params) => attempt(() => fn(...params))
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function resultifyAsync<Params extends any[], Ret>(
|
|
35
|
+
fn: (...params: Params) => Promise<Ret>
|
|
36
|
+
) {
|
|
37
|
+
return async(...params: Params) => attemptAsync(() => fn(...params))
|
|
38
|
+
}
|
|
39
|
+
|
package/s/ok/test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import {expect, suite, test} from "@e280/science"
|
|
3
3
|
import {thrown} from "../thrown.js"
|
|
4
|
-
import {ok, err, getOk, needOk, attempt, needErr, getErr, attemptAsync} from "./index.js"
|
|
4
|
+
import {ok, err, getOk, needOk, attempt, needErr, getErr, attemptAsync, resultify, Err, resultifyAsync} from "./index.js"
|
|
5
5
|
|
|
6
6
|
export default suite({
|
|
7
7
|
"ok": test(async() => {
|
|
@@ -36,16 +36,16 @@ export default suite({
|
|
|
36
36
|
expect(() => needErr(ok(123))).throws()
|
|
37
37
|
}),
|
|
38
38
|
|
|
39
|
-
"
|
|
40
|
-
expect(needOk(
|
|
41
|
-
expect(
|
|
42
|
-
expect(needErr
|
|
39
|
+
"resultify": test(async() => {
|
|
40
|
+
expect(needOk(resultify(() => 123)())).is(123)
|
|
41
|
+
expect(resultify(() => {throw new Error("rofl")})().ok).is(false)
|
|
42
|
+
expect(needErr(resultify(() => {throw new Error("rofl")})() as Err<Error>).message).is("rofl")
|
|
43
43
|
}),
|
|
44
44
|
|
|
45
|
-
"
|
|
46
|
-
expect(needOk(await
|
|
47
|
-
expect((await
|
|
48
|
-
expect(needErr
|
|
45
|
+
"resultifyAsync": test(async() => {
|
|
46
|
+
expect(needOk(await resultifyAsync(async() => 123)())).is(123)
|
|
47
|
+
expect((await resultifyAsync(async() => {throw new Error("rofl")})()).ok).is(false)
|
|
48
|
+
expect(needErr(await resultifyAsync(async() => {throw new Error("rofl")})() as Err<Error>).message).is("rofl")
|
|
49
49
|
}),
|
|
50
50
|
|
|
51
51
|
"needOk error handling": {
|
package/x/ok/fns/attempt.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { Result } from "../types/result.js";
|
|
2
2
|
export declare function attempt<Value, E = unknown>(fn: () => Value): Result<Value, E>;
|
|
3
3
|
export declare function attemptAsync<Value, E = unknown>(input: Promise<Value> | (() => Promise<Value>)): Promise<Result<Value, E>>;
|
|
4
|
+
export declare function resultify<Params extends any[], Ret>(fn: (...params: Params) => Ret): (...params: Params) => Result<Ret, unknown>;
|
|
5
|
+
export declare function resultifyAsync<Params extends any[], Ret>(fn: (...params: Params) => Promise<Ret>): (...params: Params) => Promise<Result<Ret, unknown>>;
|
package/x/ok/fns/attempt.js
CHANGED
|
@@ -19,4 +19,10 @@ export async function attemptAsync(input) {
|
|
|
19
19
|
return err(error);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
+
export function resultify(fn) {
|
|
23
|
+
return (...params) => attempt(() => fn(...params));
|
|
24
|
+
}
|
|
25
|
+
export function resultifyAsync(fn) {
|
|
26
|
+
return async (...params) => attemptAsync(() => fn(...params));
|
|
27
|
+
}
|
|
22
28
|
//# sourceMappingURL=attempt.js.map
|
package/x/ok/fns/attempt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../../s/ok/fns/attempt.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAG5B,MAAM,UAAU,OAAO,CAAqB,EAAe;IAC1D,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,KAAU,CAAC,CAAA;IACvB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAA8C;IAG/C,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;YAC5C,CAAC,CAAC,KAAK,EAAE;YACT,CAAC,CAAC,KAAK,CAAA;QACR,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,KAAU,CAAC,CAAA;IACvB,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../../s/ok/fns/attempt.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAA;AAG5B,MAAM,UAAU,OAAO,CAAqB,EAAe;IAC1D,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,KAAU,CAAC,CAAA;IACvB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAA8C;IAG/C,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;YAC5C,CAAC,CAAC,KAAK,EAAE;YACT,CAAC,CAAC,KAAK,CAAA;QACR,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,KAAU,CAAC,CAAA;IACvB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,SAAS,CAA4B,EAA8B;IAClF,OAAO,CAAC,GAAG,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAuC;IAExC,OAAO,KAAK,EAAC,GAAG,MAAc,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;AACrE,CAAC"}
|
package/x/ok/test.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ declare const _default: {
|
|
|
5
5
|
getErr: import("@e280/science").Test;
|
|
6
6
|
needOk: import("@e280/science").Test;
|
|
7
7
|
needErr: import("@e280/science").Test;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
resultify: import("@e280/science").Test;
|
|
9
|
+
resultifyAsync: import("@e280/science").Test;
|
|
10
10
|
"needOk error handling": {
|
|
11
11
|
"rethrows errors": import("@e280/science").Test;
|
|
12
12
|
"upgrades strings to errors": import("@e280/science").Test;
|
package/x/ok/test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { expect, suite, test } from "@e280/science";
|
|
2
2
|
import { thrown } from "../thrown.js";
|
|
3
|
-
import { ok, err, getOk, needOk,
|
|
3
|
+
import { ok, err, getOk, needOk, needErr, getErr, resultify, resultifyAsync } from "./index.js";
|
|
4
4
|
export default suite({
|
|
5
5
|
"ok": test(async () => {
|
|
6
6
|
expect(ok(123).ok).is(true);
|
|
@@ -28,15 +28,15 @@ export default suite({
|
|
|
28
28
|
expect(needErr(err("nope"))).is("nope");
|
|
29
29
|
expect(() => needErr(ok(123))).throws();
|
|
30
30
|
}),
|
|
31
|
-
"
|
|
32
|
-
expect(needOk(
|
|
33
|
-
expect(
|
|
34
|
-
expect(needErr(
|
|
31
|
+
"resultify": test(async () => {
|
|
32
|
+
expect(needOk(resultify(() => 123)())).is(123);
|
|
33
|
+
expect(resultify(() => { throw new Error("rofl"); })().ok).is(false);
|
|
34
|
+
expect(needErr(resultify(() => { throw new Error("rofl"); })()).message).is("rofl");
|
|
35
35
|
}),
|
|
36
|
-
"
|
|
37
|
-
expect(needOk(await
|
|
38
|
-
expect((await
|
|
39
|
-
expect(needErr(await
|
|
36
|
+
"resultifyAsync": test(async () => {
|
|
37
|
+
expect(needOk(await resultifyAsync(async () => 123)())).is(123);
|
|
38
|
+
expect((await resultifyAsync(async () => { throw new Error("rofl"); })()).ok).is(false);
|
|
39
|
+
expect(needErr(await resultifyAsync(async () => { throw new Error("rofl"); })()).message).is("rofl");
|
|
40
40
|
}),
|
|
41
41
|
"needOk error handling": {
|
|
42
42
|
"rethrows errors": test(async () => {
|
package/x/ok/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../s/ok/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AACnC,OAAO,EAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../s/ok/test.ts"],"names":[],"mappings":"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"}
|