@freckle/cancelable-promise
v3.0.0
Published
Cancelable promise utilities
Keywords
Readme
@freckle/cancelable-promise
Utilities to create a promise that can be canceled.
This package is ESM-only. Consumers must be able to import it; require() will not
work.
Install
pnpm add @freckle/cancelable-promiseUsage
const expensiveOperation = () => fetchData().then(parse).then(transform)
const Component = () => {
const [result, setResult] = setState(null)
useEffect(() => {
const promise = makeCancelable(expensiveOperation).then(res => {
setResult(res)
})
return () => {
// Cancel on cleanup
promise.cancel()
}
})
return result
}Development
- Package manager: pnpm (Node version pinned in
.nvmrc) pnpm build—tsc -p tsconfig.build.json, emits todist/pnpm test— Vitestpnpm coverage— Vitest with coverage, gated at the thresholds invitest.config.tspnpm typecheck—tsc --noEmit, includes test filespnpm lint— ESLintpnpm format/pnpm format-check— Prettierpnpm knip— unused files/dependencies/exports- CI runs all of the above on every PR, plus a check that
dist/is up to date
Release
See RELEASE.md.
