RawObject
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:
<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:
<script src="ObjectToBuffer.min.js"></> <!-- OR TRANSPILED: <script src="ObjectToBuffer.min.js"></> --> <script> ObjectToBuffer(obj, options) </script>
-
Connection part convert buffer to object:
<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.