Gathering detailed insights and metrics for @aminnairi/promise-sequence
Gathering detailed insights and metrics for @aminnairi/promise-sequence
npm install @aminnairi/promise-sequence
Typescript
Module System
Node Version
NPM Version
Love this project? Help keep it running — sponsor us today! 🚀
Total Downloads
544
Last Day
2
Last Week
2
Last Month
16
Last Year
92
Minified
Minified + Gzipped
Latest Version
0.2.0
Package Id
@aminnairi/promise-sequence@0.2.0
Unpacked Size
39.54 kB
Size
13.50 kB
File Count
4
NPM Version
8.1.0
Node Version
17.0.0
Cumulative downloads
Total Downloads
Last day
0%
2
Compared to previous day
Last week
-50%
2
Compared to previous week
Last month
166.7%
16
Compared to previous month
Last year
-48.3%
92
Compared to previous year
4
Execute a sequence of functions that return a promise one after the other
1npm install @aminnairi/promise-sequence
1import {sequence} from "@aminnairi/promise-sequence"; 2 3const resolveLater = value => { 4 return new Promise(resolve => { 5 setTimeout(() => { 6 resolve(value); 7 }, 1000); 8 }); 9}; 10 11sequence([ 12 () => resolveLater(1), 13 () => resolveLater(2), 14 () => resolveLater(3) 15]).then(([first, second, third]) => { 16 console.log(first); 17 console.log(second); 18 console.log(third); 19});
1
2
3
1import {sequence} from "@aminnairi/promise-sequence"; 2 3const resolveLater = value => { 4 return new Promise(resolve => { 5 setTimeout(() => { 6 resolve(value); 7 }, 1000); 8 }); 9}; 10 11sequence([ 12 () => resolveLater(1), 13 ([first]) => resolveLater(2 + first), 14 ([first, second]) => resolveLater(3 + first + second) 15]).then(([first, second, third]) => { 16 console.log(first); 17 console.log(second); 18 console.log(third); 19});
1
3
7
1import {sequence} from "@aminnairi/promise-sequence"; 2 3const resolveLater = value => { 4 return new Promise(resolve => { 5 setTimeout(() => { 6 resolve(value); 7 }, 1000); 8 }); 9}; 10 11const fail = value => { 12 return Promise.reject(new Error(`Failed to resolve ${value}`)); 13}; 14 15sequence([ 16 () => resolveLater(1), 17 () => fail(2), 18 () => resolveLater(3) 19]).catch(({message}) => { 20 console.error(message); 21});
Failed to resolve 2
1import {sequence} from "@aminnairi/promise-sequence"; 2import {createInterface} from "readline/promises"; 3import {stdin as input, stdout as output} from "process"; 4 5const createQuestionFactory = ({createInterface, input, output}) => { 6 return ({message}) => { 7 const readlineInterface = createInterface({ 8 input, 9 output 10 }); 11 12 return readlineInterface.question(message).finally(() => { 13 readlineInterface.close(); 14 }); 15 }; 16}; 17 18const question = createQuestionFactory({ 19 createInterface, 20 input, 21 output 22}); 23 24sequence([ 25 () => question({message: "What is your name? "}), 26 ([name]) => question({message: `Hello, ${name}. What is your age? `}), 27 ([name, age]) => question({message: `So, ${name}, you are ${age} years old. What about your email? `}) 28]).then(([name, age, email]) => { 29 console.log(`To sum up, ${name}, you are ${age} years old and your email is ${email}.`); 30});
What is your name? John DOE
Hello, John DOE. What is your age? 42
So, John DOE, you are 42 years old. What about your email? john@doe.com
To sum up, John DOE, you are 42 years old and your email is john@doe.com.
See CHANGELOG.md
.
See CONTRIBUTING.md
.
See LICENSE
.
See CODE_OF_CONDUCT.md
.
No vulnerabilities found.
No security vulnerabilities found.