@hrimthurs/rawobject

1.0.12 • Public • Published

RawObject

npm info badge packagephobia publish

Convert Object type value to/from raw Buffer

The best result is obtained when using for big objects with arrays numbers

Installation

You can use this package on the server side as well as the client side.

Node.js:

npm install @hrimthurs/rawobject

Connection

ESM:

import RawObject from '@hrimthurs/rawobject'
import { ObjectToBuffer, ObjectFromBuffer } from '@hrimthurs/rawobject'

CommonJS:

const RawObject = require('@hrimthurs/rawobject')
const { ObjectToBuffer, ObjectFromBuffer } = require('@hrimthurs/rawobject')

HTML tag <script>:

  • Connection full:

    GitHub file size in bytes GitHub file size in bytes

    <script src="RawObject.min.js"></>
    <!-- OR TRANSPILED: <script src="RawObject.min.legacy.js"></> -->
    <script>
        RawObject.ObjectToBuffer(obj, options)
        RawObject.ObjectFromBuffer(buffer)
    </script>
  • Connection part convert object to buffer:

    GitHub file size in bytes GitHub file size in bytes

    <script src="ObjectToBuffer.min.js"></>
    <!-- OR TRANSPILED: <script src="ObjectToBuffer.min.js"></> -->
    <script>
        ObjectToBuffer(obj, options)
    </script>
  • Connection part convert buffer to object:

    GitHub file size in bytes GitHub file size in bytes

    <script src="ObjectFromBuffer.min.js"></>
    <!-- OR TRANSPILED: <script src="ObjectFromBuffer.min.legacy.js"></> -->
    <script>
        ObjectFromBuffer(buffer)
    </script>

API

 RawObject.ObjectToBuffer(src, options)
 ObjectToBuffer(src, options)
    /**
     * Make raw Buffer from javascript Object
     * @param {object} srcObj                       - source object
     * @param {object} [options]                    - options
     * @param {number} [options.floatDigits]        - number of decimal points of the float values (default: 0 → not change original value)
     * @param {string|string[]} [options.skipKeys]  - exclude values of fields by skipKeys name (default: [])
     * @param {boolean} [options.bigEndian]         - use big endian order (default: true)
     * @param {boolean} [options.checkGain]         - check gain size of transform num arrays (default: true)
     * @param {boolean} [options.compress]          - use zip-compression (default: true)
     * @return {Buffer}
     */

 RawObject.ObjectFromBuffer(srcBuffer)
 ObjectFromBuffer(srcBuffer)
    /**
     * Make javascript Object from raw Buffer
     * @param {Buffer|ArrayBuffer} srcBuffer        - source buffer
     * @return {object}
     */

Usage

Make Buffer from Object:

let raw = RawObject.ObjectToBuffer(obj, { compress: true, floatDigits: 6 })

Make Object from Buffer:

let obj = RawObject.ObjectFromBuffer(raw)

It is possible to create an Object only from the Buffer obtained by the RawObject methods

More usage examples can be found here and here

Bugs and Issues

If you encounter any bugs or issues, feel free to open an issue at github.

Package Sidebar

Install

npm i @hrimthurs/rawobject

Weekly Downloads

1

Version

1.0.12

License

MIT

Unpacked Size

1.75 MB

Total Files

23

Last publish

Collaborators

  • thurs