UNPKG

sim800

Version:

A modern and opiniated module for SIM800 GSM modems ( SIM800 / SIM800L ).

72 lines (71 loc) 3.5 kB
/// <reference types="node" /> import { AsyncSubject, Subject } from 'rxjs'; import EventEmitter from 'stream'; import { Sim800Command } from './classes/sim800-command'; import { Sim800Sms } from './classes/sim800-sms'; import { Sim800DeliveryEvent, Sim800DeliveryStatusDetail } from './interfaces/sim-800-delivery.interface'; import { Sim800ClientConfig } from './interfaces/sim800-client-config.interface'; import { Sim800ClientState } from './interfaces/sim800-client-state.enum'; import { Sim800EventEmitter } from './interfaces/sim800-event-emitter'; import { Sim800IncomingSms } from './interfaces/sim800-incoming-sms.interface'; import { Sim800MultipartSms } from './interfaces/sim800-multipart-sms.interface'; import { Sim800OutgoingSms, Sim800OutgoingSmsPart, Sim800OutgoingSmsStatus, Sim800OutgoingSmsStreamEvent } from './interfaces/sim800-outgoing-sms.interface'; import { NetworkStatus } from './interfaces'; export declare class Sim800Client implements Sim800EventEmitter { eventEmitter: EventEmitter; private nextJob$; private buffer; private port; private baudRate; private delimiter; private logger; private serial; private parser; private noInit; private pin?; private cnmi; ready$: AsyncSubject<boolean>; network$: AsyncSubject<boolean>; smsBusy$: AsyncSubject<boolean>; stream$: Subject<string>; inputStream$: Subject<string>; smsStream$: Subject<Sim800OutgoingSmsStreamEvent>; deliveryReportStream$: Subject<Sim800DeliveryEvent>; smsQueuePing$: Subject<void>; state: Sim800ClientState; incomingSms: Sim800MultipartSms[]; preventWipe: boolean; outboxSpooler: Sim800OutgoingSms[]; receivingDeliveryReport: boolean; smsQueue: Sim800Sms[]; constructor({ port, baudRate, delimiter, logger, pin, preventWipe, noInit }: Sim800ClientConfig); private init; awaitDevice(): Promise<boolean>; isNetworkReady(): Promise<boolean>; send(command: Sim800Command, options?: { raw?: boolean; }): Promise<string | string[] | null>; sendSms(number: string, text: string, deliveryReport?: boolean): Promise<number[] | undefined>; private handlePinState; /** * * @deprecated will be removed from the next minor release */ checkNetwork(network$: AsyncSubject<boolean>): void; monitorNetworkUntilReady(network$: AsyncSubject<boolean>): void; getNetworkStatus(): Promise<NetworkStatus>; private setNetworkReady; private setNetworkNotReady; private handleNetworkResult; private handleInputData; reset(emptyBuffers?: boolean, gracePeriodMs?: number): void; deleteAllStoredSms(): Promise<void>; on(event: 'deviceReady', listener: () => void): import('events'); on(event: 'networkReady', listener: () => void): import('events'); on(event: 'input', listener: (data: string) => void): import('events'); on(event: 'incoming-sms', listener: (sms: Sim800IncomingSms) => void): EventEmitter; on(event: 'sms-sent', listener: (compositeId: number[]) => void): EventEmitter; on(event: 'delivery-report', listener: (compositeId: number[], status: Sim800OutgoingSmsStatus.Delivered, detail?: Omit<Sim800OutgoingSmsPart, 'belongsTo'>[]) => void): EventEmitter; on(event: 'delivery-report', listener: (compositeId: number[], status: Sim800OutgoingSmsStatus, detail?: Sim800DeliveryStatusDetail) => void): EventEmitter; on(event: 'error', listener: (error: Error) => void): EventEmitter; }