mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-07 02:30:12 +00:00
Add types for ZeroMQ.js, derived from the 'zmq' type definitions
This commit is contained in:
22
types/zeromq/tsconfig.json
Normal file
22
types/zeromq/tsconfig.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"zeromq-tests.ts"
|
||||
]
|
||||
}
|
||||
51
types/zeromq/zeromq-tests.ts
Normal file
51
types/zeromq/zeromq-tests.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import zeromq = require('zeromq');
|
||||
|
||||
function test1() {
|
||||
var sock = zeromq.socket('push');
|
||||
sock.bindSync('tcp://127.0.0.1:3000');
|
||||
sock.unbindSync('tcp://127.0.0.1:3000');
|
||||
sock.send("some work");
|
||||
}
|
||||
|
||||
function test2() {
|
||||
var sock = zeromq.socket('push');
|
||||
sock.bindSync('tcp://127.0.0.1:3000');
|
||||
sock.send(new Buffer(1000));
|
||||
}
|
||||
|
||||
function test3() {
|
||||
var sock = zeromq.socket('push');
|
||||
sock.bindSync('tcp://127.0.0.1:3000');
|
||||
sock.send(['hello', 'world']);
|
||||
sock.on('message', function (buffer1: Buffer, buffer2: Buffer) {
|
||||
//
|
||||
});
|
||||
}
|
||||
|
||||
function test4() {
|
||||
var sock = zeromq.socket(zeromq.types.pull);
|
||||
sock.bind('tcp://127.0.0.1', err => {
|
||||
sock.send("some work");
|
||||
});
|
||||
sock.unbind('tcp://127.0.0.1', err => {
|
||||
//
|
||||
});
|
||||
}
|
||||
|
||||
function test5() {
|
||||
var sock = zeromq.socket(zeromq.types.pull, zeromq.options.linger);
|
||||
sock.bind('tcp://127.0.0.1', err => {
|
||||
sock.send("some work");
|
||||
});
|
||||
sock.monitor();
|
||||
sock.monitor(10);
|
||||
}
|
||||
|
||||
function test6() {
|
||||
var sock = zeromq.socket(zeromq.types.dealer);
|
||||
sock.bind('tcp://127.0.0.1', err => {
|
||||
sock.send("some work");
|
||||
});
|
||||
sock.pause();
|
||||
sock.resume();
|
||||
}
|
||||
241
types/zeromq/zeromq.d.ts
vendored
Normal file
241
types/zeromq/zeromq.d.ts
vendored
Normal file
@@ -0,0 +1,241 @@
|
||||
// Type definitions for zeromq.js
|
||||
// Project: https://github.com/zeromq/zeromq.js
|
||||
// Definitions by: Dave McKeown <http://github.com/davemckeown>, Erik Mavrinac <http://github.com/erikma>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
//
|
||||
// Forked from the DefinitelyTyped 'zmq' project originally created by Dave McKeown,
|
||||
// then updated with recent changes in the 'zeromq' project from
|
||||
// https://github.com/zeromq/zeromq.js/blob/master/lib/index.js
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
interface EventEmitter { }
|
||||
|
||||
interface SocketTypes {
|
||||
pub: number;
|
||||
xpub: number;
|
||||
sub: number;
|
||||
xsub: number;
|
||||
req: number;
|
||||
xreq: number;
|
||||
rep: number;
|
||||
xrep: number;
|
||||
push: number;
|
||||
pull: number;
|
||||
dealer: number;
|
||||
router: number;
|
||||
pair: number;
|
||||
stream: number;
|
||||
}
|
||||
|
||||
interface SocketOptions {
|
||||
_fd: number;
|
||||
_ioevents: number;
|
||||
_receiveMore: number;
|
||||
_subscribe: number;
|
||||
_unsubscribe: number;
|
||||
affinity: number;
|
||||
backlog: number;
|
||||
hwm: number;
|
||||
identity: number;
|
||||
linger: number;
|
||||
mcast_loop: number;
|
||||
rate: number;
|
||||
rcvbuf: number;
|
||||
last_endpoint: number;
|
||||
reconnect_ivl: number;
|
||||
recovery_ivl: number;
|
||||
sndbuf: number;
|
||||
swap: number;
|
||||
mechanism: number;
|
||||
plain_server: number;
|
||||
plain_username: number;
|
||||
plain_password: number;
|
||||
curve_server: number;
|
||||
curve_publickey: number;
|
||||
curve_secretkey: number;
|
||||
curve_serverkey: number;
|
||||
zap_domain: number;
|
||||
}
|
||||
|
||||
interface Socket extends EventEmitter {
|
||||
/**
|
||||
* Set `opt` to `val`.
|
||||
*
|
||||
* @param opt Option
|
||||
* @param val Value
|
||||
*/
|
||||
setsocketopt(opt: number, val: any): Socket;
|
||||
|
||||
/**
|
||||
* Set `opt` to `val`.
|
||||
*
|
||||
* @param opt Option
|
||||
* @param val Value
|
||||
*/
|
||||
setsocketopt(opt: string, val: any): Socket;
|
||||
|
||||
/**
|
||||
* Get socket `opt`.
|
||||
*
|
||||
* @param opt Option number
|
||||
*/
|
||||
getsocketopt(opt: number): any;
|
||||
|
||||
/**
|
||||
* Get socket `opt`.
|
||||
*
|
||||
* @param opt Option string
|
||||
*/
|
||||
getsocketopt(opt: string): any;
|
||||
|
||||
/**
|
||||
* Async bind.
|
||||
*
|
||||
* Emits the "bind" event.
|
||||
*
|
||||
* @param addr Socket address
|
||||
* @param cb Bind callback
|
||||
*/
|
||||
bind(addr: string, callback?: (error: string) => void ): Socket;
|
||||
|
||||
/**
|
||||
* Sync bind.
|
||||
*
|
||||
* @param addr Socket address
|
||||
*/
|
||||
bindSync(addr: string): Socket;
|
||||
|
||||
/**
|
||||
* Async unbind.
|
||||
*
|
||||
* Emits the "unbind" event.
|
||||
*
|
||||
* @param addr Socket address
|
||||
* @param cb Unind callback
|
||||
*/
|
||||
unbind(addr: string, callback?: (error: string) => void ): Socket;
|
||||
|
||||
/**
|
||||
* Sync unbind.
|
||||
*
|
||||
* @param addr Socket address
|
||||
*/
|
||||
unbindSync(addr: string): Socket;
|
||||
|
||||
/**
|
||||
* Connect to `addr`.
|
||||
*
|
||||
* @param addr Connection address
|
||||
*/
|
||||
connect(addr: string): Socket;
|
||||
|
||||
/**
|
||||
* Disconnect from `addr`.
|
||||
*
|
||||
* @param addr The address
|
||||
*/
|
||||
disconnect(addr: string): Socket;
|
||||
|
||||
/**
|
||||
* Subscribe with the given `filter`.
|
||||
*
|
||||
* @param filter The filter
|
||||
*/
|
||||
subscribe(filter: string): Socket;
|
||||
|
||||
/**
|
||||
* Unsubscribe with the given `filter`.
|
||||
*
|
||||
* @param filter The filter
|
||||
*/
|
||||
unsubscribe(filter: string): Socket;
|
||||
|
||||
/**
|
||||
* Send the given `msg`.
|
||||
*
|
||||
* @param msg The message
|
||||
* @param flags Message flags
|
||||
*/
|
||||
send(msg: string, flags?: number): Socket;
|
||||
|
||||
/**
|
||||
* Send the given `msg`.
|
||||
*
|
||||
* @param msg {Buffer} The message
|
||||
* @param flags {number} Optional message flags
|
||||
*/
|
||||
send(msg: Buffer, flags?: number): Socket;
|
||||
|
||||
/**
|
||||
* Send the given `msg`.
|
||||
*
|
||||
* @param msg The message
|
||||
* @param flags Message flags
|
||||
*/
|
||||
send(msg: any[], flags?: number): Socket;
|
||||
|
||||
/**
|
||||
* Enable monitoring of a Socket. This enables the following additional events:
|
||||
* 'connect', 'connect_delay', 'connect_retry', 'listen', 'bind_error',
|
||||
* 'accept', 'accept_error', 'close', 'close_error', 'disconnect'.
|
||||
* Each event receives the parameters: (eventValue, eventEndpointAddrress, error)
|
||||
*
|
||||
* @param {Number} timer interval in ms > 0 or Undefined for default
|
||||
* @return {Socket} for chaining
|
||||
*/
|
||||
monitor(interval?: number): Socket;
|
||||
|
||||
/**
|
||||
* Close the socket.
|
||||
*
|
||||
*/
|
||||
close(): Socket;
|
||||
|
||||
/**
|
||||
* Socket event - 'message'
|
||||
* @param eventName {string}
|
||||
* @param callback {Function}
|
||||
*/
|
||||
on(eventName: string, callback: (...buffer: Buffer[]) => void): void;
|
||||
|
||||
pause(): void;
|
||||
resume(): void;
|
||||
|
||||
// Socket Options
|
||||
_fd: any;
|
||||
_ioevents: any;
|
||||
_receiveMore: any;
|
||||
_subscribe: any;
|
||||
_unsubscribe: any;
|
||||
affinity: any;
|
||||
backlog(): any;
|
||||
hwm: any;
|
||||
identity: any;
|
||||
linger: any;
|
||||
mcast_loop: any;
|
||||
rate: any;
|
||||
rcvbuf: any;
|
||||
last_endpoint: any;
|
||||
reconnect_ivl: any;
|
||||
recovery_ivl: any;
|
||||
sndbuf: any;
|
||||
swap: any;
|
||||
mechanism: any;
|
||||
plain_server: any;
|
||||
plain_username: any;
|
||||
plain_password: any;
|
||||
curve_server: any;
|
||||
curve_publickey: any;
|
||||
curve_secretkey: any;
|
||||
curve_serverkey: any;
|
||||
zap_domain: any;
|
||||
}
|
||||
|
||||
export var version: string;
|
||||
export var types: SocketTypes;
|
||||
export var options: SocketOptions;
|
||||
|
||||
declare function socket(type: string, options?: any): Socket;
|
||||
declare function socket(type: number, options?: any): Socket;
|
||||
declare function createSocket(type: string, options?: any): Socket;
|
||||
Reference in New Issue
Block a user