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.
p-fifo
Advanced tools
Readme
Promised First-In-First-Out buffer. Await on push to be told when a value is consumed and await on shift for a value to consume when the buffer is empty
npm i p-fifo
await
on push to be told when your pushed value is consumed:
const Fifo = require('p-fifo')
const fifo = new Fifo()
// Consume a value from the buffer after 1 second
setTimeout(() => fifo.shift(), 1000)
console.time('push')
// Nothing in the buffer, push a value and wait for it to be consumed
await fifo.push('hello')
console.log('"hello" was consumed')
console.timeEnd('push')
// Output:
// "hello" was consumed
// push: 1006.723ms
If the buffer is empty, you can await
on a value to be pushed:
const Fifo = require('p-fifo')
const fifo = new Fifo()
// Push a value into the buffer after 1 second
setTimeout(() => fifo.push('hello'), 1000)
console.time('shift')
// Nothing in the buffer, wait for something to arrive
const value = await fifo.shift()
console.log(`consumed "${value}" from the buffer`)
console.timeEnd('shift')
// Output:
// consumed "hello" from the buffer
// shift: 1002.652ms
const fifo = new Fifo()
fifo.push(value): Promise
Add a value to the end of the FIFO buffer.
Returns a promise that is resolved when the pushed value is shifted off the start of the buffer.
fifo.shift(): Promise<Any>
Remove the first value from the FIFO buffer and return that removed value in a promise.
Returns a promise that resolves to a value from start of the FIFO buffer. If there are no values in the buffer the promise will resolve when a value is next pushed.
Note that multiple calls to shift when the buffer is empty will not resolve to the same value i.e. a corresponding number of calls to push
will need to be made to resolve all the promises returned by calls to shift
.
fifo.isEmpty(): Boolean
Returns true
if the FIFO buffer is empty and false
otherwise.
Feel free to dive in! Open an issue or submit PRs.
MIT © Alan Shaw
FAQs
Promised First-In-First-Out buffer. Await on push to be told when a value is consumed and await on shift for a value to consume when the buffer is empty.
The npm package p-fifo receives a total of 67,163 weekly downloads. As such, p-fifo popularity was classified as popular.
We found that p-fifo 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.