UNPKG

smppjs

Version:
90 lines 2.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const session_1 = __importDefault(require("./session")); class Client { get debug() { return this._debug; } get connected() { return this.session.connected; } constructor({ interfaceVersion = 80, enquireLink, secure = { tls: false, unsafeBuffer: false, secureOptions: undefined, }, timeout = 3000, debug = false, }) { this._debug = debug; this._enquireLink = enquireLink; this.session = new session_1.default(interfaceVersion, this.debug, timeout, secure); } connect({ url }) { const [host, portStr] = url.split(':'); if (!host || !portStr) { throw new Error('Invalid URL.'); } const port = parseInt(portStr, 10); if (isNaN(port)) { throw new Error('Invalid port.'); } this.session.connect({ host, port }); if (this._enquireLink.auto && this._enquireLink.interval) { this.enquireLink(); this.autoEnquireLink(this._enquireLink.interval); } } disconnect() { return this.session.disconnect(); } on(eventName, callback) { this.session.on(eventName, callback); } bindTransceiver(params) { return this.session.bindTransceiver(params); } bindReceiver(params) { return this.session.bindReceiver(params); } bindTransmitter(params) { return this.session.bindTransmitter(params); } submitSm(params) { return this.session.submitSm(params); } dataSm(params) { return this.session.dataSm(params); } querySm(params) { return this.session.querySm(params); } cancelSm(params) { return this.session.cancelSm(params); } replaceSm(params) { return this.session.replaceSm(params); } deliverSmResp(params) { return this.session.deliverSmResp(params); } enquireLink() { return this.session.enquireLink(); } unbind() { return this.session.unbind(); } autoEnquireLink(interval = 20000) { const scheduleNext = () => { setTimeout(() => { if (this.connected) { this.enquireLink(); scheduleNext(); } }, interval); }; scheduleNext(); } } exports.default = Client; //# sourceMappingURL=client.js.map