@ikasoba000/result-ts
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

result-ts provides a class that is useful when dealing with exceptions in TypeScript.

npm GitHub Workflow Status

import { Result } from "@ikasoba000/result-ts";

async function fetchUser(): Promise<Result<User, number>> {
  const response = await fetch( ... );
  if (!response.ok) return Result.err(response.status);
  return Result.ok(await response.json());
}

const result = await fetchUser()

if (result.isError()){
  console.error(
      "Failed to fetch user."
    + `Status code: ${result.value}`
  );
  process.exit(1);
}

console.log(`hello, ${result.value.name}!`)

Result.ok<T>(value: T): Result<T, never>

Returns a successful Result.

Result.err<E>(value: E): Result<never, E>

Returns a Result containing an exception.

Result.toCurrentResult<T, E>(result: ResultLike<T, E>): Result<T, E>

Generates a Result from a ResultLike.

This is useful when converting Results between different versions.

Result#isOk(): boolean

Check to see if the Result was successful.

Result#isError(): boolean

Check to see if the Result failed.

/@ikasoba000/result-ts/

    Package Sidebar

    Install

    npm i @ikasoba000/result-ts

    Weekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    24.1 kB

    Total Files

    20

    Last publish

    Collaborators

    • ikasoba000