
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
@kev_nz/async-tools
Advanced tools
This is a collection of utility functions for working with async/await code.
npm install @kev_nz/async-tools
Here are the functions provided. Additionally feel free to look at the tests in the project as well.
The delay method allows you to use wait a number of milliseconds before continuing the exection of your code.
const { delay } = require('@kev_nz/async-tools')
(async () => {
await delay(100)
console.info('~100 milliseconds later')
})()
Execute an asynchronous mapping function over an array of returning the result.
const { mapper } = require('@kev_nz/async-tools')
(async () => {
const items = [1, 2, 3]
const mappedItems = await mapper(items, anAsynchronousFunction)
// passing in an additional concurrency value specifies the number of async methods executed at a time
const mappedItemsAgain = await mapper(items, anAsynchronousFunction, 2)
})()
Execute asynchronous reducer functions over a starting value.
const { delay, reducer } = require('@kev_nz/async-tools')
const anAsyncFunction = async val => {
await delay(10)
return val + 1
}
(async () => {
const finalValue = await reducer(0,
anAsyncFunction,
anAsyncFunction,
anAsyncFunction
)
//finalValue 3
})()
Execute an asynchronous function over an array one item at a time.
const { each } = require('@kev_nz/async-tools')
(async () => {
const items = [1, 2, 3]
const [first, second, third] = await each(items, anAsyncFunction)
})()
Take number of functions and compose them together.
const { composer } = require('@kev_nz/async-tools')
const anAsyncFunction = async val => {
await delay(10)
return val + 1
}
const anotherAsyncFunction = async val => {
await delay(10)
return val + 2
}
(async () => {
const asyncChain = composer(
anAsyncFunction,
anotherAsyncFunction,
anAsyncFunction
)
const finalValue = await asyncChain(0)
//finalValue 4
})()
When used with composer it lets you pass additional parameters to a function in the composed.
const { composer, holder } = require('@kev_nz/async-tools')
const anAsyncFunction = async val => {
await delay(10)
return val + 1
}
const anotherAsyncFunction = async (val, secondValue) => {
await delay(10)
return val + secondValue
}
(async () => {
const asyncChain = composer(
anAsyncFunction,
holder(anotherAsyncFunction, 3),
anAsyncFunction
)
const finalValue = await asyncChain(0)
//finalValue 5
})()
FAQs
Async tools - a collection of utility functions for working with async/await code.
The npm package @kev_nz/async-tools receives a total of 5,809 weekly downloads. As such, @kev_nz/async-tools popularity was classified as popular.
We found that @kev_nz/async-tools 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
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.