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

structurae

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

structurae - npm Package Compare versions

Comparing version

to
3.0.3

4

CHANGELOG.md

@@ -7,2 +7,6 @@ # Changelog

## [3.0.3] - 2020-04-03
### Added
- MapView can be used within a larger buffer.
## [3.0.2] - 2020-04-02

@@ -9,0 +13,0 @@ ### Added

29

lib/map-view.js

@@ -39,9 +39,9 @@ const { ObjectView, ObjectViewMixin } = require('./object-view');

getLayout(field) {
const { layout, fields } = this.constructor;
const { layout } = this.constructor;
const definition = layout[field];
if (!definition) throw TypeError(`Field "${field}" is not found.`);
const { View, start } = definition;
const fieldStart = this.getUint32(start << 2, true);
const end = start < fields.length - 1 ? this.getUint32(start + 1 << 2, true)
: this.byteLength;
const startOffset = start << 2;
const fieldStart = this.getUint32(startOffset, true);
const end = this.getUint32(startOffset + 4, true);
return [View, fieldStart, end];

@@ -105,8 +105,9 @@ }

const start = offsets[i];
const end = i < fieldCount - 1 ? offsets[i + 1] : length;
const end = offsets[i + 1];
if (start === end) continue;
const field = fields[i];
const { View } = layout[field];
View.from(value[field], view, view.byteOffset + start, end - start);
View.from(value[field], view, start, end - start);
}
view.setUint32(fieldCount << 2, offsets[fieldCount], true);
return view;

@@ -125,4 +126,4 @@ }

const fieldCount = fields.length;
let length = fieldCount << 2;
const offsets = new Array(fieldCount).fill(0);
let length = (fieldCount + 1) << 2;
const offsets = new Array(fieldCount + 1).fill(0);
for (let i = 0; i < fieldCount; i++) {

@@ -137,2 +138,3 @@ const field = fields[i];

}
offsets[fieldCount] = length;
return !getOffsets ? length : [length, offsets];

@@ -150,12 +152,11 @@ }

const { layout, fields } = this;
const lastFieldId = fields.length - 1;
const object = {};
for (let i = 0; i <= lastFieldId; i++) {
for (let i = 0; i < fields.length; i++) {
const field = fields[i];
const { View } = layout[field];
const fieldStart = view.getUint32(i << 2, true);
const end = i < lastFieldId ? view.getUint32(i + 1 << 2, true)
: view.byteLength;
const startOffset = start + (i << 2);
const fieldStart = view.getUint32(startOffset, true);
const end = view.getUint32(startOffset + 4, true);
if (fieldStart === end) continue;
object[field] = View.toJSON(view, view.byteOffset + start + fieldStart, end - fieldStart);
object[field] = View.toJSON(view, start + fieldStart, end - fieldStart);
}

@@ -162,0 +163,0 @@ return object;

{
"name": "structurae",
"version": "3.0.2",
"version": "3.0.3",
"description": "Data structures for performance-sensitive modern JavaScript applications.",

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