UNPKG

cst

Version:

JavaScript CST Implementation

38 lines (33 loc) 949 B
/** * Processes function parameters. * * @param {ElementAssert} children * @returns {Pattern[]} */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = getFunctionParams; function getFunctionParams(children) { var params = []; children.passToken('Punctuator', '('); children.skipNonCode(); while (!children.isToken('Punctuator', ')')) { if (children.isToken('Punctuator', ',')) { children.moveNext(); children.skipNonCode(); children.assertToken('Punctuator', ')'); } else { params.push(children.passPattern()); children.skipNonCode(); if (children.isToken('Punctuator', ',')) { children.moveNext(); children.skipNonCode(); } } } children.passToken('Punctuator', ')'); return params; } module.exports = exports['default'];