Security News
How Threat Actors are Abusing GitHub’s File Upload Feature to Host Malware
GitHub is susceptible to a CDN flaw that allows attackers to host malware on any public repository.
retry-ts
Advanced tools
Changelog
0.1.4
ReaderTask
support, #11 (@mlegenhausen)Readme
TypeScript port of PureScript's purescript-aff-retry package which in turn is a porting of Haskell's retry package
import { log } from 'fp-ts/Console'
import * as E from 'fp-ts/Either'
import { pipe } from 'fp-ts/function'
import * as O from 'fp-ts/Option'
import * as TE from 'fp-ts/TaskEither'
import { capDelay, exponentialBackoff, limitRetries, Monoid, RetryStatus } from 'retry-ts'
import { retrying } from 'retry-ts/Task'
const policy = capDelay(2000, Monoid.concat(exponentialBackoff(200), limitRetries(5)))
const fakeAPI = TE.left('API errored out')
const logDelay = (status: RetryStatus) =>
TE.rightIO(
log(
pipe(
status.previousDelay,
O.map((delay) => `retrying in ${delay} milliseconds...`),
O.getOrElse(() => 'first attempt...')
)
)
)
const result = retrying(policy, (status) => pipe(logDelay(status), TE.apSecond(fakeAPI)), E.isLeft)
result().then((e) => console.log(e))
/*
first attempt...
retrying in 200 milliseconds... <= exponentialBackoff
retrying in 400 milliseconds... <= exponentialBackoff
retrying in 800 milliseconds... <= exponentialBackoff
retrying in 1600 milliseconds... <= exponentialBackoff
retrying in 2000 milliseconds... <= exponentialBackoff + capDelay
left("API errored out") <= limitRetries
*/
The MIT License (MIT)
FAQs
Retry combinators for monadic actions that may fail
The npm package retry-ts receives a total of 32,109 weekly downloads. As such, retry-ts popularity was classified as popular.
We found that retry-ts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub is susceptible to a CDN flaw that allows attackers to host malware on any public repository.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.