function expression()

in src/template.js [131:150]


  function expression(template/*, ...nodes*/) {
    // wrap code in `(...)` to force evaluation as expression
    template = Array.from(template);
    if (template.length > 0) {
      template[0] = '(' + template[0];
      template[template.length - 1] += ')';
    }

    const expression = statement.apply(
      null,
      [template].concat(Array.from(arguments).slice(1))
    ).expression;

    // Remove added parens
    if (expression.extra) {
      expression.extra.parenthesized = false;
    }

    return expression;
  }