@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
31 lines • 3.84 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SocketsContainer = void 0;
const object_hash_1 = __importDefault(require("object-hash"));
class SocketsContainer {
constructor() {
this.serverAndEventStreamsHosts = new Map();
}
getAll() {
return this.serverAndEventStreamsHosts;
}
getOneByConfig(options) {
const uniqueToken = this.generateHashByOptions(options);
return this.serverAndEventStreamsHosts.get(uniqueToken);
}
addOne(options, host) {
const uniqueToken = this.generateHashByOptions(options);
this.serverAndEventStreamsHosts.set(uniqueToken, host);
}
clear() {
this.serverAndEventStreamsHosts.clear();
}
generateHashByOptions(options) {
return (0, object_hash_1.default)(options, { ignoreUnknown: true });
}
}
exports.SocketsContainer = SocketsContainer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0cy1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2Vic29ja2V0cy9zb2NrZXRzLWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBK0I7QUFJL0IsTUFBYSxnQkFBZ0I7SUFBN0I7UUFDcUIsK0JBQTBCLEdBQUcsSUFBSSxHQUFHLEVBR2xELENBQUM7SUE4Qk4sQ0FBQztJQTVCUSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDekMsQ0FBQztJQUVNLGNBQWMsQ0FDbkIsT0FBVTtRQUVWLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLE1BQU0sQ0FDWCxPQUFVLEVBQ1YsSUFBK0I7UUFFL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxxQkFBcUIsQ0FDM0IsT0FBVTtRQUVWLE9BQU8sSUFBQSxxQkFBSSxFQUFDLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRjtBQWxDSCw0Q0FrQ0ciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XG5pbXBvcnQgeyBHYXRld2F5TWV0YWRhdGEgfSBmcm9tIFwiLi4vY29udHJhY3RzL2dhdGV3YXktbWV0YWRhdGFcIjtcbmltcG9ydCB7IFNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3QgfSBmcm9tIFwiLi4vY29udHJhY3RzL3NlcnZlci1hbmQtZXZlbnQtc3RyZWFtcy1ob3N0XCI7XG5cbmV4cG9ydCBjbGFzcyBTb2NrZXRzQ29udGFpbmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3RzID0gbmV3IE1hcDxcbiAgICAgIHN0cmluZyB8IFJlZ0V4cCxcbiAgICAgIFNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3RcbiAgICA+KCk7XG4gIFxuICAgIHB1YmxpYyBnZXRBbGwoKTogTWFwPHN0cmluZyB8IFJlZ0V4cCwgU2VydmVyQW5kRXZlbnRTdHJlYW1zSG9zdD4ge1xuICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQW5kRXZlbnRTdHJlYW1zSG9zdHM7XG4gICAgfVxuICBcbiAgICBwdWJsaWMgZ2V0T25lQnlDb25maWc8VCBleHRlbmRzIEdhdGV3YXlNZXRhZGF0YSA9IGFueT4oXG4gICAgICBvcHRpb25zOiBULFxuICAgICk6IFNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3Qge1xuICAgICAgY29uc3QgdW5pcXVlVG9rZW4gPSB0aGlzLmdlbmVyYXRlSGFzaEJ5T3B0aW9ucyhvcHRpb25zKTtcbiAgICAgIHJldHVybiB0aGlzLnNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3RzLmdldCh1bmlxdWVUb2tlbik7XG4gICAgfVxuICBcbiAgICBwdWJsaWMgYWRkT25lPFQgZXh0ZW5kcyBHYXRld2F5TWV0YWRhdGEgPSBhbnk+KFxuICAgICAgb3B0aW9uczogVCxcbiAgICAgIGhvc3Q6IFNlcnZlckFuZEV2ZW50U3RyZWFtc0hvc3QsXG4gICAgKSB7XG4gICAgICBjb25zdCB1bmlxdWVUb2tlbiA9IHRoaXMuZ2VuZXJhdGVIYXNoQnlPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgdGhpcy5zZXJ2ZXJBbmRFdmVudFN0cmVhbXNIb3N0cy5zZXQodW5pcXVlVG9rZW4sIGhvc3QpO1xuICAgIH1cbiAgXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgdGhpcy5zZXJ2ZXJBbmRFdmVudFN0cmVhbXNIb3N0cy5jbGVhcigpO1xuICAgIH1cbiAgXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUhhc2hCeU9wdGlvbnM8VCBleHRlbmRzIEdhdGV3YXlNZXRhZGF0YSA9IGFueT4oXG4gICAgICBvcHRpb25zOiBULFxuICAgICk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gaGFzaChvcHRpb25zLCB7IGlnbm9yZVVua25vd246IHRydWUgfSk7XG4gICAgfVxuICB9Il19