UNPKG

@bitrix24/b24jssdk

Version:

Bitrix24 REST API JavaScript SDK

1 lines 4.3 kB
{"version":3,"file":"abstract-connector.mjs","sources":["../../../src/pullClient/abstract-connector.ts"],"sourcesContent":["import type { ConnectorParent, ConnectorCallbacks, ConnectorConfig, TypeConnector } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Type } from '../tools/type'\nimport { ConnectionType } from '../types/pull'\n\nexport abstract class AbstractConnector implements TypeConnector {\n private _logger: LoggerInterface\n\n protected _connected: boolean = false\n\n protected _connectionType: ConnectionType\n\n protected _disconnectCode: number = 0\n protected _disconnectReason: string = ''\n\n protected _parent: ConnectorParent\n\n protected _callbacks: ConnectorCallbacks\n\n protected constructor(config: ConnectorConfig) {\n this._logger = LoggerFactory.createNullLogger()\n\n this._parent = config.parent\n this._connectionType = ConnectionType.Undefined\n\n this._callbacks = {\n onOpen: Type.isFunction(config.onOpen) ? config.onOpen : () => {},\n onDisconnect: Type.isFunction(config.onDisconnect)\n ? config.onDisconnect\n : () => {},\n onError: Type.isFunction(config.onError) ? config.onError : () => {},\n onMessage: Type.isFunction(config.onMessage)\n ? config.onMessage\n : () => {}\n } as ConnectorCallbacks\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n destroy(): void {}\n\n get connected() {\n return this._connected\n }\n\n set connected(value) {\n if (value == this._connected) {\n return\n }\n\n this._connected = value\n\n if (this._connected) {\n this._callbacks.onOpen()\n } else {\n this._callbacks.onDisconnect({\n code: this.disconnectCode,\n reason: this.disconnectReason\n })\n }\n }\n\n get disconnectCode(): number {\n return this._disconnectCode\n }\n\n get disconnectReason(): string {\n return this._disconnectReason\n }\n\n get connectionPath(): string {\n return this._parent.getConnectionPath(this._connectionType)\n }\n\n /**\n * Make connect to the server\n */\n abstract connect(): void\n\n /**\n * Make disconnect from the server\n * @param code\n * @param reason\n */\n abstract disconnect(code: number, reason: string): void\n\n /**\n * Sends some data to the server\n * @param {ArrayBuffer|string} buffer Data to send.\n * @return {boolean}\n */\n abstract send(buffer: ArrayBuffer | string): boolean\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAMO,MAAe,iBAAA,CAA2C;AAAA,EANjE;AAMiE,IAAA,MAAA,CAAA,IAAA,EAAA,mBAAA,CAAA;AAAA;AAAA,EACvD,OAAA;AAAA,EAEE,UAAA,GAAsB,KAAA;AAAA,EAEtB,eAAA;AAAA,EAEA,eAAA,GAA0B,CAAA;AAAA,EAC1B,iBAAA,GAA4B,EAAA;AAAA,EAE5B,OAAA;AAAA,EAEA,UAAA;AAAA,EAEA,YAAY,MAAA,EAAyB;AAC7C,IAAA,IAAA,CAAK,OAAA,GAAU,cAAc,gBAAA,EAAiB;AAE9C,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,MAAA;AACtB,IAAA,IAAA,CAAK,kBAAkB,cAAA,CAAe,SAAA;AAEtC,IAAA,IAAA,CAAK,UAAA,GAAa;AAAA,MAChB,MAAA,EAAQ,KAAK,UAAA,CAAW,MAAA,CAAO,MAAM,CAAA,GAAI,MAAA,CAAO,SAAS,MAAM;AAAA,MAAC,CAAA;AAAA,MAChE,YAAA,EAAc,KAAK,UAAA,CAAW,MAAA,CAAO,YAAY,CAAA,GAC7C,MAAA,CAAO,eACP,MAAM;AAAA,MAAC,CAAA;AAAA,MACX,OAAA,EAAS,KAAK,UAAA,CAAW,MAAA,CAAO,OAAO,CAAA,GAAI,MAAA,CAAO,UAAU,MAAM;AAAA,MAAC,CAAA;AAAA,MACnE,SAAA,EAAW,KAAK,UAAA,CAAW,MAAA,CAAO,SAAS,CAAA,GACvC,MAAA,CAAO,YACP,MAAM;AAAA,MAAC;AAAA,KACb;AAAA,EACF;AAAA,EAEA,UAAU,MAAA,EAA+B;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,SAAA,GAA6B;AAC3B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,OAAA,GAAgB;AAAA,EAAC;AAAA,EAEjB,IAAI,SAAA,GAAY;AACd,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA,EAEA,IAAI,UAAU,KAAA,EAAO;AACnB,IAAA,IAAI,KAAA,IAAS,KAAK,UAAA,EAAY;AAC5B,MAAA;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,UAAA,GAAa,KAAA;AAElB,IAAA,IAAI,KAAK,UAAA,EAAY;AACnB,MAAA,IAAA,CAAK,WAAW,MAAA,EAAO;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,WAAW,YAAA,CAAa;AAAA,QAC3B,MAAM,IAAA,CAAK,cAAA;AAAA,QACX,QAAQ,IAAA,CAAK;AAAA,OACd,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,IAAI,cAAA,GAAyB;AAC3B,IAAA,OAAO,IAAA,CAAK,eAAA;AAAA,EACd;AAAA,EAEA,IAAI,gBAAA,GAA2B;AAC7B,IAAA,OAAO,IAAA,CAAK,iBAAA;AAAA,EACd;AAAA,EAEA,IAAI,cAAA,GAAyB;AAC3B,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,iBAAA,CAAkB,IAAA,CAAK,eAAe,CAAA;AAAA,EAC5D;AAoBF;;;;"}