0.7.0 • Published 2 years ago

result4t v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

pnpm add @ollierelph/result4t or pnpm add result4t

What's this?

result4t takes some pointers from the wonderful result4k

It's a replacement for Promise that gives us a strongly-typed error mode.

An example

import fs from "node:fs";

const readFileAndReverse = () =>
  fs
    .readFile("./boom.txt")
    .then((contents) => contents.split("\n").reverse().join("\n"));

readFileAndReverse()
  .then((reversedFile) => {
    console.log(reversedFile);
    process.exit(0);
  })
  .catch((error: unknown) => {
    console.error(error);
    process.exit(1);
  });

in result4t:

import fs from "node:fs";
import { TaskResult } from "./TaskResult";

const readFileAndReverse = () =>
  TaskResult.ofPromise(
    () => fs.readFile("./boom.txt"),
    (err: unknown) => new Error("Unable to find file"),
  ).map((contents) => contents.split("\n").reverse().join("\n"));

readFileAndReverse()
  .peek((reversedFile) => {
    console.log(reversedFile);
    process.exit(0);
  })
  .peekLeft((error) => {
    // ^--- typed as Error
    console.error(error);
    process.exit(1);
  })
  .run();
0.5.4

2 years ago

0.5.3

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.1

2 years ago

0.3.0

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago