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

compact-encoding

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compact-encoding - npm Package Compare versions

Comparing version

to
2.0.0

13

index.js

@@ -84,12 +84,7 @@ const LE = (new Uint8Array(new Uint16Array([255]).buffer))[0] === 0xff

preencode (state, b) {
uint.preencode(state, b.length << 2)
state.end += ((4 - (state.end & 3)) & 3)
uint.preencode(state, b.length)
state.end += b.byteLength
},
encode (state, b) {
const s = state.start
uint.encode(state, b.length << 2)
const padding = (4 - (state.start & 3)) & 3
state.buffer[s + (state.buffer[s] <= 0xfc ? 0 : 1)] |= padding
for (let i = 0; i < padding; i++) state.buffer[state.start++] = 0
uint.encode(state, b.length)
const view = new Uint8Array(b.buffer, b.byteOffset, b.byteLength)

@@ -101,6 +96,4 @@ if (BE) hostToLE32(view, b.length)

decode (state) {
const l = uint.decode(state)
const len = l >>> 2
const len = uint.decode(state)
state.start += (l & 3)
const byteOffset = state.buffer.byteOffset + state.start

@@ -107,0 +100,0 @@ const s = state.start

{
"name": "compact-encoding",
"version": "1.1.0",
"version": "2.0.0",
"description": "A series of compact encoding schemes for building small and fast parsers and serializers",

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

@@ -67,3 +67,3 @@ # compact-encoding

* `cenc.raw` - Pass through encodes a buffer - ie a basic copy.
* `cenc.uint32array` - Encodes a uint32array with it's length uint32 prefixed along with a 2 bit padding for alignment.
* `cenc.uint32array` - Encodes a uint32array with it's element length uint32 prefixed.
* `cenc.bool` - Encodes a boolean as 1 or 0.

@@ -70,0 +70,0 @@ * `cenc.string` - Encodes a utf-8 string, similar to buffer.

@@ -110,11 +110,11 @@ const enc = require('./')

enc.uint32array.preencode(state, new Uint32Array([1]))
t.same(state, { start: 0, end: 8, buffer: null })
t.same(state, { start: 0, end: 5, buffer: null })
enc.uint32array.preencode(state, new Uint32Array([42, 43]))
t.same(state, { start: 0, end: 20, buffer: null })
t.same(state, { start: 0, end: 14, buffer: null })
state.buffer = Buffer.alloc(state.end)
enc.uint32array.encode(state, new Uint32Array([1]))
t.same(state, { start: 8, end: 20, buffer: Buffer.from([7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) })
t.same(state, { start: 5, end: 14, buffer: Buffer.from([1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) })
enc.uint32array.encode(state, new Uint32Array([42, 43]))
t.same(state, { start: 20, end: 20, buffer: Buffer.from([7, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0]) })
t.same(state, { start: 14, end: 14, buffer: Buffer.from([1, 1, 0, 0, 0, 2, 42, 0, 0, 0, 43, 0, 0, 0]) })

@@ -128,19 +128,2 @@ state.start = 0

// aligned
state.start = 0
const u = enc.uint32array.decode(state)
t.ok(u.buffer === state.buffer.buffer)
// unaligned
state.buffer = Buffer.concat([Buffer.from('.'), state.buffer])
state.start = 1
const a = enc.uint32array.decode(state)
const b = enc.uint32array.decode(state)
t.same(a, new Uint32Array([1]))
t.same(b, new Uint32Array([42, 43]))
t.ok(a.buffer !== state.buffer.buffer)
t.ok(b.buffer !== state.buffer.buffer)
t.end()

@@ -147,0 +130,0 @@ })