{"_id":"warp10","_rev":"24-54261af6b64e2b67578e02470a6cd404","name":"warp10","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"warp10","version":"1.0.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"gitHead":"8366a5f5f87287d7242a4f9e5af6b0835fee232a","_id":"warp10@1.0.0","_shasum":"f55d910a944226a5a237fdb829b14b6bd110cdf1","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"f55d910a944226a5a237fdb829b14b6bd110cdf1","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.0.0.tgz","integrity":"sha512-x392B1s63awVP/8x7gD24SMZy+Q7xJsUXMwksNTY0A1CT5yO4IXgnr+VB7LBTj6UrrKXqH059Xlzivih7aOwlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWrxuUn7sY+S5ZwHusWSVrYqNvN7n7COxPCcUrarU59AiEA7dIh7wFP9MB80/ToqcA1X0Lu4t+TSsxcjfFKeHRtJ/k="}]},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/warp10-1.0.0.tgz_1469570312004_0.3111527974251658"},"directories":{}},"1.1.0":{"name":"warp10","version":"1.1.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"dependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","js-beautify":"^1.6.3","jshint":"^2.9.2","istanbul":"^0.4.4","lave":"^1.1.10","matcha":"^0.7.0","refify":"^1.0.0"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"60b64d52a037715f81293d50cf0636651c2e4912","_id":"warp10@1.1.0","_shasum":"fa5c3837f2705ac0285b3eff61fad621c7d80def","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"fa5c3837f2705ac0285b3eff61fad621c7d80def","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.1.0.tgz","integrity":"sha512-WymwaM0bPMqdYuZ+Raw9oiINF27gii3Vv5+mBD7jIB7QJPS5ZHNS7BIPWLVqBbPZ9f5cOAwAaXGBm5EbQXY+cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCs8GUl6G5Vdn9avX9DnxcJRF6VpLcyxSx2oSj9r31bxQIhAIQjp1d4tOmTrwmfIQzI804vYEx+AmDe8rKY7+/6o5BF"}]},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/warp10-1.1.0.tgz_1469745858221_0.23712047236040235"}},"1.2.0":{"name":"warp10","version":"1.2.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"dependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","js-beautify":"^1.6.3","jshint":"^2.9.2","istanbul":"^0.4.4","lave":"^1.1.10","matcha":"^0.7.0","refify":"^1.0.0"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"f737654e92b82920e824f8d3a00c8f4f332b2817","_id":"warp10@1.2.0","_shasum":"98dc4c941ab81aa481316a7b7c7b4f8000601de4","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"98dc4c941ab81aa481316a7b7c7b4f8000601de4","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.2.0.tgz","integrity":"sha512-kdkg8aYkjlQ9gwpvSnjXtiLTDoPT66OF6OpKSDsaSQwfcyXlrjE0c78wD0543+OMXfjW6dNX5Cm1hsv6aupz1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8wLjtpNMJ4hLN7UaxPDaTXisKI+t4EkyoHMwNLBxWjQIhAL+Jgz9QX6sKI6BtMZZJt8YkKfrLWOUtK68eO62OMJix"}]},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/warp10-1.2.0.tgz_1470085581698_0.9165296766441315"}},"1.2.1":{"name":"warp10","version":"1.2.1","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"9a267d6fe05db3d12e4818dd15d029ba96fed40b","_id":"warp10@1.2.1","_shasum":"5613042c15e80e7ce3ddb67423433e7255127795","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"5613042c15e80e7ce3ddb67423433e7255127795","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.2.1.tgz","integrity":"sha512-cRU/Mecp/pJuV80Bvs/MGgny8cfClJlMLNNZLxWWXmS42RrHC8Q59vwYewuJCqvDffpzuGdR8ZIyDidqhJrRqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGA8KWSVJ1PAwJFH5s0Pd0cXAfTmMlZtsqpJKDLvX2dAiBJGttM16KkNUHuJkRBtkuZPgkmXsHBGpTUXDwDuVkWDA=="}]},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/warp10-1.2.1.tgz_1470344026250_0.3215250028297305"}},"1.3.0":{"name":"warp10","version":"1.3.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"fa097dea5ab5c18c960c9e3581c7b8fcb779c00d","_id":"warp10@1.3.0","_shasum":"eb5aae180e9a3a41ca78096d37c15c0942c41e79","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"eb5aae180e9a3a41ca78096d37c15c0942c41e79","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.0.tgz","integrity":"sha512-Sm5J41S413ahliwHEXRn5D97ewTeSZVx7rl8EK4POdw+6hcQrJDi0Cn9UOChTiIUYrP281QUuKnzcZfOluaCcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdzoiliPZS0WosjOjq7pI/jvu3ZvICjyeTQZaYApDORAiAIyBa+Z4C/e/XJ6xsX3bOO3bONSOJWM3IZy+/WM2h7Hg=="}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/warp10-1.3.0.tgz_1479152494263_0.5883479153271765"}},"1.3.1":{"name":"warp10","version":"1.3.1","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"b1e8cfd9c339d59418955a39c3b26f31e423a599","_id":"warp10@1.3.1","_shasum":"22b81646cc107978b13dbe7271926337806ab8be","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"22b81646cc107978b13dbe7271926337806ab8be","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.1.tgz","integrity":"sha512-o0mNdrDNKy2unZGJllyZ0kjs/Btcep6jAsw3GncBhZctlYQnouWeW+iaOrC4PpJ6hc8fSbP1DNIdKtRRdedfoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPsneHs+2aUS0ZgT+jw1q+b9OeVKmgEob2zMrt2AAbTwIhAOiqBHE4KD7+TKQ7tW40WzX4JjmuiQRztVjLdsixI4ni"}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/warp10-1.3.1.tgz_1481058952100_0.03702584118582308"}},"1.3.2":{"name":"warp10","version":"1.3.2","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"35586e157654f81e8b55d2661b89efea5ce73b89","_id":"warp10@1.3.2","_shasum":"aa9900e7887125b9282c5e02ad4a1ac470ef8ef4","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"aa9900e7887125b9282c5e02ad4a1ac470ef8ef4","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.2.tgz","integrity":"sha512-Lv7N9Q9cH0N60EMiP358VEHto+sBbha2ZujQ7ui/oJO1dNGJn1G+8xT4nIV/66KvjmNV3OaJcwQ8kzgoLz7nJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmr5ZMqXsbWQ6y3pVgKhT6A7VtUOeD6eGScMqkyTcN+AiBQUpOaQvXVPseaYxmc1vHIjpSLO/fs2I1BgDNcbR6ODQ=="}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/warp10-1.3.2.tgz_1481563094275_0.3791436708997935"}},"1.3.3":{"name":"warp10","version":"1.3.3","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"a2ce734f4f99c772ceb3075aba4d59a8047a46f0","_id":"warp10@1.3.3","_shasum":"ddbc6760f6c3fd2442e02e50701f6c59e77689fb","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"ddbc6760f6c3fd2442e02e50701f6c59e77689fb","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.3.tgz","integrity":"sha512-XZh3qQLvYHPGmQeBtShKsxweKKV7thmhcgN6hU5yanx12fH64sPRLYLYeDWEn8ZoR2Ap/SXi6XkANo5LXLHW/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClNb8W/OC+qEKKDnCerL0raVHh2TgoeSpWkB+1mmPelQIhAOTWznNewllurqlV2YljZd+pXzm5l2THwZxvTX96+o4Q"}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/warp10-1.3.3.tgz_1483730407412_0.4871926396153867"}},"1.3.4":{"name":"warp10","version":"1.3.4","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"b94d27f7437d408a1a50563619040dcf2dae329e","_id":"warp10@1.3.4","_shasum":"d4d4fbe41b015253ade1eb7210a6e823284d1e15","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"d4d4fbe41b015253ade1eb7210a6e823284d1e15","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.4.tgz","integrity":"sha512-MeOHTv9RAFUuRyltmEZ7wr97Nm0aAZX+8Mjk85QLunokET8KWwdY2apYxSzONy/eBBt868fHdRzoONZrqBzVFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWhEOp+xW/EROvgsqsmjNw3y/vjqMqK4+CFXAf5+1/XAIhALs8aGtPOzDez6+La8bB/zZf6lraIcED49cy21Uz9wfH"}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/warp10-1.3.4.tgz_1488983566459_0.13662015018053353"}},"1.3.5":{"name":"warp10","version":"1.3.5","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"75a390910a563c7b1a60057c8177b4b0d61a05a5","_id":"warp10@1.3.5","_npmVersion":"5.1.0","_nodeVersion":"8.0.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"integrity":"sha512-CFjLBZ0FgFH8RseJj8EIFgiUH7rrF1N/KUHRCoOOURGZM0ZWhlnRVy0I7WWE1s4rxqY/eWA/jBG3fzYXTwbyag==","shasum":"3c43e72a2c7dda90c94c01c345e2e5af11dfca48","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDkdlgXgIRhcv5wQXyxDUjxdV/HM/Eyx/7foBMJynIwcAiEAhjZHKmy1ptjEI2/J5DnhlhpmIaXwRq+dYFJYUpZva40="}]},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10-1.3.5.tgz_1499807769010_0.5405350592918694"}},"1.3.6":{"name":"warp10","version":"1.3.6","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"1bd307b2bdd36bee54dcf8f9dee76778db361a87","_id":"warp10@1.3.6","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"integrity":"sha512-7cijX+NprqPV+UGUZXZw1I15JFHPqoy65tNVvP6cL43Vlanpcm8hBYoQTuDYUHa5x90Bct4gHhRtqqOOkLhQkw==","shasum":"edffff4f06382d2e469ba88ccfcb95bb81d3bda6","tarball":"https://registry.npmjs.org/warp10/-/warp10-1.3.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIApauEyPAcJUVwSC2pQ3SBSVOER6nFU4vE1mguhfEq38AiEAqGXhw1jrFr6+xlzk655unkKO8/LSG3lZdnUVCtVJyjY="}]},"maintainers":[{"email":"ml.rawlings@gmail.com","name":"mlrawlings"},{"email":"pnidem@gmail.com","name":"pnidem"},{"email":"phillip.idem@gmail.com","name":"philidem"},{"email":"austin.kell47@gmail.com","name":"austinkelleher"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10-1.3.6.tgz_1508783944029_0.4293005254585296"}},"2.0.0":{"name":"warp10","version":"2.0.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"d723e97718e07bb2812660de6f3a49105c199e44","_id":"warp10@2.0.0","_npmVersion":"6.5.0","_nodeVersion":"10.14.2","_npmUser":{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},"dist":{"integrity":"sha512-JBaCWUyP6rehn/NMOEFbu3Qm49IH/cQ14JAU+TIMjGCPju/6z36b12qu1jn1wlRXxQ2QnZIkmeVqvR+HBJO0Cw==","shasum":"4fc897463593b80c3045f880d9e28a59dd740144","tarball":"https://registry.npmjs.org/warp10/-/warp10-2.0.0.tgz","fileCount":19,"unpackedSize":31089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHVhdCRA9TVsSAnZWagAAE+EQAJp+eiWtyXZR0OZ+4aJC\n2irhBM71IYRed7LtEbvV0xO1W1QgVCE2elXckAQgj5oGjSZFeEqUQBoLJIDg\nhBu9D9rylIaMPbzCP22Cj7aNTuPDCleDm4t0/Ye9DWAnPi4+GlIPEtcqmAwE\n0PBfBiW5XlMCppajKqPkWZ6HdKQV6gZP9uvs3XKMgTOUwKBdj/4xiM62iA45\nNcmbc3tyCSb0mnmz2bfGk5JT0kJMYKGPnu/ml0WnLeqivJX6Y87qSWgpIAfi\nHo3Qab06G8V+mbYdiUjIG7NmDZkNX4tacqfQC45x/axiG8HxjGorQsMFUyLz\n4yhz8xfbttI3HhsEkk7RIwnSMz2fqtzU8zRVAVhYH3YBphVEBLmxgJ+ceyjb\nv8Iev2OEedlVdG4SHhlKMTqHww5NjwUSJrDmp2nW6tqYJpv2jkGIgET1I6ph\n8r1PInD2kM1qMtm1chAJDeIWXVJrVac3jJkiV2K5chc7FtDP1hbqovunbD6u\n0mNuPmXQGC8UCgoLqBOQMINEq4QO4hozGAir0EhNLnoE0MI1FeYrZDwCTlhP\nM39T2Dp2432OgIu29AY9WO6lciDysFhYUUsKjk4Ky2ur83gr5Otpj6d8E3e5\nBrgb7NRQyHsNkwb38ZtUcqgRIm5s83eJIHgviHKqSPcgBP74pAiMyM9AvQsV\nkAWv\r\n=Ck+s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXjBS7rzVrD7qC+Ku7+WqDulBRbfFDzBEzjyMaqP0nvAiBJJTeuwSpMrdw4K3yXm3h2pA8qnm94GAhSbB/cPlwh9w=="}]},"maintainers":[{"email":"pierceydylan@gmail.com","name":"dylanpiercey"},{"email":"ml.rawlings@gmail.com","name":"mlrawlings"},{"email":"pnidem@gmail.com","name":"pnidem"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10_2.0.0_1545427037014_0.7119527832206463"},"_hasShrinkwrap":false},"2.0.1":{"name":"warp10","version":"2.0.1","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","gitHead":"b59525f4a3d0a3ffaac6e527098db633e471592f","_id":"warp10@2.0.1","_npmVersion":"6.5.0","_nodeVersion":"10.14.2","_npmUser":{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},"dist":{"integrity":"sha512-nS1KG2RCVTWepfSitZKzL+HYiqqMJag06KtOJF/LwklrJWeJYRWHjMYpd6GXMt09ot+HIEj+Y4dmQNnNNE0Bjg==","shasum":"a21936d53f152a6003ce49bae85c8758c54c3d2c","tarball":"https://registry.npmjs.org/warp10/-/warp10-2.0.1.tgz","fileCount":19,"unpackedSize":31716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHWBZCRA9TVsSAnZWagAAE7IP/3gWyc7QAAEjyPEsILES\naAVlifVb7Dfzqzqeakkmlsg4e6N7avPpqrC/UPk0TPS3EgyY0hRN9GAvt5ye\n+I0u2N1aWXSxczWwrRIJ5BHYPDuOqQAfGpegu1yvijyKTGIf8+9U96pNJ82d\nYZHT0LlFRicX7KCM/Dif7MY7rV+tCr1rOo+8rxzvKDURVA4f+hmdkvy3Cr2d\n/3ntjlpWD2d2Rva9a6y+VvVc2LutmRJX5XVwH9fQ3hqtChzbCQ0zkVDRrgEm\n5w8koGxzYBdCVsqSXcLEmaBLuii8a8i6wfUSSjMP4njBcDndhiFH+oIE8CnU\ngbB4mDFSfJ2rs++OoHkJDl1LOkWXR2JoDzptA2mKngC6LjLodgb9oiCevuvn\n4HQzjijmMf3GCedrNsrprelB+IgMjKiTOSIYAUuafzQDBbxtdr7D0nGtBHH+\nCYroOV/9AtVW7gddwZtezyJYX2MM5j3/sH7HUgLKfA+OnNPX7iUXmRBP51yc\n3xzTR8x4/r+xpLhkWrRGP4rC0bUMx0jzaAwFcgOom/uUvsP4fP6n0odV+iWI\nC+Xwbko4lpo0PguggqW1tdsPCs5sFH19+huhlrp1972EgBijEu9JLGoQo/gD\noXvxnXFoqyyurRyhgFk2DqBzsmI5uGVOO9yw/zbktKWn+hRgte4W4kLBxR0g\nQe0e\r\n=KbUf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOOUzRuYvRthCnslDAP5m0RtpD1ntVdmdXQ5A969tlogIgElmhqxR4EP4vgs4xEvswfvGyZ1jW2zL7VLceg+7JKqs="}]},"maintainers":[{"email":"pierceydylan@gmail.com","name":"dylanpiercey"},{"email":"ml.rawlings@gmail.com","name":"mlrawlings"},{"email":"pnidem@gmail.com","name":"pnidem"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10_2.0.1_1545429080747_0.11161134267253625"},"_hasShrinkwrap":false},"2.0.2":{"name":"warp10","version":"2.0.2","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","types":"src/index.d.ts","gitHead":"cbd14aa712bc6b64b8238be3b4dcb087f21c4cff","_id":"warp10@2.0.2","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-CC8MD3mBxPvKgBz58QJo8G+jPGo/oaBL2vcT6EWVpWsgzvDNwhiBBLGUDmRqaaVXv1INh8bpJPpVMUP5q1myBw==","shasum":"67ef0382a85838f28f29793de8ec69df43fb39cf","tarball":"https://registry.npmjs.org/warp10/-/warp10-2.0.2.tgz","fileCount":26,"unpackedSize":32462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3A1VCRA9TVsSAnZWagAAtcYQAJuaulbCa1KVAeQzHs7I\njzV7AIUIqix4NesuoY2OrKBdJ06Gm/GwwZsdB/FriU0daflr42JFnfFR3PBk\nbCvlJGfBKQWP2rq6etoJacUz/y9/QA7omeoIFiLBsw88gdXEnmjUjBJGJjiB\ntGc6pAfRHM/1Y24m9iJT6V4bDsz0/b71K50y+sQyjQCt85pUtbBb16iXZfGz\nOH552Wlw06AH1cfO3ioidLvMuX41kwarVlPeazGgwUPv4GmtSQoaflJ1I8w9\nferi8o0UD9IDnmfRmtwoCh/MED9zM4MkiiaB7Ogqghtb9qBTrJnE+vGyQC0O\nUpj6MGlunosvCgYcfsdNaKd88MhHaGIT+EkxI8dy90Hc9GKMniBxUdacczib\n8cYpjWRYhHTAO14/r91cpw2b9bxILoxfNpFa1Npeu+VmHYB4wSlB7Fsm4OB4\nJfcEK2ONc+B9/aEwKT6f0dnPnoxolY8sZajvpBseaw4358ilKHWqZqRlo99g\n74FGVO2KpTWzktgWZLL5rEX5Dd+SDviA1o5Dq2Bd8Hues8s1kolS49M6WoiQ\nOpItEjct4MuFO35ICueM0z1IzfhBreKth4LxIm2FJl72Xd7JOv9uJ8H0Beo6\nvx5yLDatPyQEzNiwGZNpEk4rMCGqTB97LlUcIewyTSyy0mo3JMMYMi0xOYH1\nRX0P\r\n=AAlN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkcJa7ED9L6nPWH0oDmZW88afsLXegze6M9N40K1kc1AiBWF6OtBz/3t/ac3TtwYRAwnWe0PGnVoFQrkbaeCzOA4w=="}]},"_npmUser":{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10_2.0.2_1631891986404_0.8056554229826387"},"_hasShrinkwrap":false},"2.1.0":{"name":"warp10","version":"2.1.0","description":"Transport complex JavaScript objects from the server to the web browser at lightning fast speeds","main":"src/index.js","keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"scripts":{"test":"mocha test/ && npm run jshint","benchmark":"matcha benchmark/benchmark.js","test-coverage":"istanbul cover _mocha -- --ui bdd --reporter spec ./test/ && npm run jshint","jshint":"jshint src/","coveralls":"cat ./coverage/lcov.info | coveralls"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","devDependencies":{"chai":"^3.5.0","circular-json":"^0.3.0","coveralls":"^2.11.11","escodegen":"^1.8.0","istanbul":"^0.4.4","js-beautify":"^1.6.3","jshint":"^2.9.2","lave":"^1.1.10","matcha":"^0.7.0","mocha":"^2.5.3","refify":"^1.0.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"homepage":"https://github.com/patrick-steele-idem/warp10#readme","types":"src/index.d.ts","gitHead":"fd3b0bf235ddc85a4a6d7d71423fe76104452607","_id":"warp10@2.1.0","_nodeVersion":"18.12.1","_npmVersion":"9.4.2","dist":{"integrity":"sha512-krhkqzJdUxAZv2Cx0Gz6dN1r7TTrG9RDewkDHBbJQIqbNTCdB5ZUHVh7VkA4DgrKW4ZXPPUQKCwmI/3btDse9A==","shasum":"e7aef11fb2594cb91c2c1d38e4f6224401f3adf8","tarball":"https://registry.npmjs.org/warp10/-/warp10-2.1.0.tgz","fileCount":26,"unpackedSize":33830,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJxM+Cf56RKF3Fl4LYo/Aidlk7pP5nPzfa5sBnkbNf1wIhANp9J594tWVo4S2Z/kYUlTCtzbHtvbT76aoPPnHT2z4s"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCp6NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3Kw/9EXV1rMX1c12jdI7l2MbdxudrHzYzR3snLn6+Yujk/zhwZ9R/\r\nfgLqThkUtE0oLrZA7m5LZPP9ckXGnQthWCYdnwxRD7LxuBX5AEoLXOvPYPuQ\r\nPzbcpa70peCaydL06y/GqOSxqb7qr9HVZVWmCZI3EFpwmZsICJ92QrTg6hqm\r\n/5SK1umipIHbnNCELG0aufwMVMhMA8mWN11hC62+MdFnDhb2SwxtPyjTXFSU\r\nC+YPmi6OB8allVc1Ktz9vxKuL4ok8XBdsuLrpbd7UKHR3cSbvdLrzIFKdA98\r\npRhuBkUQtDy9m3xsFsCxIkNWKrnafvaKVO9+N5qQRGBJtjIdIQlWTp1RGVJm\r\nd7q35jwEbOcGSJJB2n+UHE072ZTo0drCFy2PFqPl+l63TJxLpjQ13TqdeWVN\r\nSt0WTfiawBFAvbUqZFflKPa/biAMPN9w8ZY4sRKjytd+2ZvtJ1dUPRFpQuUe\r\nTfqP8Vi6y+sKcBwDDUts5X0l2eVVjLhUCigpOb1aPfFrNY0DXLwMW5/3VcM4\r\n4jk1U+5j/iORhdmJxQoQtY4EAZQzwju6KLcJHxDAP/Nzr0G3a7B/GmnkOA5m\r\nOieU8XMp5+trpG/PhBftEioRDN+HudbT5QlrbVkIK0vY2PES/BI/T1BCurmC\r\noil1GkmjSY5gr78DAiFti3CTvMIXpde+bXU=\r\n=Pox3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},"maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/warp10_2.1.0_1678417549508_0.20221778113083522"},"_hasShrinkwrap":false}},"readme":"warp10\n======\n\nTransport complex JavaScript objects from the server to the web browser at lightning fast speeds. Circular dependencies are correctly handled and de-duping is done automatically. Deserialization is done completely via generated JavaScript code for optimal performance (no library code is required to deserialize an object).\n\n[![Build Status](https://travis-ci.org/patrick-steele-idem/warp10.svg?branch=master)](https://travis-ci.org/patrick-steele-idem/warp10)\n[![Coverage Status](https://coveralls.io/repos/github/patrick-steele-idem/warp10/badge.svg?branch=master)](https://coveralls.io/github/patrick-steele-idem/warp10?branch=master)\n[![NPM](https://img.shields.io/npm/v/warp10.svg)](https://www.npmjs.com/package/warp10)\n\n# Features\n\n- Circular references are correctly serialized and deserialized\n- Duplicate objects/arrays found during serialization are only serialized once\n- `Date` values are correctly serialized and deserialized\n- Output is the code for a JavaScript expression that, when evaluated, will return the deserialized object\n- Extremely fast serialization and deserialization\n- [100% test coverage](https://coveralls.io/github/patrick-steele-idem/warp10?branch=master)\n- [Benchmarks](#is-it-fast)\n\n# Installation\n\n```bash\nnpm install warp10 --save\n```\n\n# Usage\n\nWith `warp10` you can choose to serialize an object to either a JSON string or JavaScript deserialization code. Generating JavaScript deserialization code is typically faster than producing JSON code and the JavaScript deserialization code will typically allow the object to parse much more quickly. In addition, no library code is needed to parse an object when outputting JavaScript deserialization code since only the JavaScript code needs to be evaluated by the JavaScript runtime.\n\n## Outputting JavaScript code\n\n```javascript\nvar warp10 = require('warp10');\n\nvar deserializationCode = warp10.serialize(object[, options]); // Returns a String\n```\n\nFor example:\n\n```javascript\nwarp10.serialize({\n        hello: 'world'\n    },\n    {\n        var: 'foo'\n    });\n```\n\nThis will produce code similar to the following:\n\n```javascript\nwindow.foo = {\n  \"hello\": \"world\"\n}\n```\n\nSupported options:\n\n- `safe` - If `true` then the ending `</script>` tags will be escaped. (optional, default: `true`)\n- `var` - A global variable name to assign the output expression to. If not specified then no global variable will be created (optional, default: `undefined`)\n- `additive` - If `true` then objects will be merged into the existing object referenced by the global variable (i.e. the `var` option) (optional, default: `false`)\n\nEvaluating the output deserialization code as a JavaScript expression will produce a clone of the original object graph.\n\nYou could transport the object graph to the browser by placing the code in a `<script>` tag as shown below:\n\n```html\n<script>\nvar deserializedObject = <%= deserializationCode %>;\nconsole.log('DESERIALIZED:', deserializedObject);\n</script>\n```\n\nYou can also `eval` the `deserializationCode`:\n\n```javascript\nconsole.log('DESERIALIZED:', eval(deserializationCode));\n```\n\n## JSON stringify/parse\n\nIf outputting JavaScript code is not an option or not desired then you can use the `stringify` and `parse` methods provided by `warp10`.\n\n```javascript\nvar warp10 = require('warp10');\n\nvar json = warp10.stringify(object[, options]); // Returns a String\n```\n\nSupported options:\n\n- `safe` - If `true` then the ending `</script>` tags will be escaped. (optional, default: `false`)\n\nThe JSON can then be parsed using code similar to the following:\n\n```javascript\nvar parse = require('warp10/parse');\n\nvar object = parse(json);\n```\n\n## JSON stringifyPrepare/finalize\n\nThe `stringifyPrepare` function can be used to produce a JavaScript object that is safe to serialize using the native `JSON.stringify` method. The `finalize` method should be called on the parsed object to produce the final object with duplicate objects and circular dependencies intact.\n\n_On the server:_\n\n```javascript\nvar warp10 = require('warp10').stringifyPrepare;\nvar object = stringifyPrepare(object); // Returns an Object\nvar json = JSON.stringify(object);\n```\n\n_In the browser:_\n\n```javascript\nvar finalize = require('warp10/finalize');\nvar clone = finalize(JSON.parse(json));\n```\n\n# Examples\n\n## Serialize examples\n\n### Simple\n\n```javascript\nwarp10.serialize({ name: 'Frank' });\n```\n\nOutput (formatted for readability):\n\n```javascript\n({\n  \"name\": \"Frank\"\n})\n```\n\n### Simple types\n\n```javascript\nwarp10.serialize({\n    object: {\n        foo: 'bar'\n    },\n    array: ['a', 'b', 'c'],\n    boolean: true,\n    string: 'Hello World',\n    number: 123,\n    date: new Date(1776, 6, 4)\n});\n```\n\nOutput (formatted for readability):\n\n```javascript\n(function() {\n  var $ = {\n    \"object\": {\n      \"foo\": \"bar\"\n    },\n    \"array\": [\"a\", \"b\", \"c\"],\n    \"boolean\": true,\n    \"string\": \"Hello World\",\n    \"number\": 123\n  }\n  $.date = new Date(-6106039200000)\n  return $\n}())\n```\n\n### Global variable\n\n```javascript\nwarp10.serialize({ name: 'Frank' }, { var: 'person' });\n```\n\nOutput (formatted for readability):\n\n```javascript\nwindow.person = {\n  \"name\": \"Frank\"\n}\n```\n\n### Global variable with additive\n\n```javascript\nvar deserializationCodeA = warp10.serialize({\n        foo: 'foo',\n        bar: 'bar'\n    },\n    {\n        var: 'myStore',\n        additive: true\n    });\n\nvar deserializationCodeB = warp10.serialize({\n        baz: 'baz'\n    },\n    {\n        var: 'myStore',\n        additive: true\n    });\n```\n\nOutput (formatted for readability):\n\n```javascript\n// deserializationCodeA\n(function() {\n    var t = window.myStore || (window.myStore = {})\n    var $ = {\n        \"foo\": \"foo\",\n        \"bar\": \"bar\"\n    }\n    t.foo = $.foo\n    t.bar = $.bar\n}());\n\n// deserializationCodeB\n(function() {\n    var t = window.myStore || (window.myStore = {})\n    var $ = {\n        \"baz\": \"baz\"\n    }\n    t.baz = $.baz\n}())\n```\n\nFinal value of the `window.myStore` global:\n\n```javascript\n{\n    foo: 'foo',\n    bar: 'bar',\n    baz: 'baz'\n}\n```\n\n### Circular dependency\n\n```javascript\nvar parent = {\n    name: 'parent'\n};\n\nvar child = {\n    parent: parent\n};\n\nparent.child = child;\n\nwarp10.serialize(parent);\n```\n\nOutput (formatted for readability):\n\n```javascript\n(function() {\n  var $ = {\n    \"name\": \"parent\",\n    \"child\": {}\n  }\n  $.child.parent = $\n  return $\n}())\n```\n\n### De-duping\n\n```javascript\nvar child = {\n    name: 'Henry'\n};\n\nvar mother = {\n    name: 'Jane',\n    child: child\n};\n\nvar father = {\n    name: 'Frank',\n    child: child\n};\n\nwarp10.serialize({\n    mother: mother,\n    father: father\n});\n```\n\nOutput (formatted for readability):\n\n```javascript\n(function() {\n  var $ = {\n    \"mother\": {\n      \"name\": \"Jane\",\n      \"child\": {\n        \"name\": \"Henry\"\n      }\n    },\n    \"father\": {\n      \"name\": \"Frank\"\n    }\n  }\n  $.father.child = $.mother.child\n  return $\n}())\n```\n\n### Circular dependency plus de-duping\n\n```javascript\nvar warp10 = require('warp10');\n\nvar mother = {\n    name: 'Jane',\n    age: 30\n};\n\nvar father = {\n    name: 'Frank',\n    age: 32\n};\n\nvar child1 = {\n    name: 'Sue',\n    age: 5,\n    mother: mother, // circular\n    father: father // circular\n};\n\nvar child2 = {\n    name: 'Henry',\n    age: 10,\n    mother: mother, // circular\n    father: father // circular\n};\n\nmother.children = [child1, child2];\nfather.children = [child1 /* duplicate */, child2 /* duplicate */];\n\nwarp10.serialize({\n    mother: mother,\n    father: father\n});\n```\n\nThe value of `deserializationCode` will be similar to the following (formatted for readability):\n\n```javascript\n(function() {\n  var $ = {\n    \"mother\": {\n      \"name\": \"Jane\",\n      \"age\": 30,\n      \"children\": [{\n        \"name\": \"Sue\",\n        \"age\": 5,\n        \"father\": {\n          \"name\": \"Frank\",\n          \"age\": 32,\n          \"children\": [null, {\n            \"name\": \"Henry\",\n            \"age\": 10\n          }]\n        }\n      }, null]\n    }\n  }\n  $.mother.children[0].mother = $.mother\n  $.mother.children[0].father.children[0] = $.mother.children[0]\n  $.mother.children[0].father.children[1].mother = $.mother\n  $.mother.children[0].father.children[1].father = $.mother.children[0].father\n  $.mother.children[1] = $.mother.children[0].father.children[1]\n  $.father = $.mother.children[0].father\n  return $\n}())\n```\n\n## Stringify examples\n\n### Simple\n\n```javascript\nwarp10.stringify({ name: 'Frank' });\n```\n\nOutput (formatted for readability):\n\n```javascript\n{\n  \"object\": {\n    \"name\": \"Frank\"\n  }\n}\n```\n\n### Circular dependency\n\n```javascript\nvar parent = {\n    name: 'parent'\n};\n\nvar child = {\n    parent: parent\n};\n\nparent.child = child;\n\nwarp10.serialize(parent);\n```\n\nOutput (formatted for readability):\n\n```javascript\n{\n  \"object\": {\n    \"mother\": {\n      \"name\": \"Jane\",\n      \"age\": 30,\n      \"children\": [{\n        \"name\": \"Sue\",\n        \"age\": 5,\n        \"father\": {\n          \"name\": \"Frank\",\n          \"age\": 32\n        }\n      }, {\n        \"name\": \"Henry\",\n        \"age\": 10\n      }]\n    }\n  },\n  \"assignments\": [{\n    \"l\": [\"mother\", \"children\", 0, \"mother\"],\n    \"r\": [\"mother\"]\n  }, {\n    \"l\": [\"mother\", \"children\", 0, \"father\", \"children\"],\n    \"r\": [\"mother\", \"children\"]\n  }, {\n    \"l\": [\"mother\", \"children\", 1, \"mother\"],\n    \"r\": [\"mother\"]\n  }, {\n    \"l\": [\"mother\", \"children\", 1, \"father\"],\n    \"r\": [\"mother\", \"children\", 0, \"father\"]\n  }, {\n    \"l\": [\"father\"],\n    \"r\": [\"mother\", \"children\", 0, \"father\"]\n  }]\n}\n```\n\n# Is it fast?\n\nYes, this library is optimized for both fast serialization and deserialization. This library was built on top of the native `JSON.stringify` method for optimal performance. This library includes [benchmarks](./benchmarks) that you can run locally:\n\n```\ncd warp10/\nnpm run benchmark\n```\n\nBelow is the output for one run of the benchmarks:\n\n```text\n                      circular\n         284,357 op/s » circular-json\n             521 op/s » lave\n         654,493 op/s » refify\n         519,239 op/s » warp10-stringify\n         820,863 op/s » warp10\n\n                      circular-dedupe\n          49,070 op/s » circular-json\n             505 op/s » lave\n          46,396 op/s » refify\n         113,071 op/s » warp10-stringify\n         177,930 op/s » warp10\n\n                      dedupe\n         104,117 op/s » circular-json\n             558 op/s » lave\n         334,314 op/s » refify\n         343,625 op/s » warp10-stringify\n         478,872 op/s » warp10\n\n                      deserialize-circular-dedupe\n          32,124 op/s » circular-json\n          25,247 op/s » refify\n          82,770 op/s » warp10-parse\n       1,052,371 op/s » warp10\n\n                      deserialize-simple-large\n           2,551 op/s » circular-json\n          24,051 op/s » parse-native\n           1,918 op/s » refify\n          24,497 op/s » warp10-parse\n         149,809 op/s » warp10\n\n                      simple-large\n           3,150 op/s » circular-json\n           2,076 op/s » json3\n             283 op/s » lave\n           2,504 op/s » refify\n          31,057 op/s » stringify-native\n          11,174 op/s » warp10-stringify\n          11,161 op/s » warp10\n\n                      simple-large-b\n             124 op/s » circular-json\n             117 op/s » json3\n              26 op/s » lave\n             156 op/s » refify\n           2,263 op/s » stringify-native\n           1,505 op/s » warp10-stringify\n           1,461 op/s » warp10\n\n                      simple-small\n         164,080 op/s » circular-json\n         105,782 op/s » json3\n             635 op/s » lave\n         259,742 op/s » refify\n       1,121,181 op/s » stringify-native\n         555,886 op/s » warp10-stringify\n         686,304 op/s » warp10\n\n                      test-a\n         190,557 op/s » circular-json\n             554 op/s » lave\n          90,753 op/s » refify\n         219,099 op/s » warp10-stringify\n         381,360 op/s » warp10\n```\n\nTest setup:\n\n- Node.js v6.3.1\n- OSX 10.11.5\n- 2.8 GHz Intel Core i7\n- 16 GB 1600 MHz DDR3\n\n# How does it work?\n\nInternally, this library utilizes the native [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) method to serialize an object to JSON. However, before calling `JSON.stringify`, the object is pruned by removing duplicate objects. If an already serialized object is encountered then the current property is skipped and the skipped property is tracked so that it can be fixed up later using generated JavaScript code.\n\n`warp10` detects circular dependencies and duplicate objects by marking each object with a non-enumerable [Symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) property using code similar to the following:\n\n```javascript\nvar markerKey = Symbol();\nvar marker = {}\nobj[markerKey] = marker;\n```\n\nThis special property is largely private and only discoverable at runtime via `Object.getOwnPropertySymbols` or proxies.\n\n# Why?\n\nThis library can be used to transport a complex JavaScript graph from one JavaScript runtime to another JavaScript runtime. This library was originally created to support serializing potentially complex UI component state down to the browser for the [Marko Widgets](https://github.com/marko-js/marko-widgets) UI components library. This allows the web browser to pickup exactly where the server left off when utilizing server-side rendering of a web page. Marko Widgets is optimized for speed and it is important to minimize the CPU usage of both the server and the web browser to reduce page load times (accompanied by a reduced payload size through de-duping of data).\n\n# Similar projects\n\n- [circular-json](https://github.com/WebReflection/circular-json)\n- [JSON-js](https://github.com/douglascrockford/JSON-js)\n- [jsonr](https://github.com/graniteds/jsonr)\n- [refify](https://github.com/grncdr/refify)\n- [serialize-javascript](https://github.com/yahoo/serialize-javascript)\n\n# Maintainers\n\n* [Patrick Steele-Idem](https://github.com/patrick-steele-idem) (Twitter: [@psteeleidem](http://twitter.com/psteeleidem))\n\n# Contributing\n\nPull Requests welcome. Please submit Github issues for any feature enhancements, bugs or documentation problems. Please make sure all tests pass:\n\n```\nnpm test\n```\n\n# License\n\nMIT\n","maintainers":[{"name":"mlrawlings","email":"ml.rawlings@gmail.com"},{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"time":{"modified":"2023-03-10T03:05:49.812Z","created":"2016-07-26T21:58:33.846Z","1.0.0":"2016-07-26T21:58:33.846Z","1.1.0":"2016-07-28T22:44:21.132Z","1.2.0":"2016-08-01T21:06:23.702Z","1.2.1":"2016-08-04T20:53:47.948Z","1.3.0":"2016-11-14T19:41:34.950Z","1.3.1":"2016-12-06T21:15:52.835Z","1.3.2":"2016-12-12T17:18:14.890Z","1.3.3":"2017-01-06T19:20:08.108Z","1.3.4":"2017-03-08T14:32:48.376Z","1.3.5":"2017-07-11T21:16:10.013Z","1.3.6":"2017-10-23T18:39:04.151Z","2.0.0":"2018-12-21T21:17:17.137Z","2.0.1":"2018-12-21T21:51:20.916Z","2.0.2":"2021-09-17T15:19:46.560Z","2.1.0":"2023-03-10T03:05:49.659Z"},"keywords":["JSON","circular","reference","recursive","recursion","parse","stringify","eval"],"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/patrick-steele-idem/warp10#readme","repository":{"type":"git","url":"git+https://github.com/patrick-steele-idem/warp10.git"},"bugs":{"url":"https://github.com/patrick-steele-idem/warp10/issues"},"users":{"zewish":true}}