lit-ntml
Version:
Inspired by lit-html but for Node.js
15 lines • 604 B
JavaScript
export async function processLiterals(strings, ...exps) {
const listTask = exps.map(async (n) => {
const tasks = (Array.isArray(n) ? n : [n])
.map(async (o) => 'function' === typeof (o) ? o() : o);
return Promise.all(tasks);
});
const done = await Promise.all(listTask);
const doneLen = done.length;
return strings.reduce((p, n, i) => {
const nTask = done[i];
const joined = Array.isArray(nTask) ? nTask.join('') : nTask;
return `${p}${i >= doneLen ? n : `${n}${joined}`}`;
}, '');
}
//# sourceMappingURL=process-literals.js.map