UNPKG

gherkin

Version:
29 lines (22 loc) 673 B
function AstNode (ruleType) { this.ruleType = ruleType; this._subItems = {}; } AstNode.prototype.add = function (ruleType, obj) { var items = this._subItems[ruleType]; if(items === undefined) this._subItems[ruleType] = items = []; items.push(obj); } AstNode.prototype.getSingle = function (ruleType) { return (this._subItems[ruleType] || [])[0]; } AstNode.prototype.getItems = function (ruleType) { return this._subItems[ruleType] || []; } AstNode.prototype.getToken = function (tokenType) { return this.getSingle(tokenType); } AstNode.prototype.getTokens = function (tokenType) { return this._subItems[tokenType] || []; } module.exports = AstNode;