nxkit
Version:
This is a collection of tools, independent of any other libraries
55 lines (54 loc) • 1.51 kB
TypeScript
/// <reference types="node" />
import { Readable } from 'stream';
import * as parser from './parser';
interface Options {
clean: boolean;
}
/**
* es6-map can preserve insertion order even if ES version is older.
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Description
* It should be noted that a Map which is a map of an object, especially
* a dictionary of dictionaries, will only map to the object's insertion
* order. In ES2015 this is ordered for objects but for older versions of
* ES, this may be random and not ordered.
*
*/
interface Callback {
(e?: Error, d?: any): void;
}
export default class Store {
private _inflights;
readonly options: Options;
/**
* In-memory implementation of the message store
* This can actually be saved into files.
*
* @param {Object} [options] - store options
*/
constructor(options?: Options);
/**
* Adds a packet to the store, a packet is
* anything that has a messageId property.
*
*/
put(packet: parser.Packet, cb: Callback): this;
/**
* Creates a stream with all the packets in the store
*
*/
createStream(): Readable;
/**
* deletes a packet from the store.
*/
del(packet: parser.Packet, cb: Callback): this;
/**
* get a packet from the store.
*/
get(packet: parser.Packet, cb: Callback): this;
/**
* Close the store
*/
close(cb?: Callback): void;
}
export {};