npm.io
1.0.2 • Published 2 years ago

async-utils-ts

Licence
MIT
Version
1.0.2
Deps
0
Size
13 kB
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

async-utils-ts

This is a collection of TypeScript utility functions for handling asynchronous tasks.cript.

npm version License

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

Keywords