14 lines
358 B
JavaScript
14 lines
358 B
JavaScript
|
export default function(node, {evaluate, scope}) {
|
||
|
const elements = [];
|
||
|
let isAsync = false;
|
||
|
for (const {expression} of node.elements) {
|
||
|
const {async, value} = evaluate(expression, {scope});
|
||
|
isAsync = isAsync || async;
|
||
|
elements.push(value);
|
||
|
}
|
||
|
return {
|
||
|
async: !!isAsync,
|
||
|
value: isAsync ? Promise.all(elements) : elements,
|
||
|
};
|
||
|
}
|