@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.

Readme

Keywords

none

Package Sidebar

Install

npm i @ikasoba000/result-ts

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

24.1 kB

Total Files

20

Last publish

Collaborators

  • ikasoba000