revbits-cip-integration
Version:
This package will integrate CIP with any product
36 lines (35 loc) • 1.62 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CIP = void 0;
const helpers_1 = require("./utils/helpers");
const web_socket_client_1 = require("./services/web-socket.client");
const logger_1 = require("./utils/logger");
const base_cip_1 = require("./base.cip");
const socket_events_1 = require("./utils/socket-events");
class CIP extends base_cip_1.BaseCIP {
constructor(cipBaseUrl, cipSocketPostfix, platform, platformPrivKey, options = {}, socketCallback) {
super(cipBaseUrl, cipSocketPostfix, platform, platformPrivKey, options, socketCallback);
this.cipBaseUrl = cipBaseUrl;
this.cipSocketPostfix = cipSocketPostfix;
this.platform = platform;
this.platformPrivKey = platformPrivKey;
this.options = options;
this.socketCallback = socketCallback;
this.connectSocket();
}
eventCallback(data) {
if (this.socketCallback) {
const socketCallback = this.socketCallback;
setTimeout(() => (0, socket_events_1.sendSocketEventToConsumer)(data, socketCallback, this), 2000);
}
}
connectSocket() {
if (this.socketCallback) {
const socketUrl = (0, helpers_1.generateWebSocketURL)(this.cipBaseUrl, this.cipSocketPostfix);
const { cipBaseUrl, platform, platformPrivKey, options, eventCallback } = this;
logger_1.logger.info('Connecting to WebSocket...');
new web_socket_client_1.WebSocketClient(cipBaseUrl, socketUrl, platform, platformPrivKey, options, eventCallback.bind(this));
}
}
}
exports.CIP = CIP;
;