gi-loops
v1.0.7
Published
Looping utility
Downloads
24
Readme
loops
Loops utility
installation
$ npm install --save gi-loops
functions
| Fn | Type | callback |
|:-------------------------------:|:-----------------:|------------------|
| xLoop(array, handler, callback) | batch-processing | on argument |
| xLoopEx(array, handler) | batch-processing | Promise
return |
| yLoop(array, handler, callback) | single-processing | on argument |
| yLoopEx(array, handler) | single-processing | Promise
return |
array
array can be Array
or Object
handler
handler is function for handling value on array while looping here example handler function
function (x, value, index) {
// do something
// then end with call x
x(true, true);
}
x
arguments:
x(result, continue);
callback
callback is function for handling end of loop
usage
import { xLoop, xLoopEx, yLoop, yLoopEx } from 'gi-loops';
const data = {
testA: 'A',
testB: 'B',
};
const handler = (x, item, index) => {
// do something async or sync actions
if (item === 'B' && index > 0)
{
setTimeout(() => {
x('B is good');
}, 1000);
}
else x(item);
};
// with xLoop
xLoop(data, handler, (arr, result) => {
if (result)
{
console.log('done good', arr);
}
else
{
console.log('done with error');
}
});
// with xLoopEx
xLoopEx(data, handler)
.then(arr => {
console.log('done good', arr);
})
.catch(err => {
console.log('done with error', err);
});
// with yLoop
yLoop(data, handler, (arr, result) => {
if (result)
{
console.log('done good', arr);
}
else
{
console.log('done with error');
}
});
// with yLoopEx
yLoopEx(data, handler)
.then(arr => {
console.log('done good', arr);
})
.catch(err => {
console.log('done with error', err);
});