Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heldrida/call-moe-dee
Yo! Ain't me who's gonna leave calls in the Wild Wild West! Call Moe Dee (inspired by Kool Moe Dee, Wild Wild West theme song) is a helper function that make timed recursive calls, if a given condition does not pass. 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' neck guessing when you is able to make those goddam calls!
https://github.com/heldrida/call-moe-dee
Last synced: about 1 month ago
JSON representation
Yo! Ain't me who's gonna leave calls in the Wild Wild West! Call Moe Dee (inspired by Kool Moe Dee, Wild Wild West theme song) is a helper function that make timed recursive calls, if a given condition does not pass. 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' neck guessing when you is able to make those goddam calls!
- Host: GitHub
- URL: https://github.com/heldrida/call-moe-dee
- Owner: heldrida
- Created: 2017-02-28T11:54:07.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-03T10:24:04.000Z (almost 8 years ago)
- Last Synced: 2024-12-30T10:18:57.408Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](http://img.youtube.com/vi/n_AMPcFym0Q/0.jpg)](http://www.youtube.com/watch?v=n_AMPcFym0Q "Kool Moe Dee - The Wild Wild West!")
### 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)
```