Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

stream-stringify

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stream-stringify

Stringify nested JSON through streams.

  • 2.3.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Create streams for nested JSON structures of which you don't know about on beforehand.

Cheaper than JSON.stringify which always will buffers the entire object.

Example

jsonString = ''
root = sstringify().on('data', (data) -> jsonString += data)
root.writeKeyValue "firstKey", "firstValue"
nestedObject = root.startNewObject "nestedObject"
innerArray = nestedObject.startNewArray "innerArray"
innerArray.writeElement 1
innerArray.writeElement [2,3]
innerArray.stop()
nestedObject.writeKeyValue "anotherInnerKey", "anotherInnerValue"
nestedObject.stop()
root.stop()

jsonString is now:

{
  "firstKey": "firstValue",
  "nestedObject": {
    "innerArray": [
      1,
      [
        2,
        3
      ]
    ],
    "anotherInnerKey": "anotherInnerValue"
  }
}

Functionality

This stream supports functionality found in most streams, such as write(), end(), or destroy(). The methods described below are specific for this stream.

sstringify(options)

Constructs the root of the JSON structure. When specified, the following options change the behaviour of the stream:

  • type - String specifying the type of the stream root.
    • Object(Default) An object with key-value pairs
    • Array An array with arbitrary content
  • prettyFormat - Boolean specifying whether the object should be formatted beautifully.
  • tabWidth - If prettyFormat is true, then this is the number of spaces. Defaults to 2.
  • autoDestroy- Boolean specifying whether the object should be destroyed when ended. Default is true.

startNewObject(key)

Starts a new object stream which is connected to the specfied key. Returns the stream. When using an array, do not specify key.

startNewArray(key)

Starts a new array stream which is connected to the specfied key. Returns the stream. When using an array, do not specify key.

stop()

Notifies the stream that there won't be more information. This will close the bracket. The stream will automatically be ended and destroyed when not used by other streams (unless autoDestroy=false).

writeKeyValue(key,value)

Writes a key and a value to the stream. Does not work when working with an array.

writeElement(element)

Writes an element to the stream. Does not work when working with an object.

Set it off!

npm install stream-stringify

Keywords

FAQs

Package last updated on 04 May 2015

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc