ts-bakery
Version:
Baked dependency injection for Typescript.
29 lines • 961 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const TsNodeSequenceMatchResult_1 = require("./TsNodeSequenceMatchResult");
class TsNodeSequenceMatch {
constructor() {
this.requirements = [];
}
addRequirement(requirement) {
this.requirements.push(requirement);
}
match(sequence) {
let index = 0;
const result = new TsNodeSequenceMatchResult_1.default();
while (sequence.hasNext() && index < this.requirements.length) {
const node = sequence.getNext();
const requirement = this.requirements[index];
const success = requirement.verify(node);
if (!success) {
return result;
}
result.matchedNodes.push(node);
index++;
}
result.success = true;
return result;
}
}
exports.default = TsNodeSequenceMatch;
//# sourceMappingURL=TsNodeSequenceMatch.js.map