Timeout functionality for fp-ts async structures.
npm install fp-ts-timeout
- Node.js v.18+
- TypeScript v.4.5+
import * as Either from 'fp-ts/Either';
import * as TaskEither from 'fp-ts/TaskEither';
import { withTaskEitherTimeout, isTimeoutError } from 'fp-ts-timeout';
pipe(
TaskEither.tryCatch(
() => {
// some async operation
}),
Either.toError
),
withTaskEitherTimeout(1000) // 1 second timeout
TaskEither.match(
(error) => {
if (isTimeoutError(error)) {
// handle timeout error
} else {
// handle other errors
}
},
(result) => {
// handle success
}
)
Source code contributions are most welcome. Please open a PR, ensure the linter is satisfied and all tests pass.
Causaly is building the world's largest biomedical knowledge platform, using technologies such as TypeScript, React and Node.js. Find out more about our openings at https://apply.workable.com/causaly/.
MIT