@rei-network/utils
Utils include the following classes:
Channel
: Contains three implements
Channel
: An asynchronous queue, order by the order in which the elements are pushedHChannel
: An asynchronous queue, order by customizable heapPChannel
: An asynchronous queue, order by element index(grow from 0) and index must be continuous
Compress
: Provide some functions for compressing and decompressing dataFunctionalMap
and FunctionalSet
: Key customizable map and set
INSTALL
npm install @rei-network/utils
USAGE
const channel = new Channel<string>();
channel.push("123");
channel.push("456");
setTimeout(() => {
channel.push("789");
}, 1000);
setTimeout(() => {
channel.push("101112");
}, 2000);
setTimeout(() => {
channel.abort();
}, 3000);
(async () => {
for await (const data of channel.generator()) {
console.log("data:", data);
}
console.log("channel end");
})();
const bufferMap = new FunctionalMap<Buffer, string>((a: Buffer, b: Buffer) =>
a.compare(b)
);
bufferMap.set(Buffer.from("aaaaaa", "hex"), "aaaaaa");
console.log(bufferMap.get(Buffer.from("aaaaaa", "hex")) === "aaaaaa");
License
GNU General Public License v3.0