UNPKG

gp-mqtt-client

Version:

Simple MQTT Client (no auth, decode base64, ...)

60 lines (59 loc) 2.1 kB
/** * gp-mqtt-client | Simple MQTT Client * * @author Greg PFISTER * @since 0.1.0 * @license MIT * @copyright (C) 2021, Greg PFISTER. MIT License * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ /// <reference types="node" /> import EventEmitter from 'events'; import { GPPublishOptions, GPSubscribeOptions, GPTopic } from '../models'; /** * MQTT Controller */ export declare class GPMqttController extends EventEmitter { private _logger; private _client?; private _hostname; private _port; private _protocol; private _deviceId; private _autoConnect; private _topic?; /** * Build a MQTT Controller that will connect to an MQTT server via TCP * @param hostname The hostname * @param port The port number * @param protocol The protocol (e.g. mqtt). Only mqtt supported for the time been * @param autoConnect Specifies if the client will autoconnect after been disconnected * @param verbose Output info message * @param debug Output debug message */ constructor(hostname: string, port: number, protocol: string, autoConnect: boolean, verbose?: boolean, debug?: boolean); /** * Connect to the MQTT server */ connect(): void; /** * Subscribe to a topic * @param topic The topic to subscribe to * @param options Options */ subscribe(topic: GPTopic, options: GPSubscribeOptions): void; /** * Subscribe to a topic * @param topic The topic to publish to * @param message The message to publish * @param options Options */ publish(topic: GPTopic, message: string, options: GPPublishOptions): void; }