Plato on Github
Report Home
node_modules/JSONStream/test/stringify_object.js
Maintainability
71.13
Lines of code
46
Difficulty
16.06
Estimated Errors
0.45
Function weight
By Complexity
By SLOC
var fs = require ('fs') , join = require('path').join , file = join(__dirname, 'fixtures','all_npm.json') , JSONStream = require('../') , it = require('it-is').style('colour') , es = require('event-stream') , pending = 10 , passed = true function randomObj () { return ( Math.random () < 0.4 ? {hello: 'eonuhckmqjk', whatever: 236515, lies: true, nothing: [null], stuff: [Math.random(),Math.random(),Math.random()] } : ['AOREC', 'reoubaor', {ouec: 62642}, [[[], {}, 53]]] ) } for (var ix = 0; ix < pending; ix++) (function (count) { var expected = {} , stringify = JSONStream.stringifyObject() es.connect( stringify, es.writeArray(function (err, lines) { it(JSON.parse(lines.join(''))).deepEqual(expected) if (--pending === 0) { console.error('PASSED') } }) ) while (count --) { var key = Math.random().toString(16).slice(2) expected[key] = randomObj() stringify.write([ key, expected[key] ]) } process.nextTick(function () { stringify.end() }) })(ix)