| 
				
					
						
							 | 
			5 years ago | |
|---|---|---|
| .. | ||
| dist | 5 years ago | |
| LICENSE | 5 years ago | |
| README.md | 5 years ago | |
| index.js | 5 years ago | |
| package.json | 5 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	vuvuzela 
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.parseandJSON.stringifymethods may throw if an object is deeply nested. 
 - Avoids the "too much recursion" or "maximum call stack" errors that the native 
 - Simplicity
- No functions-within-functions, just a 
whileloop and a stack. 
 - No functions-within-functions, just a 
 - Small footprint
- ~1 KB minified and gzipped
 
 
Description
The vuvuzela is a coarse instrument, but it's lightweight, and it gets the job done.
This module will 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. Use at your own risk!
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
			
		