Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
cache-helpers
Advanced tools
Readme
cache-helpers
is a Node.JS module containing several generic caching
functions. It was written as a way of abstracting out a number of commonly used
patterns in the Dark Sky API.
cacheHelpers.once
: Takes a (presumably expensive) function which takes a
single callback and calls it with an optional error argument and a data
argument. It returns a function that you may use as a proxy for the passed
function. The first time it is called, it will call the function and cache
its data. Subsequent calls will return the cached data.
(It is smart enough to only call the backing function once even if it is called many times simultaneously.)
cacheHelpers.timeBasedWithGrace
: Takes a (presumably expensive) function,
like once
, above, and two numbers: a soft cache timeout and a hard cache
timeout. These timeouts may be in any arbitrary units you prefer, though
either seconds or milliseconds is most convenient. Like once
, it returns
a proxy function, which is called with the current time (in whatever units
you specified for the timeouts), and a callback which is called when the
data is available.
The first time this function is called, it will call the callback once the backing function returns. Subsequent calls do different things depending on how much time has elapsed since the data was cached: if the soft timeout has not elapsed, then the cached data is returned immediately. If the soft timeout has elapsed but the hard timeout has not, the cached data is returned immediately, but the backing function is called in the background to update the cache, so as not to impede whatever processing you want to do. Finally, if the hard timeout has elapsed, the cache is updated before calling the callback.
You may think of these two limits as "the time until data is out of date" and "the time until data is unnacceptably out of date".
(Like once
, this function is smart enough to not call the backing
function more often than necessary.)
These are kind of advanced, and may be fairly hard to understand without a concrete use case. Checking out the tests may help.
To the extent possible by law, The Dark Sky Company, LLC has waived all copyright and related or neighboring rights to this library.
FAQs
caching convenience functions
The npm package cache-helpers receives a total of 3 weekly downloads. As such, cache-helpers popularity was classified as not popular.
We found that cache-helpers 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
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.