Socket
Socket
Sign inDemoInstall

bson

Package Overview
Dependencies
Maintainers
2
Versions
162
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bson - npm Package Compare versions

Comparing version 0.4.10 to 0.4.12

12

lib/bson/bson.js

@@ -44,5 +44,5 @@ // "use strict"

*/
BSON.prototype.serialize = function serialize(object, checkKeys, asBuffer, serializeFunctions, index) {
BSON.prototype.serialize = function serialize(object, checkKeys, asBuffer, serializeFunctions, index, ignoreUndefined) {
// Attempt to serialize
var serializationIndex = serializer(buffer, object, checkKeys, index || 0, 0, serializeFunctions);
var serializationIndex = serializer(buffer, object, checkKeys, index || 0, 0, serializeFunctions, ignoreUndefined);
// Create the final buffer

@@ -67,5 +67,5 @@ var finishedBuffer = new Buffer(serializationIndex);

*/
BSON.prototype.serializeWithBufferAndIndex = function(object, checkKeys, finalBuffer, startIndex, serializeFunctions) {
BSON.prototype.serializeWithBufferAndIndex = function(object, checkKeys, finalBuffer, startIndex, serializeFunctions, ignoreUndefined) {
// Attempt to serialize
var serializationIndex = serializer(buffer, object, checkKeys, startIndex || 0, 0, serializeFunctions);
var serializationIndex = serializer(buffer, object, checkKeys, startIndex || 0, 0, serializeFunctions, ignoreUndefined);
buffer.copy(finalBuffer, startIndex, 0, serializationIndex);

@@ -103,4 +103,4 @@ // Return the index

*/
BSON.prototype.calculateObjectSize = function(object, serializeFunctions) {
return calculateObjectSize(object, serializeFunctions);
BSON.prototype.calculateObjectSize = function(object, serializeFunctions, ignoreUndefined) {
return calculateObjectSize(object, serializeFunctions, ignoreUndefined);
}

@@ -107,0 +107,0 @@

@@ -22,3 +22,3 @@ "use strict"

var calculateObjectSize = function calculateObjectSize(object, serializeFunctions) {
var calculateObjectSize = function calculateObjectSize(object, serializeFunctions, ignoreUndefined) {
var totalLength = (4 + 1);

@@ -28,3 +28,3 @@

for(var i = 0; i < object.length; i++) {
totalLength += calculateElement(i.toString(), object[i], serializeFunctions, true)
totalLength += calculateElement(i.toString(), object[i], serializeFunctions, true, ignoreUndefined)
}

@@ -39,3 +39,3 @@ } else {

for(var key in object) {
totalLength += calculateElement(key, object[key], serializeFunctions)
totalLength += calculateElement(key, object[key], serializeFunctions, false, ignoreUndefined)
}

@@ -51,3 +51,3 @@ }

*/
function calculateElement(name, value, serializeFunctions, isArray) {
function calculateElement(name, value, serializeFunctions, isArray, ignoreUndefined) {
// If we have toBSON defined, override the current object

@@ -72,3 +72,3 @@ if(value && value.toBSON){

case 'undefined':
if(isArray) return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + (1);
if(isArray || !ignoreUndefined) return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + (1);
return 0;

@@ -92,3 +92,3 @@ case 'boolean':

if(value.scope != null && Object.keys(value.scope).length > 0) {
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + 4 + Buffer.byteLength(value.code.toString(), 'utf8') + 1 + calculateObjectSize(value.scope, serializeFunctions);
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + 4 + Buffer.byteLength(value.code.toString(), 'utf8') + 1 + calculateObjectSize(value.scope, serializeFunctions, ignoreUndefined);
} else {

@@ -118,3 +118,3 @@ return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + Buffer.byteLength(value.code.toString(), 'utf8') + 1;

return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + calculateObjectSize(ordered_values, serializeFunctions);
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + calculateObjectSize(ordered_values, serializeFunctions, ignoreUndefined);
} else if(value instanceof RegExp || Object.prototype.toString.call(value) === '[object RegExp]') {

@@ -127,3 +127,3 @@ return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + Buffer.byteLength(value.source, 'utf8') + 1

} else {
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + calculateObjectSize(value, serializeFunctions) + 1;
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + calculateObjectSize(value, serializeFunctions, ignoreUndefined) + 1;
}

@@ -137,3 +137,3 @@ case 'function':

if(serializeFunctions && value.scope != null && Object.keys(value.scope).length > 0) {
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + 4 + Buffer.byteLength(value.toString(), 'utf8') + 1 + calculateObjectSize(value.scope, serializeFunctions);
return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + 4 + Buffer.byteLength(value.toString(), 'utf8') + 1 + calculateObjectSize(value.scope, serializeFunctions, ignoreUndefined);
} else if(serializeFunctions) {

@@ -140,0 +140,0 @@ return (name != null ? (Buffer.byteLength(name, 'utf8') + 1) : 0) + 1 + 4 + Buffer.byteLength(value.toString(), 'utf8') + 1;

@@ -268,3 +268,3 @@ "use strict"

var serializeObject = function(buffer, key, value, index, checkKeys, depth, serializeFunctions) {
var serializeObject = function(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined) {
// Write the type

@@ -277,3 +277,3 @@ buffer[index++] = Array.isArray(value) ? BSON.BSON_DATA_ARRAY : BSON.BSON_DATA_OBJECT;

buffer[index++] = 0;
var endIndex = serializeInto(buffer, value, checkKeys, index, depth + 1, serializeFunctions);
var endIndex = serializeInto(buffer, value, checkKeys, index, depth + 1, serializeFunctions, ignoreUndefined);
// Write size

@@ -346,3 +346,3 @@ var size = endIndex - index;

var serializeCode = function(buffer, key, value, index, checkKeys, depth, serializeFunctions) {
var serializeCode = function(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined) {
if(value.scope != null && Object.keys(value.scope).length > 0) {

@@ -379,3 +379,3 @@ // Write the type

// Serialize the scope value
var endIndex = serializeInto(buffer, value.scope, checkKeys, index, depth + 1, serializeFunctions)
var endIndex = serializeInto(buffer, value.scope, checkKeys, index, depth + 1, serializeFunctions, ignoreUndefined)
index = endIndex - 1;

@@ -513,3 +513,3 @@

var serializeInto = function serializeInto(buffer, object, checkKeys, startingIndex, depth, serializeFunctions) {
var serializeInto = function serializeInto(buffer, object, checkKeys, startingIndex, depth, serializeFunctions, ignoreUndefined) {
startingIndex = startingIndex || 0;

@@ -553,3 +553,3 @@

} else if(type == 'object' && value['_bsontype'] == null) {
index = serializeObject(buffer, key, value, index, checkKeys, depth, serializeFunctions);
index = serializeObject(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined);
} else if(value['_bsontype'] == 'Long' || value['_bsontype'] == 'Timestamp') {

@@ -562,3 +562,3 @@ index = serializeLong(buffer, key, value, index);

} else if(value['_bsontype'] == 'Code') {
index = serializeCode(buffer, key, value, index, checkKeys, depth, serializeFunctions);
index = serializeCode(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined);
} else if(value['_bsontype'] == 'Binary') {

@@ -604,3 +604,3 @@ index = serializeBinary(buffer, key, value, index);

if (!checkKeys) {
if (checkKeys) {
if('$' == key[0]) {

@@ -622,4 +622,4 @@ throw Error("key " + key + " must not start with '$'");

index = serializeDate(buffer, key, value, index);
} else if(value === undefined) {
} else if(value === null) {
} else if(value === undefined && ignoreUndefined == true) {
} else if(value === null || value === undefined) {
index = serializeUndefined(buffer, key, value, index);

@@ -633,3 +633,3 @@ } else if(value['_bsontype'] == 'ObjectID') {

} else if(type == 'object' && value['_bsontype'] == null) {
index = serializeObject(buffer, key, value, index, checkKeys, depth, serializeFunctions);
index = serializeObject(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined);
} else if(value['_bsontype'] == 'Long' || value['_bsontype'] == 'Timestamp') {

@@ -640,3 +640,3 @@ index = serializeLong(buffer, key, value, index);

} else if(value['_bsontype'] == 'Code') {
index = serializeCode(buffer, key, value, index, checkKeys, depth, serializeFunctions);
index = serializeCode(buffer, key, value, index, checkKeys, depth, serializeFunctions, ignoreUndefined);
} else if(typeof value == 'function' && serializeFunctions) {

@@ -643,0 +643,0 @@ index = serializeFunction(buffer, key, value, index, checkKeys, depth, serializeFunctions);

{ "name" : "bson"
, "description" : "A bson parser for node.js and the browser"
, "keywords" : ["mongodb", "bson", "parser"]
, "version" : "0.4.10"
, "version" : "0.4.12"
, "author" : "Christian Amor Kvalheim <christkv@gmail.com>"

@@ -6,0 +6,0 @@ , "contributors" : []

Sorry, the diff of this file is not supported yet

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