25 lines
527 B
JavaScript

class Utils {
static async mapSeries(iterable, action) {
const resolved = [];
for (const x of iterable) {
resolved.push(await action(x));
}
return Promise.resolve(resolved);
}
static wait(duration) {
return new Promise((resolve) => {
setTimeout(resolve, duration);
});
}
static parseTemplate(template, data) {
return Object.keys(data).reduce((str, key) => {
return str.replace(new RegExp(`{${key}}`, 'gi'), data[key]);
}, template);
}
}
module.exports = Utils;