UNPKG

kakapo

Version:

Next generation mocking framework in Javascript

50 lines (49 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Router_1 = require("../Router"); var Database_1 = require("../Database"); var isRouter = function (entity) { return entity instanceof Router_1.Router; }; var isDb = function (entity) { return entity instanceof Database_1.Database; }; var Server = (function () { function Server(config) { if (config === void 0) { config = {}; } this.config = config; this.db = null; this.router = null; } Server.prototype.use = function (entity) { if (isDb(entity)) { this.db = entity; } else if (isRouter(entity)) { this.router = entity; this.router.intercept(); } else { console.warn("KAKAPO: Server doesn't know how to use the entity " + entity); } this.linkEntities(); }; Server.prototype.remove = function (entity) { if (isDb(entity) && this.router && this.router.interceptorConfig.db === entity) { this.router.interceptorConfig.db = null; } else if (isRouter(entity) && this.router == entity) { this.router.reset(); } else { console.warn("KAKAPO: Entity doesn't belongs to server", entity); } }; Server.prototype.linkEntities = function () { var router = this.router; var db = this.db; if (router && db && router.interceptorConfig.db !== db) { router.interceptorConfig.db = db; } }; return Server; }()); exports.Server = Server;