{"_id":"cereal","_rev":"29-307336da4f193a2978d777ee3adc8c92","name":"cereal","dist-tags":{"latest":"0.2.3"},"versions":{"0.0.1":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.1","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"334d78b0ad2b350d1c9ba2534fdc643604101c41","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.1.tgz","integrity":"sha512-uDS8MvruthVq7PPkt8HB9MlOssynh23tJizY8Oe+F11+2/zPlFFzxl3bVFuAx99hsqxGf9fD5sEErnJZFALY9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+cjZ+s8EhfM5stm0e1X6wX1HmBerCGo2kaTLWn6djmwIgCGHo9reXF8SHWu7guXXJ0x5+2NA0V5etJZ0GJjeyCLI="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.2":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.2","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"1468ffc8809401a79ca7639801609e1b7c97e40b","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.2.tgz","integrity":"sha512-mbBs+Kwo7CQaXMFi0WGQAxQZReA8DJ4pJuHGqP95DGAxF8sEi9DYfrS28xz+Xu5EPfxSCrxUUbiHTCEWjU4VZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFgoZr5tGP9HHV3cxD+iGIGafUX+rY8Wjf+xcwJ3XzqpAiEA5DYx2Qzxc/QuQ++oUlXTgaB9qdp6CoSbrRNr3LsT5sw="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.3":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.3","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.3","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"7316d3284f7dd1b49bdfe1088218d4f09165dbf4","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.3.tgz","integrity":"sha512-PP2Xm3ToUgitF+vAvLmDuXoQWVOuVOBSfEk6Yir+nUPE5Ty+H0Lmbe40V7JSR6JSDp9TLCIUqihWbt+hJKLAIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFncqG27jE2uqY5ZQJVBPhs+aZ27Wjep0tTm/iNp/C2NAiA79M405/V7Wv0tOXvZ2IRmPVIXfF1JAO6ekh5vEl+WzQ=="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.4":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.4","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.4","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"646cb40c652ad75bb10d4a5a4c115ca5c10c28a1","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.4.tgz","integrity":"sha512-DlmFQ/OMfiy7s2BbwMqxQz6YUoCBWpt4SrdGczofxBZ/n3EyPGSFe/Hdmgma0EcZVCR6eqSoux37UfNcm1gqFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3J0ilLSffuEtKJGSUAeHnpqQvWM+tUhtF5ZR/gmspXgIgWPltjg7t6V+hNFuTGPA9RJmXzm7GR38FWUMPVZCMIFE="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.5":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.5","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.5","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"1ded37b6b6c8b776ceae620d36c33baf220aa4d3","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.5.tgz","integrity":"sha512-V7ooZC9RFOEZP6Gzw7oRj+Bs9umtHNRgmMgCtRR8Cuq+l/xcXQODb0ohNUcI4S/KOy5VKl9OaU0y9bkeYqz1kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3jqK1Oaf407hmpLBcqDKnf8XSLAefovCPjh/Eba1fQgIhAKyk40+ec4uTULTj4HuqmCJByU1YLPnTOi3U9SP7l7YM"}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.6":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.6","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.6","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"4b0c2a3d5f79626c99f031ad1b776c7add16feb1","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.6.tgz","integrity":"sha512-eUgEorY2xOjspeGLbho7Bcic9A2CBrJ1AESZw8eZag+PazaNMu2Nq145KhdRp84JEju16CQHfZgsCVjc1iWATQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPgi07Fd1xBs3sNMMW6seqQvXxBCTTjrpYeNG+K/upWwIgJUEPrZswc4hQELfn0uvhM69PQXj6kahuImgTUGjZU6A="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.0.7":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.0.7","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.0.7","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"b483b91db95ebb4c4eb9fbf203a9c12b47f13414","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.0.7.tgz","integrity":"sha512-jO5jmEMJWCvik3ODf5xQ4vq8TtGbOh3DseMI1j2tgAeS2x7gPE5VG6u+IV6BmPXORjxIY1bDplPAf7ref5JMEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDjtbWBmR+ms2Xao5rxaQF+eJl4KtctNNEtq3OErg9sAiA38DMSTMGg8uEyF/pPcOz8uCq/Eq7eH4a0jZw3AUZkKg=="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.1.0":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.1.0","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.1.0","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"c7a9ce76036a8d1d2f061a5832a9dca4a56bc589","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.1.0.tgz","integrity":"sha512-gqoX5IaAmKjiA8Ir4cNgtYGiuOx91EcAp+h3Or/y8WH9jbUVVOML/u3Dza73kPcgX7x+mZ6VKYG/nkkVxjD9bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm3QR8qz4qY9ShQ/pMbN0oa9A2VZlHGsP56EugnQndAwIhAJWNseDu29dvNT7LcFPzZezkXq4GEZ4C2KRxuSGofMvA"}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.1.1":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.1.1","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.1.1","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"2a6d9661566781a655f26c9920d76a401185cc16","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.1.1.tgz","integrity":"sha512-SYTQ5pMkB6MoVg8LLMfmBVZ4Zzbt/yanS3j32z/Cp1RqKWAHfV5IUrAbr78RkwVXB31N0oFalg/gEDZTa/t3kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLL5umWdGZj+8xHut/spM4CnYxcVwNM7tiBva41KaN/AIgLjsLaotP3Eh/py+B8bHIz4WmapCOD+erjNj3Nlat/tE="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.2.0":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.2.0","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.2.0","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.16","_defaultsLoaded":true,"dist":{"shasum":"85bf25baece1a54393f51ee76264a2b0f1e8c670","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.2.0.tgz","integrity":"sha512-rxqLrRCdGQ1yhXqwdqTFBYhZDaEMhsdvcHMF2JR+JYSW7474OvQEu/gqGNhGDPpi7f/uL8DO/5/3eBnuBbxn9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBk56nl9gDwge/YcM4aWUNlXnXx/bD45I4z7eMT7dpFRAiAhD471sgXksspcgkIQynkV/eTJiRxzhdch9MeWCNLZPA=="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.2.1":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.2.1","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.2.1","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.16","_defaultsLoaded":true,"dist":{"shasum":"1ba8c4ddd23cc84862e9fc6ef15e9746934f88e9","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.2.1.tgz","integrity":"sha512-kaGHkVKGJ0uXzeUUHKz5C8cEWnCExjxu3SfcfkhasCzzg3dDK1E8fmfUQ3NtLA+eavA1yADCXapLGVrmimpKwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEk5nZv6Y08DfQbRvJk84sHWi2w/EIV0prVOidNdwZbmAiBk61RlNAM7/R6n1mDqWCzFu33cRr4lbeEjunMiWpoxFQ=="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.2.2":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.2.2","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.2.2","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.16","_defaultsLoaded":true,"dist":{"shasum":"1d9d9df3cd8d7beb0ac09857006e82cd39164b74","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.2.2.tgz","integrity":"sha512-BRxJUfVG/FiJc/KoGB6p2c4xCkIXacVPyWRksguiY6vQO30i6hL93AkxJ6QbvkQ/6jmD40gVLdymkeE8qNApUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZwu4XYObWmT79P1qEfcZ9XqpQSifT/mUkHR3V19ELRQIgZjgD6zeA5fp0ZroUgQDEptrq25nT0gGDzEHEzctVm3g="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]},"0.2.3":{"name":"cereal","author":{"name":"Matthew Sackman"},"version":"0.2.3","repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"main":"index","description":"Serialisation library for JavaScript that understands object graphs","homepage":"http://atomizejs.github.com/","_npmUser":{"name":"msackman","email":"matthew@rabbitmq.com"},"_id":"cereal@0.2.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.16","_defaultsLoaded":true,"dist":{"shasum":"69138f5737360e9908cae1b014882034320f8f2c","tarball":"https://registry.npmjs.org/cereal/-/cereal-0.2.3.tgz","integrity":"sha512-FrIHsIrnLye8dSAVnroakJpQim5g6qwElo0K6MW3D8hHxI7XgnIgrOF9FmpUAzod3TGBCoLVHkwlafmwCEJ/eg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6EjlV9OdXuls9U7x7OVyQzHT1rTiro0K43cE6zGjRzAiB76IntId3ue56jYglbVb8gxWTkbmMEs51xrQhxeIMZ3w=="}]},"maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}]}},"readme":"# Cereal\n\nSerialisation Library for JavaScript that respects object aliases.\n\nCan be used either client-side or in NodeJS.\n\n## What does it solve?\n\n### Aliases\n\n    var x = {};\n    var y = {a: x, b: x};\n\nIf you take the above and then do `JSON.parse(JSON.stringify(y))` then\nyou will lose the alias to `x`: what you'll get back will be `{a: {},\nb: {}}`.\n\nIf you instead do `Cereal.parse(Cereal.stringify(y))` then you'll get\nback the correct object shape, with both `a` and `b` pointing to the\nsame object.\n\n### Loops\n\nJSON can't cope with cyclical data structures. Cereal can.\n\n    var x = {};\n    x.x = x;\n\nJSON will blow up if you try to `stringify(x)`. Cereal will work\ncorrectly.\n\n## Anything else?\n\nJSON invokes `toJSON` on an object before encoding it. Analogously to\nthis, Cereal invokes invoking a `cerealise` function if it exists and\nencoding what is returned from that.\n\nNote that Cereal first rewrites the object structure to something\nwithout loops or aliases (but from which the loops and aliases can be\nreconstructed) and then it just uses normal JSON encoding on the\nresult. And vice-versa.\n\nAs a result, Cereal will ignore everything that JSON would ignore\ntoo. Thus as normal, you lose functions, prototypes etc etc.\n","maintainers":[{"name":"msackman","email":"matthew@rabbitmq.com"}],"time":{"modified":"2022-06-13T05:48:06.742Z","created":"2011-11-30T16:17:50.412Z","0.0.1":"2011-11-30T16:17:51.527Z","0.0.2":"2011-11-30T16:19:52.040Z","0.0.3":"2011-12-01T12:16:02.471Z","0.0.4":"2011-12-07T13:04:44.370Z","0.0.5":"2011-12-07T18:20:51.484Z","0.0.6":"2011-12-07T21:44:07.588Z","0.0.7":"2011-12-08T14:41:14.354Z","0.1.0":"2012-06-06T16:19:35.610Z","0.1.1":"2012-06-08T16:41:23.612Z","0.2.0":"2012-06-14T13:28:55.815Z","0.2.1":"2012-06-14T13:39:09.863Z","0.2.2":"2012-06-14T14:14:19.915Z","0.2.3":"2012-06-14T16:45:15.268Z"},"author":{"name":"Matthew Sackman"},"repository":{"type":"git","url":"git://github.com/atomizejs/cereal.git"},"description":"Serialisation library for JavaScript that understands object graphs"}