gauge-ts
Version:
Typescript runner for Gauge
25 lines (24 loc) • 809 B
JavaScript
;
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;