UNPKG

fontoxpath

Version:

A minimalistic XPath 3.1 engine in JavaScript

16 lines (15 loc) 606 B
/** * @param {!../DynamicContext} _dynamicContext * @param {!../dataTypes/Sequence} arraySequence * @param {!../dataTypes/Sequence} positionSequence * @return {!../dataTypes/Sequence} */ export default function arrayGet (_dynamicContext, arraySequence, positionSequence) { return positionSequence.mapAll(([position]) => arraySequence.mapAll(([array]) => { const positionValue = position.value; if (positionValue <= 0 || positionValue > array.members.length) { throw new Error('FOAY0001: array position out of bounds.'); } return array.members[positionValue - 1]; })); }