This package has been archived, and as such it is read-only.
@effection-contrib/timebox@0.1.0Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
[Moved to effectionx namespace] Constrain any operation to complete within a certain time.
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
100%
Published
10 months ago (0.1.0)
@effection-contrib/timebox
Constrain any operation to complete within a certain time.
Very often you want to put a limit on how long an operation may run such as a
fetch() of an external resource, or handling a web request. To do this, you
can use the timebox() function. It will encapsulate the operation and either
return its result, or a otherwise a "timeout" object indicating that it did not
complete in the required time.
import { timebox } from "@effection-contrib/timebox"; import { handleRequest } from "./handle-request"; // a theoretical request handler export function* handler(request) { // do not let the handler run for more than 10 seconds let result = yield* timebox(10000, () => handleRequest(request)); if (result.timeout) { return new Response(504, "Gateway Timeout"); } else { return result.value; } }
Built and signed on
GitHub Actions
Add Package
deno add jsr:@effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";
Import directly with a jsr specifier
import * as timebox from "jsr:@effection-contrib/timebox";
Add Package
pnpm i jsr:@effection-contrib/timebox
pnpm dlx jsr add @effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";
Add Package
yarn add jsr:@effection-contrib/timebox
yarn dlx jsr add @effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";
Add Package
vlt install jsr:@effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";
Add Package
npx jsr add @effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";
Add Package
bunx jsr add @effection-contrib/timebox
Import symbol
import * as timebox from "@effection-contrib/timebox";