react-obsidian
Version:
Dependency injection framework for React and React Native applications
28 lines • 1.02 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const DefaultGraphResolver_1 = __importDefault(require("./DefaultGraphResolver"));
class GraphMiddlewareChain {
constructor(defaultMiddleware = new DefaultGraphResolver_1.default()) {
this.middlewares = [defaultMiddleware];
}
resolve(Graph, props) {
return this.middlewares[0].resolve(this.middlewares[0].resolveChain, Graph, props);
}
add(middleware) {
this.middlewares.unshift(middleware);
this.updateResolveChain();
}
updateResolveChain() {
if (this.middlewares.length > 1) {
this.middlewares[0].setNext(this.middlewares[1]);
}
}
clear() {
this.middlewares = [new DefaultGraphResolver_1.default()];
}
}
exports.default = GraphMiddlewareChain;
//# sourceMappingURL=GraphMiddlewareChain.js.map
;