0.7.0 • Published 2 years ago
result4t v0.7.0
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