vuvuzela

WebJar for vuvuzela

License

License

GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

vuvuzela
Last Version

Last Version

1.0.3
Release Date

Release Date

Type

Type

jar
Description

Description

vuvuzela
WebJar for vuvuzela
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/nolanlawson/vuvuzela

Download vuvuzela

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/vuvuzela/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>vuvuzela</artifactId>
    <version>1.0.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/vuvuzela/
implementation 'org.webjars.npm:vuvuzela:1.0.3'
// https://jarcasting.com/artifacts/org.webjars.npm/vuvuzela/
implementation ("org.webjars.npm:vuvuzela:1.0.3")
'org.webjars.npm:vuvuzela:jar:1.0.3'
<dependency org="org.webjars.npm" name="vuvuzela" rev="1.0.3">
  <artifact name="vuvuzela" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='vuvuzela', version='1.0.3')
)
libraryDependencies += "org.webjars.npm" % "vuvuzela" % "1.0.3"
[org.webjars.npm/vuvuzela "1.0.3"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

vuvuzela Build Status

Simple and non-recursive JSON parse/stringify library.

Goals

  • No recursion
    • Avoids the "too much recursion" or "maximum call stack" errors that the native JSON.parse and JSON.stringify methods may throw if an object is deeply nested.
  • Simplicity
    • No functions-within-functions, just a while loop and a stack.
  • Small footprint
    • ~1 KB minified and gzipped

Description

vuvuzela, courtesy of Berndt Meyer via the Wikipedia page

The vuvuzela is a coarse instrument, but it's lightweight, and it gets the job done.

This module might use up tons of memory, but unlike the native JSON methods or json3, it'll never throw a "maximum call stack size exceeded" exception. Your JSON objects can be as deeply nested as you like.

This is not a streaming library, so unlike oboe/clarinet, it reads the whole thing into memory at once. It's also quite a bit slower than the native JSON methods, although by some measures, it's faster than other JavaScript-based JSON parsers.

Usage

$ npm install vuvuzela
var vuvuzela = require('vuvuzela')

var asString = vuvuzela.stringify({hello: 'world'}); // '{"hello":"world"}'

var asJson = vuvuzela.parse('{"hello": "world"}'); // {hello: 'world'}

Browser builds are available in the dist/ folder. They'll create a window.vuvuzela object you can use.

Limitations

At the top level, it will currently only parse objects and arrays, not arbitrary values like booleans, strings, numbers, and null.

Testing

Unit tests:

$ npm test

Coverage tests:

$ npm run coverage

Building

$ npm run build

Versions

Version
1.0.3
1.0.2