ws-messaging
Advanced tools
Comparing version 1.0.1 to 2.0.0
@@ -1,5 +0,15 @@ | ||
# Change Log | ||
# Changelog | ||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. | ||
## [2.0.0](https://github.com/an-sh/ws-messaging/compare/v1.0.1...v2.0.0) (2019-12-14) | ||
### ⚠ BREAKING CHANGES | ||
* Now only Node.js version 10 and later are supported | ||
* Remove browserify | ||
* updates ([825b77c](https://github.com/an-sh/ws-messaging/commit/825b77c74393efab39ef0bda43a017d8bd0796a5)) | ||
<a name="1.0.1"></a> | ||
@@ -6,0 +16,0 @@ ## [1.0.1](https://github.com/an-sh/ws-messaging/compare/v1.0.0...v1.0.1) (2018-06-23) |
'use strict' | ||
module.exports = require('./lib/Client') | ||
module.exports = require('./src/Client') |
'use strict' | ||
var semver = require('semver') | ||
if (semver.lt(process.version, '6.0.0')) { | ||
module.exports = require('./lib/Server') | ||
} else { | ||
module.exports = require('./src/Server') | ||
} | ||
module.exports = require('./src/Server') |
{ | ||
"name": "ws-messaging", | ||
"version": "1.0.1", | ||
"version": "2.0.0", | ||
"description": "A minimalistic abstraction layer for websockets.", | ||
@@ -8,10 +8,4 @@ "main": "index.js", | ||
"scripts": { | ||
"compile": "babel src --out-dir lib --no-comments", | ||
"flow": "flow; test $? -eq 0 -o $? -eq 2", | ||
"prebundle-client": "npm run compile", | ||
"bundle-client": "browserify -g uglifyify --standalone ws-messaging lib/Client.js -o ws-messaging.min.js", | ||
"coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", | ||
"generate-docs": "jsdoc --configure .jsdoc.json --verbose", | ||
"prepare": "npm run bundle-client", | ||
"pretest": "npm run compile", | ||
"test": "nyc mocha" | ||
@@ -28,3 +22,3 @@ }, | ||
"engines": { | ||
"node": ">=4" | ||
"node": ">=10" | ||
}, | ||
@@ -38,22 +32,17 @@ "author": "Andrey Sharapov <an.sh.1@yandex.ru> (https://github.com/an-sh)", | ||
"dependencies": { | ||
"eventemitter3": "^3.0.0", | ||
"semver": "^5.3.0", | ||
"eventemitter3": "^4.0.0", | ||
"uid-safe": "^2.1.2", | ||
"ws": "^3.3.3" | ||
"ws": "^7.2.1" | ||
}, | ||
"devDependencies": { | ||
"babel-cli": "^6.14.0", | ||
"babel-preset-es2015": "^6.14.0", | ||
"browserify": "^15.0.0", | ||
"chai": "^4.1.2", | ||
"codecov": "^3.0.0", | ||
"docdash": "^0.4.0", | ||
"chai": "^4.2.0", | ||
"codecov": "^3.6.1", | ||
"docdash": "^1.1.1", | ||
"event-to-promise": "^0.8.0", | ||
"jsdoc": "^3.4.1", | ||
"mocha": "^4.1.0", | ||
"jsdoc": "^3.6.3", | ||
"mocha": "^6.2.2", | ||
"msgpack-lite": "^0.1.20", | ||
"nyc": "^11.4.1", | ||
"safe-buffer": "^5.1.1", | ||
"standard": "^10.0.3", | ||
"uglifyify": "^4.0.5" | ||
"nyc": "^14.1.1", | ||
"safe-buffer": "^5.2.0", | ||
"standard": "^14.3.1" | ||
}, | ||
@@ -60,0 +49,0 @@ "nyc": { |
@@ -103,4 +103,4 @@ # ws-messaging | ||
[Server API](https://an-sh.github.io/ws-messaging/1.0/Server.html) and | ||
[Client API](https://an-sh.github.io/ws-messaging/1.0/Client.html) | ||
[Server API](https://an-sh.github.io/ws-messaging/2.0/Server.html) and | ||
[Client API](https://an-sh.github.io/ws-messaging/2.0/Client.html) | ||
documentation is available online. | ||
@@ -107,0 +107,0 @@ |
@@ -7,5 +7,5 @@ 'use strict' | ||
const EventEmitter = require('eventemitter3') | ||
const { assign, attempt, fromCallback } = require('./utils') | ||
const { assign, attempt, fromCallback, hasOwnProperty } = require('./utils') | ||
const blacklist = [ 'close', 'open', 'error', 'pong', 'retry' ] | ||
const blacklist = ['close', 'open', 'error', 'pong', 'retry'] | ||
@@ -23,3 +23,3 @@ // utils | ||
function getOwnProp (obj, name) { | ||
return obj.hasOwnProperty(name) ? obj[name] : undefined | ||
return hasOwnProperty(obj, name) ? obj[name] : undefined | ||
} | ||
@@ -89,3 +89,3 @@ | ||
if (typeof message.name === 'string' && message.args instanceof Array) { | ||
let nprops = Object.keys(message).length | ||
const nprops = Object.keys(message).length | ||
if (nprops === 2 || (nprops === 3 && validateId(message.id))) { | ||
@@ -96,5 +96,5 @@ passed = true | ||
} else { // ack message | ||
let nprops = Object.keys(message).length | ||
const nprops = Object.keys(message).length | ||
if (nprops === 2 && validateId(message.id)) { | ||
if (message.hasOwnProperty('error') || message.hasOwnProperty('result')) { | ||
if (hasOwnProperty(message, 'error') || hasOwnProperty(message, 'result')) { | ||
passed = true | ||
@@ -132,3 +132,3 @@ } | ||
this.cb() | ||
if (message.hasOwnProperty('error')) { | ||
if (hasOwnProperty(message, 'error')) { | ||
this.reject(message.error) | ||
@@ -360,4 +360,4 @@ } else { | ||
emit.call(this, 'ping') | ||
let timeout = this.pingTimeout | ||
let { message, promise } = this._makeMessage('ping', [], true, timeout) | ||
const timeout = this.pingTimeout | ||
const { message, promise } = this._makeMessage('ping', [], true, timeout) | ||
this._send(message).then(() => promise) | ||
@@ -376,6 +376,6 @@ .then(() => emit.call(this, 'pong')) | ||
_reconnect () { | ||
let { factor, maxTimeout, minTimeout, randomize, retries } = this.retryConfig | ||
const { factor, maxTimeout, minTimeout, randomize, retries } = this.retryConfig | ||
if (this.attempt >= retries || this.terminated) { return } | ||
let rand = 1 + (randomize ? Math.random() : 0) | ||
let timeout = Math.min(rand * minTimeout * Math.pow(factor, this.attempt), maxTimeout) | ||
const rand = 1 + (randomize ? Math.random() : 0) | ||
const timeout = Math.min(rand * minTimeout * Math.pow(factor, this.attempt), maxTimeout) | ||
this.reconnectTimeoutId = setTimeout(this.reconnect.bind(this), timeout) | ||
@@ -401,3 +401,3 @@ this.attempt++ | ||
this.openHandler = () => { | ||
this._send(this.auth, {isAuth: true}) | ||
this._send(this.auth, { isAuth: true }) | ||
this.authTimeoutId = setTimeout( | ||
@@ -428,6 +428,6 @@ this.close.bind(this, 4008, 'Auth timeout', false), | ||
if (ev.code === 4003 || !this.url) { this.terminated = true } | ||
for (let id in this.pendingAcks) { | ||
for (const id in this.pendingAcks) { | ||
/* istanbul ignore else */ | ||
if (this.pendingAcks.hasOwnProperty(id)) { | ||
let ack = this.pendingAcks[id] | ||
if (hasOwnProperty(this.pendingAcks, id)) { | ||
const ack = this.pendingAcks[id] | ||
ack.forceNack(new ConnectionError(id)) | ||
@@ -447,7 +447,7 @@ } | ||
_makeMessage (name, args, needsAck, ackTimeout = this.ackTimeout) { | ||
let promise, message | ||
message = {name, args} | ||
let promise | ||
const message = { name, args } | ||
if (needsAck) { | ||
let id = this.counter++ | ||
let ack = new Ack(id, ackTimeout, () => delete this.pendingAcks[id]) | ||
const id = this.counter++ | ||
const ack = new Ack(id, ackTimeout, () => delete this.pendingAcks[id]) | ||
this.pendingAcks[id] = ack | ||
@@ -471,11 +471,11 @@ promise = ack.promise | ||
if (message.id) { | ||
let id = message.id | ||
let fn = getOwnProp(this.handlers, message.name) | ||
const id = message.id | ||
const fn = getOwnProp(this.handlers, message.name) | ||
if (fn) { | ||
attempt(() => fn.apply(null, message.args)) | ||
.then((result = null) => this._send({id, result})) | ||
.catch(error => this._send({id, error: this.errorFormatter(error)})) | ||
.then((result = null) => this._send({ id, result })) | ||
.catch(error => this._send({ id, error: this.errorFormatter(error) })) | ||
} else { | ||
let error = this.errorFormatter(new NoProcedureError(message.name)) | ||
this._send({id, error}) | ||
const error = this.errorFormatter(new NoProcedureError(message.name)) | ||
this._send({ id, error }) | ||
} | ||
@@ -486,3 +486,3 @@ } else { | ||
} else { | ||
let ack = this.pendingAcks[message.id] | ||
const ack = this.pendingAcks[message.id] | ||
if (ack) { ack.settle(message) } | ||
@@ -497,3 +497,3 @@ } | ||
if (!this.connected && !isAuth) { | ||
let id = skipEncoder ? undefined : message.id | ||
const id = skipEncoder ? undefined : message.id | ||
throw new ConnectionError(id) | ||
@@ -504,4 +504,4 @@ } | ||
} else { | ||
let binary = typeof data !== 'string' | ||
return fromCallback(cb => this.socket.send(data, {binary}, cb)) | ||
const binary = typeof data !== 'string' | ||
return fromCallback(cb => this.socket.send(data, { binary }, cb)) | ||
} | ||
@@ -521,3 +521,3 @@ }) | ||
send (event, ...args) { | ||
let { message } = this._makeMessage(event, args, false) | ||
const { message } = this._makeMessage(event, args, false) | ||
return this._send(message) | ||
@@ -534,3 +534,3 @@ } | ||
sendEncoded (data) { | ||
return this._send(data, {skipEncoder: true}) | ||
return this._send(data, { skipEncoder: true }) | ||
} | ||
@@ -547,3 +547,3 @@ | ||
encodeMessage (event, ...args) { | ||
let { message } = this._makeMessage(event, args, false) | ||
const { message } = this._makeMessage(event, args, false) | ||
return attempt(() => this.encoder(message)) | ||
@@ -563,3 +563,3 @@ } | ||
invoke (name, ...args) { | ||
let { message, promise } = this._makeMessage(name, args, true) | ||
const { message, promise } = this._makeMessage(name, args, true) | ||
return this._send(message).then(() => promise) | ||
@@ -566,0 +566,0 @@ } |
@@ -109,3 +109,3 @@ // @flow | ||
_onConnection (socket /* : Object & EventEmitter */) /* : void */ { | ||
let timeout = setTimeout( | ||
const timeout = setTimeout( | ||
socket.close.bind(socket, CLOSE_FORBIDDEN), this.authTimeout) | ||
@@ -121,3 +121,3 @@ socket.once('message', data => this._addClient(socket, data, timeout)) | ||
uid(18).then(id => { | ||
client = new Client(null, assign({socket, id}, this.socketOptions)) | ||
client = new Client(null, assign({ socket, id }, this.socketOptions)) | ||
client.autoReconnect = false | ||
@@ -140,3 +140,3 @@ this.clients.set(client.id, client) | ||
if (client) { | ||
let str = error.toString() | ||
const str = error.toString() | ||
client.close(CLOSE_FORBIDDEN, str) | ||
@@ -161,3 +161,3 @@ } | ||
encodeMessage (event /* : string */, ...args /* : Array<any> */) /* : any */ { | ||
let encoder = this.socketOptions.encoder || JSON.stringify | ||
const encoder = this.socketOptions.encoder || JSON.stringify | ||
return attempt(() => encoder({ name: event, args })) | ||
@@ -172,3 +172,3 @@ } | ||
close (code /* : number */ = 1000) /* : Promise<void> */ { | ||
for (let [, client] of this.clients) { | ||
for (const [, client] of this.clients) { | ||
client.close(code) | ||
@@ -175,0 +175,0 @@ } |
'use strict' | ||
function hasOwnProperty (obj, prop) { | ||
return Object.prototype.hasOwnProperty.call(obj, prop) | ||
} | ||
function assign (target) { | ||
for (let i = 1; i < arguments.length; i++) { | ||
let source = arguments[i] | ||
const source = arguments[i] | ||
if (!source) { continue } | ||
for (let key in source) { | ||
for (const key in source) { | ||
/* istanbul ignore else */ | ||
if (source.hasOwnProperty(key)) { | ||
if (hasOwnProperty(source, key)) { | ||
target[key] = source[key] | ||
@@ -36,3 +40,4 @@ } | ||
attempt, | ||
fromCallback | ||
fromCallback, | ||
hasOwnProperty | ||
} |
@@ -48,3 +48,3 @@ 'use strict' | ||
it('should spawn a server', function () { | ||
server = new Server({port}) | ||
server = new Server({ port }) | ||
return eventToPromise(server, 'ready') | ||
@@ -54,4 +54,4 @@ }) | ||
it('should connect to a server', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect') | ||
@@ -61,4 +61,4 @@ }) | ||
it('should confirm auth with a connect hook', function () { | ||
let auth = { token: 'token' } | ||
let reply = { user: 'user' } | ||
const auth = { token: 'token' } | ||
const reply = { user: 'user' } | ||
let client, req | ||
@@ -70,4 +70,4 @@ function connectionHook (_client, _data) { | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, auth}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, auth }) | ||
return eventToPromise(client, 'connect').then(rep => { | ||
@@ -86,5 +86,5 @@ expect(client).instanceof(Client) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
return eventToPromise(client, 'close', {error: 'connect'}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'close', { error: 'connect' }) | ||
.then(ev => { | ||
@@ -99,4 +99,4 @@ expect(ev.code).eql(4003) | ||
it('should use global WebSocket if available', function () { | ||
let auth = { token: 'token' } | ||
let reply = { user: 'user' } | ||
const auth = { token: 'token' } | ||
const reply = { user: 'user' } | ||
let c, req | ||
@@ -108,5 +108,5 @@ function connectionHook (_client, _data) { | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
server = new Server({ port }, { connectionHook }) | ||
global.WebSocket = WebSocket | ||
client = new Client(url, {auth}) | ||
client = new Client(url, { auth }) | ||
return eventToPromise(client, 'connect').then(rep => { | ||
@@ -120,9 +120,9 @@ expect(c).instanceof(Client) | ||
it('should send messages from a client to a server', function () { | ||
let data = { x: 1 } | ||
const data = { x: 1 } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
client.send('someEvent', data) | ||
@@ -136,11 +136,11 @@ return eventToPromise(c, 'someEvent') | ||
it('should send encoded messages', function () { | ||
let data = { x: 1 } | ||
const data = { x: 1 } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
return client.encodeMessage('someEvent', data) | ||
}).then(m => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
client.sendEncoded(m) | ||
@@ -154,11 +154,11 @@ return eventToPromise(c, 'someEvent') | ||
it('should send server encoded messages', function () { | ||
let data = { x: 1 } | ||
const data = { x: 1 } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
return server.encodeMessage('someEvent', data) | ||
}).then(m => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
client.sendEncoded(m) | ||
@@ -172,9 +172,9 @@ return eventToPromise(c, 'someEvent') | ||
it('should send messages from a server to a client', function () { | ||
let data = { x: 1 } | ||
const data = { x: 1 } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.send('someEvent', data) | ||
@@ -195,6 +195,6 @@ return eventToPromise(client, 'someEvent') | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, receiveHook}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, receiveHook }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.send('someEvent') | ||
@@ -218,6 +218,6 @@ return eventToPromise(client, 'someEvent') | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, receiveHook}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, receiveHook }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.send('someEvent') | ||
@@ -238,6 +238,6 @@ return eventToPromise(c, 'preprocessingError') | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, sendHook}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, sendHook }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.send('someEvent') | ||
@@ -251,4 +251,4 @@ return eventToPromise(client, 'someEvent') | ||
it('should invoke server procedures', function () { | ||
let data = { x: 1 } | ||
let result = { y: 2 } | ||
const data = { x: 1 } | ||
const result = { y: 2 } | ||
let arg | ||
@@ -261,4 +261,4 @@ function connectionHook (client) { | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect') | ||
@@ -280,4 +280,4 @@ .then(() => client.invoke('someProcedure', data)) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect') | ||
@@ -290,4 +290,4 @@ .then(() => client.invoke('someProcedure')) | ||
it('should return NoProcedureError errors', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect') | ||
@@ -300,11 +300,11 @@ .then(() => client.invoke('someProcedure')) | ||
it('should send and receive binary messages', function () { | ||
let data = { x: 1, y: Buffer.from([1, 2, 3]) } | ||
const data = { x: 1, y: Buffer.from([1, 2, 3]) } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
let encoder = msgpack.encode | ||
let decoder = msgpack.decode | ||
server = new Server({port}, {connectionHook}, {encoder, decoder}) | ||
client = new Client(url, {WebSocket, encoder, decoder}) | ||
const encoder = msgpack.encode | ||
const decoder = msgpack.decode | ||
server = new Server({ port }, { connectionHook }, { encoder, decoder }) | ||
client = new Client(url, { WebSocket, encoder, decoder }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
client.send('someEvent', data) | ||
@@ -322,3 +322,3 @@ return eventToPromise(c, 'someEvent') | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
server = new Server({ port }, { connectionHook }) | ||
global.WebSocket = WebSocket | ||
@@ -333,4 +333,4 @@ client = new Client(url) | ||
it('should not send to not connected sockets', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
return client.send('msg').catch(err => expect(err).instanceof(Client.ConnectionError)) | ||
@@ -342,4 +342,4 @@ }) | ||
this.slow(2000) | ||
server = new Server({port}, {authTimeout: 1000}) | ||
let socket = new WebSocket(url) | ||
server = new Server({ port }, { authTimeout: 1000 }) | ||
const socket = new WebSocket(url) | ||
return eventToPromise(socket, 'close').then(ev => { | ||
@@ -356,4 +356,4 @@ expect(ev.code).eql(4003) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, ackTimeout: 1000, autoReconnect: false}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, ackTimeout: 1000, autoReconnect: false }) | ||
return eventToPromise(client, 'close').then(ev => { | ||
@@ -374,4 +374,4 @@ expect(ev.code).eql(4008) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, autoReconnect: false}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, autoReconnect: false }) | ||
return eventToPromise(client, 'close').then(() => { | ||
@@ -389,4 +389,4 @@ client.reconnect() | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, autoReconnectOptions: {retries: 0}}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, autoReconnectOptions: { retries: 0 } }) | ||
return eventToPromise(client, 'close').then(() => { | ||
@@ -403,4 +403,4 @@ eventToPromise(client, 'connect').then(notReachable) | ||
function connectionHook (client) { c = client } | ||
server = new Server({port}, {connectionHook}, {pingInterval: 1000}) | ||
client = new Client(url, {WebSocket, pingInterval: 1000}) | ||
server = new Server({ port }, { connectionHook }, { pingInterval: 1000 }) | ||
client = new Client(url, { WebSocket, pingInterval: 1000 }) | ||
return eventToPromise(client, 'connect') | ||
@@ -411,3 +411,3 @@ .then(() => Promise.all([ | ||
eventToPromise(c, 'ping'), | ||
eventToPromise(c, 'pong') ])) | ||
eventToPromise(c, 'pong')])) | ||
}) | ||
@@ -420,5 +420,5 @@ | ||
function connectionHook (client) { c = client } | ||
server = new Server({port}, {connectionHook}, | ||
{pingInterval: 1000, pingTimeout: 1000}) | ||
client = new Client(url, {WebSocket, autoReconnect: false}) | ||
server = new Server({ port }, { connectionHook }, | ||
{ pingInterval: 1000, pingTimeout: 1000 }) | ||
client = new Client(url, { WebSocket, autoReconnect: false }) | ||
return eventToPromise(client, 'connect') | ||
@@ -435,4 +435,4 @@ .then(() => { client.handlers.ping = () => new Promise(() => {}) }) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'open') | ||
@@ -454,4 +454,4 @@ .then(() => new Promise(resolve => setTimeout(resolve, 1000))) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'close').then(() => { | ||
@@ -467,4 +467,4 @@ return Promise.all([ | ||
it('should validate messages type', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -477,5 +477,5 @@ client.socket.send('arbitraryData') | ||
it('should validate message objects structure', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { name: 'name', args: '' } | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { name: 'name', args: '' } | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -488,5 +488,5 @@ client.socket.send(JSON.stringify(msg)) | ||
it('should validate message objects field count', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { name: 'name', args: [], data: 'data' } | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { name: 'name', args: [], data: 'data' } | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -499,5 +499,5 @@ client.socket.send(JSON.stringify(msg)) | ||
it('should validate ack messages id', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { id: -1 } | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { id: -1 } | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -510,5 +510,5 @@ client.socket.send(JSON.stringify(msg)) | ||
it('should validate ack messages data', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { id: 1, data: 'data' } | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { id: 1, data: 'data' } | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -521,7 +521,7 @@ client.socket.send(JSON.stringify(msg)) | ||
it('should validate if messages are Objects', function () { | ||
let encoder = msgpack.encode | ||
let decoder = msgpack.decode | ||
server = new Server({port}, null, {encoder, decoder}) | ||
client = new Client(url, {WebSocket, encoder, decoder}) | ||
let msg = 'data' | ||
const encoder = msgpack.encode | ||
const decoder = msgpack.decode | ||
server = new Server({ port }, null, { encoder, decoder }) | ||
client = new Client(url, { WebSocket, encoder, decoder }) | ||
const msg = 'data' | ||
return eventToPromise(client, 'connect').then(() => { | ||
@@ -534,9 +534,9 @@ client.socket.send(encoder(msg)) | ||
it('should skip validation if the option is on', function () { | ||
let msg = { name: 'someEvent', field: 'data' } | ||
const msg = { name: 'someEvent', field: 'data' } | ||
let id | ||
function connectionHook (client) { id = client.id } | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, skipValidation: true}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, skipValidation: true }) | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.socket.send(JSON.stringify(msg)) | ||
@@ -556,7 +556,7 @@ return eventToPromise(client, 'someEvent') | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { name: 'retry', args: [] } | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { name: 'retry', args: [] } | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.socket.send(JSON.stringify(msg)) | ||
@@ -575,7 +575,7 @@ c.on('retry', () => notReachable()) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { name: 'connect', args: [] } | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { name: 'connect', args: [] } | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.socket.send(JSON.stringify(msg)) | ||
@@ -594,7 +594,7 @@ c.on('retry', () => notReachable()) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
let msg = { id: 1, result: '' } | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
const msg = { id: 1, result: '' } | ||
return eventToPromise(client, 'connect').then(() => { | ||
let c = server.getClient(id) | ||
const c = server.getClient(id) | ||
c.socket.send(JSON.stringify(msg)) | ||
@@ -615,4 +615,4 @@ return new Promise(resolve => setTimeout(resolve, 1000)) | ||
it('should check for registered procedures before adding a new one', function () { | ||
server = new Server({port}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }) | ||
client = new Client(url, { WebSocket }) | ||
client.register('fn', () => {}) | ||
@@ -631,4 +631,4 @@ try { | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket, ackTimeout: 10}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket, ackTimeout: 10 }) | ||
return eventToPromise(client, 'connect') | ||
@@ -646,4 +646,4 @@ .then(() => client.invoke('someProcedure')) | ||
} | ||
server = new Server({port}, {connectionHook}) | ||
client = new Client(url, {WebSocket}) | ||
server = new Server({ port }, { connectionHook }) | ||
client = new Client(url, { WebSocket }) | ||
return eventToPromise(client, 'connect') | ||
@@ -650,0 +650,0 @@ .then(() => { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
3
10
1
3
58373
17
1372
+ Addedeventemitter3@4.0.7(transitive)
+ Addedws@7.5.10(transitive)
- Removedsemver@^5.3.0
- Removedasync-limiter@1.0.1(transitive)
- Removedeventemitter3@3.1.2(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedsemver@5.7.2(transitive)
- Removedultron@1.1.1(transitive)
- Removedws@3.3.3(transitive)
Updatedeventemitter3@^4.0.0
Updatedws@^7.2.1