UNPKG

gauge-ts

Version:
25 lines (24 loc) 809 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParameterParsingChain = void 0; const PrimitiveParser_1 = require("./PrimitiveParser"); const TableParameterParser_1 = require("./TableParameterParser"); class ParameterParsingChain { chain = []; constructor() { this.chain.push(new TableParameterParser_1.TableParameterParser()); this.chain.push(new PrimitiveParser_1.PrimitiveParser()); } parse(parameter) { for (const parser of this.chain) { if (parser.canParse(parameter)) { return parser.parse(parameter); } } return parameter.getValue(); } addCustomParser(parser) { this.chain.unshift(parser); } } exports.ParameterParsingChain = ParameterParsingChain;