Socket
Socket
Sign inDemoInstall

bops

Package Overview
Dependencies
2
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bops

buffer operations


Version published
Weekly downloads
188K
increased by1.08%
Maintainers
1
Install size
53.1 kB
Created
Weekly downloads
 

Readme

Source

bops

Build Status TESTLING NPM

buffer/typed array agnostic buffer operations.

bops presents a JavaScript API for working with binary data that will work exactly the same in supported browsers and in node. due to the way that Buffer is implemented in node it is impossible to take code written against the Buffer API and make it work on top of binary data structures (Array Buffers and Typed Arrays) in the browser.

instead you have to fake the API on top of Object, but Object isn't designed for holding raw binary data and will be really slow/memory inefficient for many common binary use cases (parsing files, writing files, etc).

use bops in place of Buffer or Uint8Array to make your binary JS code fast + portable.

var binary = require('bops')

binary.readUInt8(new Buffer(10), 0) // === 10

in browser, will default to using Uint8Array instances. in node, will default to using Buffer instances.

API

supported encodings

  • utf8
  • hex
  • base64
bops.from(str, encoding="utf8") -> buf

given a string (and optional encoding) return a native buffer instance. also accepts arrays.

bops.to(buf, encoding="utf8") -> str

given a native buffer (and optional encoding) return a string.

bops.is(buf) -> bool

given a native buffer returns true. Returns false for other values.

bops.subarray(buf, start[, end]) -> buf

return a view onto the original buffer.

bops.join([buf, buf, buf]) -> buf

compile several buffers into a single buffer.

bops.create(size) -> buf

create a native buffer instance of size.

bops.copy(source, target, target_start, source_start, source_end)

perform a fast copy from one native buffer to another.

readUInt8(buf, at)
readInt8(buf, at)
readUInt16LE(buf, at)
readUInt32LE(buf, at)
readInt8(buf, at)
readInt16LE(buf, at)
readInt32LE(buf, at)
readFloatLE(buf, at)
readDoubleLE(buf, at)
readUInt16BE(buf, at)
readUInt32BE(buf, at)
readInt16BE(buf, at)
readInt32BE(buf, at)
readFloatBE(buf, at)
readDoubleBE(buf, at)

read a value from a buffer at a given byte offset.

writeUInt8(buf, value, at)
writeInt8(buf, value, at)
writeUInt16LE(buf, value, at)
writeUInt32LE(buf, value, at)
writeInt8(buf, value, at)
writeInt16LE(buf, value, at)
writeInt32LE(buf, value, at)
writeFloatLE(buf, value, at)
writeDoubleLE(buf, value, at)
writeUInt16BE(buf, value, at)
writeUInt32BE(buf, value, at)
writeInt16BE(buf, value, at)
writeInt32BE(buf, value, at)
writeFloatBE(buf, value, at)
writeDoubleBE(buf, value, at)

write a value to a buffer at a given byte offset.

License

MIT

Keywords

FAQs

Last updated on 24 Mar 2020

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc