UNPKG

verus-zmq-client

Version:

Verus Coin Javascript/Typescript client for ZMQ messaging.

77 lines 7.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VerusZmqOptions = exports.VerusZmqConnection = exports.SubscriptionTopics = void 0; var SubscriptionTopics; (function (SubscriptionTopics) { SubscriptionTopics["rawTx"] = "rawtx"; SubscriptionTopics["hashTx"] = "hashtx"; SubscriptionTopics["rawBlock"] = "rawblock"; SubscriptionTopics["hashBlock"] = "hashblock"; SubscriptionTopics["sequence"] = "sequence"; })(SubscriptionTopics || (exports.SubscriptionTopics = SubscriptionTopics = {})); class VerusZmqConnection { constructor(address, port, protocol) { this.address = address; this.port = port; this.protocol = protocol !== null && protocol !== void 0 ? protocol : 'tcp'; } getAddress() { return `${this.protocol}://${this.address}:${this.port}`.toLowerCase(); } } exports.VerusZmqConnection = VerusZmqConnection; class VerusZmqOptions { constructor(server, topics, events) { this.getTopics = (topics) => { const defaultTopics = Object.values(SubscriptionTopics); const foundTopic = []; const filteredTopics = topics.filter(t => { if (defaultTopics.includes(t) && !foundTopic.includes(t)) { foundTopic.push(t); return true; } return false; }); return (filteredTopics[0] === undefined) ? defaultTopics : filteredTopics; }; this.connection = server; this.topics = this.getTopics(topics); this.events = events; } getEventHandlers() { const before = (this.events.before !== undefined) ? (value, topic) => this.events.before(value, topic) : () => Object; const after = (this.events.after !== undefined) ? (value, topic, result) => this.events.after(value, topic, result) : () => { }; const onRawTxReceived = (this.events.onRawTxReceived !== undefined) ? (value, topic, result) => this.events.onRawTxReceived(value, topic, result) : () => Object; const onHashTxReceived = (this.events.onHashTxReceived !== undefined) ? (value, topic, result) => this.events.onHashTxReceived(value, topic, result) : () => Object; const onRawBlockReceived = (this.events.onRawBlockReceived !== undefined) ? (value, topic, result) => this.events.onRawBlockReceived(value, topic, result) : () => Object; const onHashBlockReceived = (this.events.onHashBlockReceived !== undefined) ? (value, topic, result) => this.events.onHashBlockReceived(value, topic, result) : () => Object; const onSequenceReceived = (this.events.onSequenceReceived !== undefined) ? (value, topic, result) => this.events.onSequenceReceived(value, topic, result) : () => Object; return { before: before, after: after, onRawTxReceived: onRawTxReceived, onHashTxReceived: onHashTxReceived, onRawBlockReceived: onRawBlockReceived, onHashBlockReceived: onHashBlockReceived, onSequenceReceived: onSequenceReceived, }; } } exports.VerusZmqOptions = VerusZmqOptions; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydXNabXFPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9WZXJ1c1ptcU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsSUFBWSxrQkFNWDtBQU5ELFdBQVksa0JBQWtCO0lBQzFCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFNN0I7QUFZRCxNQUFhLGtCQUFrQjtJQUkzQixZQUFZLE9BQWUsRUFBRSxJQUFZLEVBQUUsUUFBaUI7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLGFBQVIsUUFBUSxjQUFSLFFBQVEsR0FBSSxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsTUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0NBQ0o7QUFiRCxnREFhQztBQUVELE1BQWEsZUFBZTtJQUt4QixZQUNJLE1BQTBCLEVBQzFCLE1BQTRCLEVBQzVCLE1BQWlDO1FBTTVCLGNBQVMsR0FBRyxDQUFDLE1BQTRCLEVBQXdCLEVBQUU7WUFDeEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sVUFBVSxHQUF5QixFQUFFLENBQUM7WUFDNUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDckMsSUFBRyxhQUFhLENBQUMsUUFBUSxDQUFD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