Tiny fallback chains for JS/TS — try providers until one succeeds.
Monorepo layout:
packages/fallback-chain-js: the tiny libraryapps/fallbacklab: Next.js demo app (Firebase + Vertex AI)
Demo: https://fallbacklab.vercel.app
pnpm -C packages/fallback-chain-js buildimport { fallback } from "@khalidsaidi/fallback-chain-js";
const result = await fallback([
() => primary(),
() => secondary()
]);- Candidates are lazy functions called one-by-one.
- Rejections fall through to the next candidate.
- Resolved values can be rejected via
accept(...). AbortSignaland per-attempttimeoutMsare supported.
- Root:
llms.txt - Demo API:
apps/fallbacklab/public/llms.txt - OpenAPI:
apps/fallbacklab/openapi.json
pnpm install
pnpm -r build
pnpm -r test- Library docs:
packages/fallback-chain-js/README.md - Demo app docs:
apps/fallbacklab/README.md