async-utils-ts
v1.0.2
Published
A collection of utility functions for asynchronous operations in TypeScript.
Downloads
957
Maintainers
Readme
async-utils-ts
This is a collection of TypeScript utility functions for handling asynchronous tasks.cript.
Installation
Using npm:
npm install async-utils-ts
Using yarn:
yarn add async-utils-ts
API
microtask
Creates a new Promise which resolves by queueing a microtask.
microtask().then(() => {
console.log('This will run as soon as possible, asynchronously.');
});
macrotask
Creates a promise that resolves after the current event loop has been processed (i.e., after all microtasks have been completed).
macrotask().then(() => {
console.log('This is a macrotask');
});
animationFrame
Creates a new Promise that is resolved using requestAnimationFrame
.
async function animate() {
// Wait for the next frame
await animationFrame();
}
timeout
Creates a Promise that resolves after a specified duration.
// Wait for 1 second (1000 ms)
await timeout(1000);
filter
Filters elements of the input array asynchronously based on the provided predicate function.
const arr = [1, 2, 3, 4, 5];
// Predicate function to check if a number is even
async function isEven(num) {
return num % 2 === 0;
}
// Usage
const result = await filter(arr, isEven);
console.log(result); // outputs: [2, 4]
pSome
Checks if any of the elements from the iterable satisfy the condition of the provided predicate function.
const iter = [1, 2, 3, 4, 5];
// Predicate function to check if a number is even
async function isEven(num) {
return num % 2 === 0;
}
// Usage
const result = await pSome(iter, isEven);
console.log(result); // outputs: true
pNone
Checks if none of the elements from the iterable pass the condition of the provided predicate function.
const iter = [1, 2, 3, 4, 5];
// Predicate function to check if a number is even
async function isEven(num) {
return num % 2 === 0;
}
// Usage
const result = await pNone(iter, isEven);
console.log(result); // outputs: false
pEvery
Checks if all elements from the iterable satisfy the condition of the provided predicate function.
const iter = [1, 2, 3, 4, 5];
// Predicate function to check if a number is even
async function isEven(num) {
return num % 2 === 0;
}
// Usage
const result = await pEvery(iter, isEven);
console.log(result); // outputs: false
first
Retrieves the first value from an async generator.
async function* asyncGen() {
yield 1;
yield 2;
yield 3;
}
// Usage
const result = await first(asyncGen());
console.log(result); // outputs: 1
License
async-utils-ts
is licensed under the MIT License. Feel free to use
and contribute!
For issues or suggestions, please open an issue.
Happy async coding! 🚀
Authors
- Dmitrii Baranov [email protected]