Files
est-frame/node_modules/@mdx-js/mdx/lib/util/estree-util-to-binary-addition.js
2025-10-22 05:38:27 +00:00

26 lines
580 B
JavaScript
Executable File

/**
* @typedef {import('estree-jsx').Expression} Expression
*/
import {ok as assert} from 'devlop'
/**
* @param {ReadonlyArray<Expression>} expressions
* Expressions.
* @returns {Expression}
* Addition.
*/
export function toBinaryAddition(expressions) {
let index = -1
/** @type {Expression | undefined} */
let left
while (++index < expressions.length) {
const right = expressions[index]
left = left ? {type: 'BinaryExpression', left, operator: '+', right} : right
}
assert(left, 'expected non-empty `expressions` to be passed')
return left
}