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

binarykvparser

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

binarykvparser - npm Package Compare versions

Comparing version 2.0.1 to 2.1.0

node_modules/long/.npmignore

66

index.js

@@ -1,2 +0,2 @@

var ByteBuffer = require('bytebuffer');
var Long = require('long');

@@ -15,5 +15,6 @@ var Type = {

exports.parse = function(buffer) {
if(!ByteBuffer.isByteBuffer(buffer)) {
buffer = ByteBuffer.wrap(buffer, 'utf8', true);
exports.parse = function(buffer, offset) {
if (buffer.toBuffer) {
// Convert it to a standard Buffer if it's a ByteBuffer
buffer = buffer.toBuffer();
}

@@ -24,23 +25,32 @@

while(true) {
type = buffer.readByte();
if (typeof offset === 'undefined') {
offset = [0];
}
if (!(offset instanceof Array)) {
offset = [offset]; // turn this into an array because it needs to be passed by reference later :/
}
while (true) {
type = buffer.readUInt8(offset[0]);
offset[0] += 1;
if(type == Type.End) {
if (type == Type.End) {
break;
}
name = buffer.readCString();
name = readCString();
if(type === Type.None && !name && !Object.keys(obj).length) {
if (type === Type.None && !name && !Object.keys(obj).length) {
// Root node
name = buffer.readCString();
name = readCString();
}
switch(type) {
switch (type) {
case Type.None:
value = exports.parse(buffer);
value = exports.parse(buffer, offset);
break;
case Type.String:
value = buffer.readCString();
value = readCString();
break;

@@ -51,18 +61,21 @@

case Type.Pointer:
value = buffer.readInt32();
value = buffer.readInt32LE(offset[0]);
offset[0] += 4;
break;
case Type.UInt64:
value = buffer.readUint64();
value = new Long(buffer.readUInt32LE(offset[0]), buffer.readUInt32LE(offset[0] + 4), true);
offset[0] += 8;
break;
case Type.Float32:
value = buffer.readFloat32();
value = buffer.readFloatLE(offset[0]);
offset[0] += 4;
break;
default:
throw new Error("Unknown KV type " + type + " encountered at offset " + buffer.offset);
throw new Error("Unknown KV type " + type + " encountered at offset " + offset[0]);
}
if(name) {
if (name) {
obj[name] = convertObject(value);

@@ -73,2 +86,9 @@ }

return obj;
function readCString() {
var end = buffer.indexOf(0, offset[0]);
var str = buffer.toString('utf8', offset[0], end);
offset[0] = end + 1;
return str;
}
}

@@ -82,3 +102,3 @@

function convertObject(obj) {
if(typeof obj !== 'object') {
if (typeof obj !== 'object') {
return obj;

@@ -90,5 +110,5 @@ }

var i;
for(i = 0; i < keys.length; i++) {
for (i = 0; i < keys.length; i++) {
keys[i] = parseInt(keys[i], 10);
if(isNaN(keys[i])) {
if (isNaN(keys[i])) {
return obj;

@@ -99,3 +119,3 @@ }

keys.sort(function(a, b) {
if(a == b) {
if (a == b) {
return 0;

@@ -107,3 +127,3 @@ } else {

for(i = 0; i < keys.length; i++) {
for (i = 0; i < keys.length; i++) {
if(keys[i] != i) {

@@ -110,0 +130,0 @@ return obj;

{
"name": "binarykvparser",
"version": "2.0.1",
"version": "2.1.0",
"description": "Parses binary KeyValues, used especially in Steam",
"main": "index.js",
"dependencies": {
"bytebuffer": "^5.0.0"
"long": "^3.2.0"
},
"bundledDependencies": ["long"],
"repository": {

@@ -10,0 +11,0 @@ "type": "git",

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