🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

socket.io-parser

Package Overview
Dependencies
Maintainers
2
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

socket.io-parser - npm Package Compare versions

Comparing version
2.2.6
to
2.3.0
+3
-4
binary.js

@@ -7,3 +7,2 @@ /*global Blob,File*/

var isArray = require('isarray');
var isBuf = require('./is-buffer');

@@ -32,3 +31,3 @@

return placeholder;
} else if (isArray(data)) {
} else if (Array.isArray(data)) {
var newData = new Array(data.length);

@@ -71,3 +70,3 @@ for (var i = 0; i < data.length; i++) {

return buf;
} else if (isArray(data)) {
} else if (Array.isArray(data)) {
for (var i = 0; i < data.length; i++) {

@@ -127,3 +126,3 @@ data[i] = _reconstructPacket(data[i]);

fileReader.readAsArrayBuffer(obj); // blob -> arraybuffer
} else if (isArray(obj)) { // handle array
} else if (Array.isArray(obj)) { // handle array
for (var i = 0; i < obj.length; i++) {

@@ -130,0 +129,0 @@ _removeBlobs(obj[i], i, obj);

2.3.0 / 2016-10-21
==================
* [perf] Split try catch into separate function (#40)
* [chore] remove browsers setting from .zuul.yml (#34)
* [chore] bump zuul (#37)
* [chore] Bump zuul to 3.11.0 & zuul-ngrok to 4.0.0 (#41)
* [chore] Update zuul browser settings following EOL notices (#42)
* [chore] Restrict files included in npm package (#45)
* [chore] Update zuul browser settings (#44)
* [chore] Remove deprecated isarray dependency (#46)
* [chore] Make the build status badge point towards master (#47)
* [chore] Move benchmark to dev dependencies (#48)
2.2.6 / 2015-11-25

@@ -3,0 +17,0 @@ ==================

@@ -8,3 +8,2 @@

var json = require('json3');
var isArray = require('isarray');
var Emitter = require('component-emitter');

@@ -327,7 +326,3 @@ var binary = require('./binary');

if (str.charAt(++i)) {
try {
p.data = json.parse(str.substr(i));
} catch(e){
return error();
}
p = tryParse(p, str.substr(i));
}

@@ -339,2 +334,11 @@

function tryParse(p, str) {
try {
p.data = json.parse(str);
} catch(e){
return error();
}
return p;
};
/**

@@ -341,0 +345,0 @@ * Deallocates a parser's resources

{
"name": "socket.io-parser",
"version": "2.2.6",
"version": "2.3.0",
"description": "socket.io protocol parser",

@@ -9,14 +9,18 @@ "repository": {

},
"files": [
"binary.js",
"index.js",
"is-buffer.js"
],
"dependencies": {
"debug": "2.2.0",
"json3": "3.3.2",
"component-emitter": "1.1.2",
"isarray": "0.0.1",
"benchmark": "1.0.0"
"component-emitter": "1.1.2"
},
"devDependencies": {
"benchmark": "1.0.0",
"expect.js": "0.2.0",
"mocha": "1.16.2",
"expect.js": "0.2.0",
"zuul": "3.7.3",
"zuul-ngrok": "3.2.0"
"zuul": "3.11.0",
"zuul-ngrok": "4.0.0"
},

@@ -23,0 +27,0 @@ "scripts": {

# socket.io-parser
[![Build Status](https://secure.travis-ci.org/socketio/socket.io-parser.svg)](http://travis-ci.org/socketio/socket.io-parser)
[![Build Status](https://secure.travis-ci.org/socketio/socket.io-parser.svg?branch=master)](http://travis-ci.org/socketio/socket.io-parser)
[![NPM version](https://badge.fury.io/js/socket.io-parser.svg)](http://badge.fury.io/js/socket.io-parser)

@@ -6,0 +6,0 @@

Sorry, the diff of this file is not supported yet

language: node_js
sudo: false
node_js:
- 0.10
notifications:
irc: irc.freenode.org##socket.io
git:
depth: 1
env:
global:
- secure: 28HHk1J0H64KNjzmmlxG/Ro0EPuLnhO0rU+kZjjthDHj/FaugIsqjAVQ1Dl6heWV2/MlVzw6nDCyMNiGwiVk0ruZPQ0SYdAKLplrdMtzAihbU3xx+ULFQPLM3SoW0ZFCEpe8dWPGy4WdgW7aLByeel9TJb3vlhAu7p7AvrcO7Fs=
- secure: rKEG0Cfw0vkw8thk63RHYG7h8XWYcBlvZ0w1IWpr2dAfnnLMi1palSTrBrFQc77flk7rN00zGIe76FhKydV9r4WWYAUYKPqo4k+9/FkpzjZlNtL49QRoNwC9jmJ8OeUwGowA13gZPyl/5P13wVaKCB0YrKnzz5LHo3Sp7So6J8U=
matrix:
include:
- node_js: '0.12'
env: BROWSER_NAME=chrome BROWSER_VERSION=latest
- node_js: '0.12'
env: BROWSER_NAME=safari BROWSER_VERSION=latest
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=6
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=7
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=8
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=9
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=10 BROWSER_PLATFORM="Windows 2012"
- node_js: '0.12'
env: BROWSER_NAME=ie BROWSER_VERSION=latest BROWSER_PLATFORM="Windows 2012"
- node_js: '0.12'
env: BROWSER_NAME=iphone BROWSER_VERSION=5.1
- node_js: '0.12'
env: BROWSER_NAME=iphone BROWSER_VERSION=6.1
- node_js: '0.12'
env: BROWSER_NAME=iphone BROWSER_VERSION=7.1
- node_js: '0.12'
env: BROWSER_NAME=android BROWSER_VERSION=4.0
- node_js: '0.12'
env: BROWSER_NAME=android BROWSER_VERSION=4.1
- node_js: '0.12'
env: BROWSER_NAME=android BROWSER_VERSION=4.2
- node_js: '0.12'
env: BROWSER_NAME=android BROWSER_VERSION=4.3
- node_js: '0.12'
env: BROWSER_NAME=android BROWSER_VERSION=4.4
ui: mocha-bdd
tunnel:
type: ngrok
authtoken: 6Aw8vTgcG5EvXdQywVvbh_3fMxvd4Q7dcL2caAHAFjV
proto: tcp
browsers:
- name: chrome
version: 29..latest
- name: firefox
version: latest
- name: safari
version: latest
- name: ie
version: 10
platform: Windows 2012
- name: ie
version: 9
version: [6..9, latest]
- name: iphone
version: oldest..latest
var bencher = require('./index');
bencher(function(benchmark) {
function logMean(test) {
console.log(test.name + ' mean run time: ' + test.stats.mean);
}
for (var i = 0; i < benchmark.length; i++) {
logMean(benchmark[i]);
}
});
var Benchmark = require('benchmark');
var parser = require('../index');
function test(packet, deferred) {
var encoder = new parser.Encoder();
var decoder = new parser.Decoder();
encoder.encode(packet, function(encodedPackets) {
var decoder = new parser.Decoder();
decoder.on('decoded', function(packet) {
deferred.resolve();
});
decoder.add(encodedPackets[0]);
});
}
var dataObject = {
'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
'b': 'xxxyyyzzzalsdfalskdjfalksdjfalksdjfalksdjfjjfjfjfjjfjfjfj',
'data': {
'is': 'cool',
'or': {
'is': {
'it': true
}
}
}
};
var bigArray = [];
for (var i = 0; i < 250; i++) {
bigArray.push(dataObject);
}
module.exports = function(callback) {
var suite = new Benchmark.Suite();
suite.add('small json parse', {defer: true, fn: function(deferred) {
var packet = {
type: parser.EVENT,
nsp: '/bench',
data: dataObject
};
test(packet, deferred);
}})
.add('big json parse', {defer: true, fn: function(deferred) {
var packet = {
type: parser.EVENT,
nsp: '/bench',
data: bigArray
};
test(packet, deferred);
}})
.add('json with small binary parse', {defer: true, fn: function(deferred) {
var packet = {
type: parser.EVENT,
nsp: '/bench',
data: {'a': [1, 2, 3], 'b': 'xxxyyyzzz', 'data': new Buffer(1000)}
};
test(packet, deferred);
}})
.add('json with big binary parse', {defer: true, fn: function(deferred) {
var bigBinaryData = {
bin1: new Buffer(10000),
arr: bigArray,
bin2: new Buffer(10000),
bin3: new Buffer(10000)
};
var packet = {
type: parser.EVENT,
nsp: '/bench',
data: bigBinaryData
};
test(packet, deferred);
}})
.on('complete', function() {
callback(this);
})
.run({'async': true});
};
REPORTER = dot
test:
@if [ "x$(BROWSER_NAME)" = "x" ]; then make test-node; else make test-zuul; fi
test-node:
@./node_modules/.bin/mocha \
--reporter $(REPORTER) \
--bail \
test/index.js
test-zuul:
@if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \
./node_modules/zuul/bin/zuul \
--browser-name $(BROWSER_NAME) \
--browser-version $(BROWSER_VERSION) \
test/index.js; \
else \
./node_modules/zuul/bin/zuul \
--browser-name $(BROWSER_NAME) \
--browser-version $(BROWSER_VERSION) \
--browser-platform "$(BROWSER_PLATFORM)" \
test/index.js; \
fi
.PHONY: test