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

vogels

Package Overview
Dependencies
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vogels - npm Package Compare versions

Comparing version 0.10.0 to 0.11.0

examples/optionalAttributes.js

6

lib/serializer.js

@@ -344,4 +344,8 @@ 'use strict';

var deserialized = _.reduce(schema.attrs, function (result, attr, key) {
result[key] = internals.deserializeAttribute(item[key], attr);
var value = internals.deserializeAttribute(item[key], attr);
if(!_.isNull(value) && !_.isUndefined(value)) {
result[key] = value;
}
return result;

@@ -348,0 +352,0 @@ }, {});

7

lib/table.js

@@ -9,2 +9,3 @@ 'use strict';

async = require('async'),
utils = require('./utils'),
ParallelScan = require('./parallelScan');

@@ -122,5 +123,7 @@

var attrs = utils.omitNulls(data);
var params = {
TableName : self.tableName(),
Item : self.serializer.serializeItem(self.schema, data)
Item : self.serializer.serializeItem(self.schema, attrs)
};

@@ -137,3 +140,3 @@

var item = self.initItem(data);
var item = self.initItem(attrs);
self._after.emit('create', item);

@@ -140,0 +143,0 @@

@@ -9,2 +9,8 @@ 'use strict';

utils.omitNulls = function (data) {
return _.omit(data, function(value) {
return _.isNull(value) || _.isUndefined(value);
});
};
utils.mergeResults = function (responses, tableName) {

@@ -11,0 +17,0 @@ var result = {

{
"name": "vogels",
"version": "0.10.0",
"version": "0.11.0",
"author": "Ryan Fitzgerald <ryan@codebrewstudios.com>",

@@ -5,0 +5,0 @@ "description": "DynamoDB data mapper",

@@ -468,2 +468,15 @@ 'use strict';

it('should omit attributes with null values', function () {
schema.String('name');
schema.String('title');
var itemResp = {name : {S: 'Tim Tester'} };
var item = serializer.deserializeItem(schema, itemResp);
expect(item).to.include.keys('name');
expect(item).to.not.include.keys('title');
});
});

@@ -470,0 +483,0 @@

@@ -267,2 +267,34 @@ 'use strict';

it('should omit null values', function (done) {
schema.String('email', {hashKey: true});
schema.String('name');
schema.Number('age').allow(null);
table = new Table('accounts', schema, serializer, dynamodb);
var request = {
TableName: 'accounts',
Item : {
email : {S : 'test@test.com'},
name : {S : 'Tim Test'}
}
};
var item = {email : 'test@test.com', name : 'Tim Test', age : null};
dynamodb.putItem.withArgs(request).yields(null, {});
serializer.serializeItem.withArgs(schema, {email : 'test@test.com', name : 'Tim Test'}).returns(request.Item);
table.create(item, function (err, account) {
account.should.be.instanceof(Item);
account.get('email').should.equal('test@test.com');
account.get('name').should.equal('Tim Test');
expect(account.toJSON()).to.have.keys(['email', 'name']);
done();
});
});
});

@@ -269,0 +301,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