|                                                               |  | 
var test = require('tape')var _JSON = require('../')
function clone (o) {  return JSON.parse(JSON.stringify(o))}
var examples = {  simple: { foo: [], bar: {}, baz: Buffer.from('some binary data') },  just_buffer: Buffer.from('JUST A BUFFER'),  all_types: {    string:'hello',    number: 3145,    null: null,    object: {},    array: [],    boolean: true,    boolean2: false  },  foo: Buffer.from('foo'),  foo2: Buffer.from('foo2'),  escape: {    buffer: Buffer.from('x'),    string: _JSON.stringify(Buffer.from('x'))  },  escape2: {    buffer: Buffer.from('x'),    string: ':base64:'+ Buffer.from('x').toString('base64')  },  undefined: {    empty: undefined, test: true  },  undefined2: {    first: 1, empty: undefined, test: true  },  undefinedArray: {    array: [undefined, 1, 'two']  },  fn: {    fn: function () {}      },  undefined: undefined}
for(k in examples)(function (value, k) {   test(k, function (t) {    var s = _JSON.stringify(value)    console.log('parse', s)    if(JSON.stringify(value) !== undefined) {      console.log(s)      var _value = _JSON.parse(s)      t.deepEqual(clone(_value), clone(value))    }    else      t.equal(s, undefined)    t.end()  })})(examples[k], k)
 |