Neurological Phenomenon Multiplexer

    regrets-js

    0.1.3 • Public • Published

    regrets.js

    ⏰ Asynchronous control structures in JS

    NPM

    HitCount

    Platform Build Status
    Linux Build Status
    Windows Build status

    codecov

    Known Vulnerabilities

    What is regrets.js

    regrets.js or Regrets allows asynchronous control structures in JS.

    Regrets provides asynchronous:

    • if-elseif-else
    • while-do
    • repeat-until
    • boolean expressions (and, or, not)
    • comparisons (eq, ne, gt, lt, ge, le)
    • switch-case-default
    • foreach

    You can read more here at the documentation site.

    Usage

    Installation

    NPM

    npm i regrets-js

    CDN

    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/regrets-js/dist/index.min.js"></script>

    Loading the module

    CommonJS

    const regrets = require('regrets-js');

    Example

    Delayed odd or even

    Checks asynchronously if the number is an odd or an even number.

    The result is resolved after 5 seconds.

    const sleep = (x, y) => new Promise(z => setTimeout(z, y, x));
     
    const checkParity = x => new regrets.if(sleep(% 2 === 0, 5000))
      .then(() => console.log('The number is even'))
      .else(() => console.log('The number is odd'))

    Sleepy Switch

    const sleep = (x, y) => new Promise(z => setTimeout(z, y, x));
     
    const sleepySwitch = x => new regrets.switch(sleep(% 3, 2500))
      .case(0).do(() => console.log('The number is a multiple of 3')).break()
      .case(1).do(() => console.log('The number is 1 greater than a multiple of 3')).break()
      .default(() => console.log('The number is 2 greater than a multiple of 3'))
     
    sleepySwitch(14634)
    sleepySwitch(1243)
    sleepySwitch(5432)

    Iterate items at an interval

    const sleep = (x, y) => new Promise(z => setTimeout(z, y, x));
     
    const interval = (x, y) => new regrets.forEach(x).do(v => sleep(v, y).then(console.log));
     
    interval([1, 2, 3, 4, 5], 500);

    Build

    Clone the repo first then run in Terminal:

    npm install

    This installs the dependencies, then run:

    npm run build

    to build the CommonJS module, the browser module, the minified module, the docs, the coverages and the test suite.

    Keywords

    Install

    npm i regrets-js

    DownloadsWeekly Downloads

    1

    Version

    0.1.3

    License

    MIT

    Unpacked Size

    64.8 kB

    Total Files

    6

    Last publish

    Collaborators

    • lxsmnsyc