src/PgChannelEmitter.ts
/*!
* Copyright (c) 2018, imqueue.com <support@imqueue.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
import { EventEmitter } from 'events';
import { channel } from './types';
export declare interface PgChannelEmitter {
/**
* Sets channel listener event handler
*
* @param {string} channelName - channel name to listen
* @param {typeof channel} listener - channel event handler
* @return {PgChannelEmitter}
*/
on(channelName: string, listener: typeof channel): this;
/**
* Sets channel listener event handler which will be fired only one time
*
* @param {string} channelName - channel name to listen
* @param {typeof channel} listener - channel event handler
* @return {PgChannelEmitter}
*/
once(channelName: string, listener: typeof channel): this;
}
/**
* Implements event emitting/subscribing on PostgreSQL LISTEN/NOTIFY
* named channels.
*/
export class PgChannelEmitter extends EventEmitter {}