tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
47 lines (45 loc) • 1.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var ArgsIterator = /** @class */ (function () {
function ArgsIterator(args) {
this.args = args;
this.idx = -1;
this.metadata = null;
}
ArgsIterator.prototype.isCompeted = function () {
return this.idx >= this.args.length;
};
ArgsIterator.prototype.end = function () {
this.idx = this.args.length;
};
ArgsIterator.prototype.next = function (express) {
if (this.isCompeted()) {
return null;
}
this.idx++;
if (this.isCompeted()) {
return null;
}
var arg = this.args[this.idx];
if (express.isMetadata && express.isMetadata(arg)) {
this.metadata = arg;
this.end();
}
else if (express.match(arg)) {
this.metadata = this.metadata || {};
express.setMetadata(this.metadata, arg);
}
else {
this.end();
}
};
ArgsIterator.prototype.getArgs = function () {
return this.args;
};
ArgsIterator.prototype.getMetadata = function () {
return this.metadata;
};
return ArgsIterator;
}());
exports.ArgsIterator = ArgsIterator;
//# sourceMappingURL=../../sourcemaps/core/factories/ArgsIterator.js.map