json-arraybuffer-reviver
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

json-arraybuffer-reviver

Utility functions for JSON.parse and JSON.stringify to work with typed arrays and array buffers.

Installation

Install the library via NPM:

# npm install json-arraybuffer-reviver

Usage

Setup

Before you can use the functionality in your project, you need to import it to your project:

// Import the Price Oracle library.
import { replacer, reviver } from 'json-arraybuffer-reviver`;

Usage

When you need to JSON.stringify() or JSON.parse() data that contains ArrayBuffers, DataViews or BigInts, simply pass in the replacer and reviver functions:

// Create some data to encode.
const inputData = new Uint8Array();

// Encode the data into JSON.
const encodedData = JSON.stringify(inputData, replacer);

// Decode the data from JSON.
const outputData = JSON.parse(encodedData, reviver);

Details

The replacer function looks at the data that you are trying to encode into JSON and instead of using the default toString() methods it encodes the data in a human readable form as follows:

BigIntegers:

{
	$BigInt: 'The integer number as a string'
}

ArrayBuffers:

{
	$ArrayBuffer:
	{
		View: "Name of the ArrayBuffer or DataView type, as a string",
		Data: "Hexadecimal representation of the bytes that make up the ArrayBuffer",
	}
}

Compatibility Notes

Currently, Internet Explorer and Safari browsers do not support BigIntArrays.

Credits

The code for these utility functions was inspired by a gist by Jimmy Wärting, but rebuilt from scratch in order to be:

  • human readable,
  • clear in purpose,
  • properly documented and
  • well tested.

Package Sidebar

Install

npm i json-arraybuffer-reviver

Weekly Downloads

114

Version

1.0.3

License

MIT

Unpacked Size

10.5 kB

Total Files

6

Last publish

Collaborators

  • monsterbitar