Skip to content

99x/promise-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@ruwan.m.s/promise-utils

Introduction

Welcome to the documentation for the @ruwan.m.s/promise-utils npm package! This package provides utility functions for working with Promises.

Installation

To install @ruwan.m.s/promise-utils, you can use npm. Open your terminal and run the following command:

npm install @ruwan.m.s/promise-utils

Usage

Once you have installed the package, you can import it into your project using the following syntax:

TypeScript (TS)

import promiseUtils from '@ruwan.m.s/promise-utils';

JavaScript (JS)

const promiseUtils = require('@ruwan.m.s/promise-utils');

API Reference

  • inlinePromise: Function for executing a Promise inline. Return the as [result, error]
  • inlinePromiseObject: Function for executing a Promise inline. Return the as {data, error}
  • inlinePromiseAll: Function for executing an array of Promises inline using Promise.all(). Returns list of [result, error]
  • inlinePromiseObjectAll: Function for executing an array of Promises inline using Promise.all(). Returns list of {data, error}

Example Usage

Let's consider simple delay function

const delay = (ms: number): Promise<number> => {
  return new Promise(resolve => setTimeout(() => resolve(ms), ms));
}

inlinePromise()

Here's an example of how you can use the inlinePromise function:

const [delayTime, error] = await inlinePromise(delay(300));
if (error) {
  // Error Handling
}

console.log(delayTime); // Output: 300

inlinePromiseAll()

Here's an example of how you can use the inlinePromiseAll function:

const res= await inlinePromiseAll([
    delay(200),
    delay(400),
]);

const [result1, error1] = res.next<number>();
console.log(result1) // Output: 200
const [result2, error2] = res.next<number>();
console.log(result2) // Output: 400

inlinePromiseObject()

Here's an example of how you can use the inlinePromise function:

  const {data: delayTime, error} = await inlinePromiseObject(delay(300))
if(error){
    // Error Handling
}
console.log(delayTime) // Output: 300

inlinePromiseObject()

Here's an example of how you can use the inlinePromiseObjectAll function:

const res= await inlinePromiseObjectAll([
    delay(200),
    delay(400),
]);

const {data:result1} = res.next<number>();
console.log(result1) // Output: 200
const {data:result2} = res.next<number>();
console.log(result2) // Output: 400

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published