cst
Version:
JavaScript CST Implementation
38 lines (33 loc) • 949 B
JavaScript
/**
* Processes function parameters.
*
* @param {ElementAssert} children
* @returns {Pattern[]}
*/
;
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'];