UNPKG

tgsnake

Version:

Telegram MTProto framework for nodejs.

91 lines (90 loc) 3.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TgsnakeApi = void 0; class TgsnakeApi { _beforeStartHandler = []; _afterStartHandler = []; _onLoginHandler = []; _gracefullyStopHandler = []; _beforeParseUpdateHandler = []; _onParseUpdateHandler = []; _afterParseUpdateHandler = []; constructor() { } addEventHandler(filter, func) { if ('beforeStart' === filter) { this._beforeStartHandler.push(func); } if ('afterStart' === filter) { this._afterStartHandler.push(func); } if ('onLogin' === filter) { this._onLoginHandler.push(func); } if ('gracefullyStop' === filter) { this._gracefullyStopHandler.push(func); } if ('beforeParseUpdate' === filter) { this._beforeParseUpdateHandler.push(func); } if ('onParseUpdate' === filter) { this._onParseUpdateHandler.push(func); } if ('afterParseUpdate' === filter) { this._afterParseUpdateHandler.push(func); } } getEventHandler(filter) { if ('beforeStart' === filter) { return this._beforeStartHandler; } if ('afterStart' === filter) { return this._afterStartHandler; } if ('onLogin' === filter) { return this._onLoginHandler; } if ('gracefullyStop' === filter) { return this._gracefullyStopHandler; } if ('beforeParseUpdate' === filter) { return this._beforeParseUpdateHandler; } if ('onParseUpdate' === filter) { return this._onParseUpdateHandler; } if ('afterParseUpdate' === filter) { return this._afterParseUpdateHandler; } return []; } [Symbol.for('nodejs.util.inspect.custom')]() { const toPrint = { _: 'TgsnakeApi', '[beforeStart]': `${this._beforeStartHandler.length} handler`, '[afterStart]': `${this._afterStartHandler.length} handler`, '[onLogin]': `${this._onLoginHandler.length} handler`, '[gracefullyStop]': `${this._gracefullyStopHandler.length} handler`, '[beforeParseUpdate]': `${this._beforeParseUpdateHandler.length} handler`, '[onParseUpdate]': `${this._onParseUpdateHandler.length} handler`, '[afterParseUpdate]': `${this._afterParseUpdateHandler.length} handler`, }; return toPrint; } toJSON() { const toPrint = { _: 'TgsnakeApi', '[beforeStart]': `${this._beforeStartHandler.length} handler`, '[afterStart]': `${this._afterStartHandler.length} handler`, '[onLogin]': `${this._onLoginHandler.length} handler`, '[gracefullyStop]': `${this._gracefullyStopHandler.length} handler`, '[beforeParseUpdate]': `${this._beforeParseUpdateHandler.length} handler`, '[onParseUpdate]': `${this._onParseUpdateHandler.length} handler`, '[afterParseUpdate]': `${this._afterParseUpdateHandler.length} handler`, }; return toPrint; } toString() { return `[constructor of ${this.constructor.name}] ${JSON.stringify(this, null, 2)}`; } } exports.TgsnakeApi = TgsnakeApi;