From d48f72c284516c1ca41f96c62fe48301c29bf5c6 Mon Sep 17 00:00:00 2001 From: Alisue Date: Thu, 30 Jan 2025 23:27:49 +0900 Subject: [PATCH 1/3] fix[attempt]: add default type for error --- attempt.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/attempt.ts b/attempt.ts index 56fc3ea..e7b3098 100644 --- a/attempt.ts +++ b/attempt.ts @@ -16,10 +16,10 @@ export type Result = Success | Failure; * console.log(attempt(() => { throw "err" })); // ["err", undefined] * ``` */ -export function attempt(fn: () => T): Result { +export function attempt(fn: () => T): Result { try { return [undefined, fn()]; } catch (e) { - return [e, undefined]; + return [e as E, undefined]; } } From b177dc853c7b9dd2f726c83fc7d271e96dc9322b Mon Sep 17 00:00:00 2001 From: Alisue Date: Thu, 30 Jan 2025 23:28:15 +0900 Subject: [PATCH 2/3] fix: add `alter` and `alter_else` to exports --- mod.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mod.ts b/mod.ts index 3eed553..1088c23 100644 --- a/mod.ts +++ b/mod.ts @@ -1,3 +1,5 @@ +export * from "./alter.ts"; +export * from "./alter_else.ts"; export * from "./attempt.ts"; export * from "./error_object.ts"; export * from "./raise.ts"; From d21e491d49396c8e4e37f20b51926717a4f5e7b7 Mon Sep 17 00:00:00 2001 From: Alisue Date: Thu, 30 Jan 2025 23:30:18 +0900 Subject: [PATCH 3/3] test: fix doc tests of `alter` and `alterElse` --- alter.ts | 3 ++- alter_else.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/alter.ts b/alter.ts index b5f3d69..5d348bb 100644 --- a/alter.ts +++ b/alter.ts @@ -8,10 +8,11 @@ * @example * * ```ts + * import { assertThrows } from "@std/assert"; * import { alter } from "@core/errorutil/alter"; * * console.log(alter(() => 1, "err2")); // 1 - * console.log(alter(() => { throw "err1" }, "err2")); // "err2" is thrown + * assertThrows(() => alter(() => { throw "err1" }, "err2"), "err2"); // "err2" is thrown * ``` */ export function alter(fn: () => T, alt: E): T { diff --git a/alter_else.ts b/alter_else.ts index 9c6219c..9077bca 100644 --- a/alter_else.ts +++ b/alter_else.ts @@ -8,10 +8,11 @@ * @example * * ```ts + * import { assertThrows } from "@std/assert"; * import { alterElse } from "@core/errorutil/alter-else"; * * console.log(alterElse(() => 1, () => "err")); // 1 - * console.log(alterElse(() => { throw "err" }, (err) => "new " + err)); // "new err" is thrown + * assertThrows(() => alterElse(() => { throw "err" }, (err) => "new " + err), "new err"); // "new err" is thrown * ``` */ export function alterElse(fn: () => T, elseFn: (err: unknown) => E): T {