0.1.4 • Published 1 year ago

@klapacz/errgo v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

errgo

Better error handling. Inspired by error handling in golang.

Installation

Deno

import { Result, must, wrap } from "https://deno.land/x/errgo/mod.ts";

Node.js

pnpm add @klapacz/errgo

Example

import { Result, must, wrap } from "https://deno.land/x/errgo/mod.ts";

async function divide(
  dividend: number,
  divisor: number
): Promise<Result<number>> {
  if (divisor === 0) {
    return [new Error("Division by zero is not defined.")];
  }
  return [, dividend / divisor];
}

const [err, result] = await divide(2, 3);
if (!err) console.log(result); // typescript is smart about result being defined

// returns result or throws
const result = must(await divide(2, 3));

// wraps function which throws with `Result` interface
const [err, result] = await wrap(fetch("…"));

Alternatives

Releasing

Deno

git tag VERSION_HERE
git push origin --tags

Node.js

# run script
deno run -A scripts/build_npm.ts VERSION_HERE

# go to output directory and publish
cd npm
npm publish
0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago