![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
clever-buffer
Advanced tools
Buffer write and read utilities.
CleverBuffer adds functionality that is missing from the node Buffer class
npm install clever-buffer
NOTE: Examples below in coffeescript
{ CleverBufferReader } = require 'clever-buffer'
Allocates a new CleverBufferReader with an internal buffer of the specified existingBuffer
reader = new CleverBufferReader existingBuffer, {offset:0, noAssert: true, bigEndian: false}
Returns an Unsigned 8bit Integer from the current offset
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
console.log reader.getUInt8() # 255
console.log reader.getUInt8() # 2
Returns a Signed 8bit Integer from the current offset
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
console.log reader.getInt8() # -1
console.log reader.getInt8() # 2
Returns an Unsigned 16bit Integer from the current offset.
buf = new Buffer [0xFF, 0xFF, 0x02, 0x00]
reader = new CleverBufferReader buf
console.log reader.getUInt16() # 65535
console.log reader.getUInt16() # 2
Returns a Signed 16bit Integer from the current offset
buf = new Buffer [0xFF, 0xFF, 0x02, 0x00]
reader = new CleverBufferReader buf
console.log reader.getInt16() # -1
console.log reader.getInt16() # 2
Returns an Unsigned 32bit Integer from the current offset.
buf = new Buffer [0xFF, 0xFF, 0xFF, 0xFF]
reader = new CleverBufferReader buf
console.log reader.getUInt32() # 4294967295
Returns a Signed 32bit Integer from the current offset
buf = new Buffer [0xFF, 0xFF, 0xFF, 0xFF]
reader = new CleverBufferReader buf
console.log reader.getInt32() # -1
Returns an Unsigned 64bit Integer from the current offset.
The value will be returned as a string
buf = new Buffer [0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF]
reader = new CleverBufferReader buf
console.log reader.getUInt64() # "18446744073709551615"
Returns a Signed 64bit Integer from the current offset
The value will be returned as a string
buf = new Buffer [0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF]
reader = new CleverBufferReader buf
console.log reader.getInt64() # "-1"
Returns utf-8 encoded string of specified length
buf = new Buffer [0x48, 0x45, 0x4C, 0x4C, 0x4F]
reader = new CleverBufferReader buf
console.log reader.getString(length:5) # "HELLO"
{ CleverBufferWriter } = require 'clever-buffer'
Allocates a new CleverBufferWriter with an internal buffer of the specified existingBuffer
writer = new CleverBufferWriter existingBuffer, {offset:0, noAssert: true, bigEndian: false}
Writes an Unsigned 8bit Integer to the specified/current offset
buf = new Buffer 2
writer = new CleverBufferWriter buf
writer.writeUInt8 255
writer.writeUInt8 2
console.log buf # [0xFF, 0x02]
Writes an signed 8bit Integer to the specified/current offset
buf = new Buffer 2
writer = new CleverBufferWriter buf
writer.writeInt8 -1
writer.writeInt8 2
console.log buf # [0xFF, 0x02]
Writes an Unsigned 16bit Integer to the specified/current offset
buf = new Buffer 4
writer = new CleverBufferWriter buf
writer.writeUInt16 65535
writer.writeUInt16 2
console.log buf # [0xFF, 0xFF, 0x02, 0x00]
Writes an Signed 16bit Integer to the specified/current offset
buf = new Buffer 4
writer = new CleverBufferWriter buf
writer.writeInt16 -1
writer.writeInt16 2
console.log buf # [0xFF, 0xFF, 0x02, 0x00]
Writes an Unsigned 32bit Integer to the specified/current offset
buf = new Buffer 4
writer = new CleverBufferWriter buf
writer.writeUInt32 4294967295
console.log buf # [0xFF, 0xFF, 0xFF, 0xFF]
Writes an signed 32bit Integer to the specified/current offset
buf = new Buffer 4
writer = new CleverBufferWriter buf
writer.writeInt32 -1
console.log buf # [0xFF, 0xFF, 0xFF, 0xFF]
Writes string to the buffer
buf = new Buffer 5
writer = new CleverBufferWriter buf
writer.writeString "HELLO"
console.log buf # [0x48, 0x45, 0x4C, 0x4C, 0x4F]
The following is common to CleverBufferReader and CleverBufferWriter (The examples only show reader)
Gets the current offset of the buffer
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
console.log reader.getOffset() # 0
reader.getUInt8()
console.log reader.getOffset() # 1
reader.getUInt8()
console.log reader.getOffset() # 2
Skips the current offset forward the specified bytes amount
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
console.log reader.getOffset() # 0
reader.skip 2
console.log reader.getOffset() # 2
Skips to the specified offset
buf = new Buffer [0xFF, 0xFF, 0xFF, 0x01]
reader = new CleverBufferReader buf
console.log reader.getOffset() # 0
reader.skipTo 3
console.log reader.getOffset() # 3
Will return the underlying buffer so you can perform actions directly on it
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
console.log reader.getBuffer()[1] # 2
Will return a buffer slice from the start of the buffer to the current offset
buf = new Buffer [0xFF, 0x02]
reader = new CleverBufferReader buf
reader.getUInt8()
console.log reader.trim() # [0xFF]
console.log buf # [0xFF, 0x02]
npm test
FAQs
Buffer utilities
The npm package clever-buffer receives a total of 11 weekly downloads. As such, clever-buffer popularity was classified as not popular.
We found that clever-buffer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.