New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sharedb

Package Overview
Dependencies
Maintainers
1
Versions
141
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sharedb - npm Package Compare versions

Comparing version 0.10.1 to 0.10.2

2

package.json
{
"name": "sharedb",
"version": "0.10.1",
"version": "0.10.2",
"description": "JSON OT database backend",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -283,8 +283,26 @@ var Backend = require('../../lib/backend');

if (err) return done(err);
doc.submitOp({p: ['age'], na: 2});
var count = 0;
doc.submitOp({p: ['age'], na: 2}, function(err) {
count++;
if (err) return done(err);
if (count === 1) {
expect(doc.data).eql({age: 5});
expect(doc.version).eql(2);
} else {
expect(doc.data).eql({age: 12});
expect(doc.version).eql(3);
done();
}
});
doc2.submitOp({p: ['age'], na: 7}, function(err) {
count++;
if (err) return done(err);
expect(doc2.data).eql({age: 12});
expect(doc2.version).eql(3);
done();
if (count === 1) {
expect(doc2.data).eql({age: 10});
expect(doc2.version).eql(2);
} else {
expect(doc2.data).eql({age: 12});
expect(doc2.version).eql(3);
done();
}
});

@@ -299,8 +317,28 @@ });

var doc2 = backend.connect().get('dogs', 'fido');
doc.create({age: 3});
var count = 0;
doc.create({age: 3}, function(err) {
count++;
if (count === 1) {
if (err) return done(err);
expect(doc.version).eql(1);
expect(doc.data).eql({age: 3});
} else {
expect(err).ok();
expect(doc.version).eql(1);
expect(doc.data).eql({age: 5});
done();
}
});
doc2.create({age: 5}, function(err) {
expect(err).ok();
expect(doc2.version).eql(1);
expect(doc2.data).eql({age: 3});
done();
count++;
if (count === 1) {
if (err) return done(err);
expect(doc2.version).eql(1);
expect(doc2.data).eql({age: 5});
} else {
expect(err).ok();
expect(doc2.version).eql(1);
expect(doc2.data).eql({age: 3});
done();
}
});

@@ -317,8 +355,26 @@ });

if (err) return done(err);
doc.del();
var count = 0;
doc.del(function(err) {
count++;
if (err) return done(err);
if (count === 1) {
expect(doc.version).eql(2);
expect(doc.data).eql(undefined);
} else {
expect(doc.version).eql(3);
expect(doc.data).eql(undefined);
done();
}
});
doc2.del(function(err) {
count++;
if (err) return done(err);
expect(doc2.version).eql(3);
expect(doc2.data).eql(undefined);
done();
if (count === 1) {
expect(doc2.version).eql(2);
expect(doc2.data).eql(undefined);
} else {
expect(doc2.version).eql(3);
expect(doc2.data).eql(undefined);
done();
}
});

@@ -325,0 +381,0 @@ });

@@ -31,2 +31,6 @@ var async = require('async');

if (err) return callback(err);
if (snapshot.v !== op.v) {
var succeeded = false;
return callback(null, succeeded);
}
var err = ot.apply(snapshot, op);

@@ -99,2 +103,19 @@ if (err) return callback(err);

function testDelCommit(ops, snapshot) {
expect(snapshot.v).equal(2);
expect(ops.length).equal(2);
expect(snapshot.data).equal(undefined);
expect(snapshot.type).equal(null);
expect(ops[0].create).ok();
expect(ops[1].del).equal(true);
}
function testOpOrDelCommit(ops, snapshot) {
if (ops[1].op) {
testOpCommit(ops, snapshot);
} else {
testDelCommit(ops, snapshot);
}
}
it('one commit succeeds from 2 simultaneous ops', function(done) {

@@ -127,11 +148,2 @@ var ops = [

function testDelCommit(ops, snapshot) {
expect(snapshot.v).equal(2);
expect(ops.length).equal(2);
expect(snapshot.data).equal(undefined);
expect(snapshot.type).equal(null);
expect(ops[0].create).ok();
expect(ops[1].del).equal(true);
}
it('one commit succeeds from 2 simultaneous deletes', function(done) {

@@ -172,3 +184,3 @@ var ops = [

if (err) return done(err);
commitConcurrent(db, ops, testDelCommit, done);
commitConcurrent(db, ops, testOpOrDelCommit, done);
});

@@ -185,3 +197,3 @@ });

if (err) return done(err);
commitConcurrent(db, ops, testOpCommit, done);
commitConcurrent(db, ops, testOpOrDelCommit, done);
});

@@ -188,0 +200,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc