0.0.3 • Published 7 years ago

call-moe-dee v0.0.3

Weekly downloads
6
License
WTFPL
Repository
github
Last release
7 years ago

Call Moe Dee

Yo! Ain't me who's gonna leave those calls in the WWW! Call-Moe-Dee (inspired by Kool Moe Dee, Wild Wild West song) is a helper function that makes timed recursive calls, if a given condition does not pass, repeatedly, over a period of time, until a condition is met! When the condition test passes, a callback function is called, terminating the timed recursive calls! Also, for each recursive or step in the call stack, there is a stepCallback callback function, if required. So, hell yeah! No mo' breakin' da neck guessing when you is able to make those goddam calls doug!

IMAGE ALT TEXT

How to use

npm install call-moe-dee

Import it into your project like you do with your regular libraries

import callMoeDee from 'call-mode-dee'

or, that funky ol' school way brotha and sista

var callMoeDee = require('call-moe-dee')

Pass the parameters to callMoeDee, that will resolve to the callback once your condition pass!

const params = {
  name: 'My callMoeDee test',
  time: {
    maxMs: 10000, // if omitted, defaults to 40000ms
    retryAfterMs: 200, // if omitted, defaults to 1000ms
    exceedMaxTimeCallback: () => {
      console.log('The caller exceedMaxTimeout!')
    }
  },
  stepCallback: () => {
    // this parameter is optional (triggered in each step)
  },
  condition: {
    test: () => (global && global.stop),
    callback: () => {
      console.log('Hello world!')
    }
  },
  debug: true
}

callMoeDee(params)

Example

import callMoeDee from 'call-mode-dee'

// We'll modify this at a later stage
let global = {
  stop: false
}

// Initialize it
callMoeDee({
  name: 'My callMoeDee test', // for your convenience, to help debug, etc
  time: {
    exceedMaxTimeCallback: () => {
      console.log('The caller exceedMaxTimeout!')
    }
  },
  stepCallback: () => {
    console.log('Step call!')
  },
  condition: {
    test: () => (global && global.stop),
    callback: () => {
      console.log('Hello world!')
    }
  },
  debug: true
})

// After some time we modify the global.stop property
setTimeout(() => {
  global.stop = true
  console.log('global.stop: ', global.stop)
}, 5000)
0.0.3

7 years ago

0.0.2-d

7 years ago

0.0.2-c

7 years ago

0.0.2-b

7 years ago

0.0.2

7 years ago

0.0.1-c

7 years ago

0.0.1-b

7 years ago

0.0.1

7 years ago