{"_id":"reified","_rev":"33-ccfd67ee123a1bd5b284968ba8cd1afb","name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","dist-tags":{"latest":"0.2.4"},"versions":{"0.0.7":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.0.7","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.0.7","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"e3ebe5c0c2ed85f0cb1a612384f0baebe6d76038","tarball":"https://registry.npmjs.org/reified/-/reified-0.0.7.tgz","integrity":"sha512-JlAd+SPup5o8AAMP7DP/fKJfDrMZ9S5JPKY/VQeoYTS/kVH2djnMA6tNDU/lNcrXQUj9mFjLKQiPra0lz3yEYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpKce/1pW6CqL2iLpgjicrnpXSPtn/YMjcIqDRB5/FCQIgGmxnvt3iwf5zvcaWOVDVKQltJxpfXIao61wezb2mHGQ="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.0.9":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.0.9","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.0.9","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"cde8dd617c20cc116c09d96f63b5bc0a4ebdca4c","tarball":"https://registry.npmjs.org/reified/-/reified-0.0.9.tgz","integrity":"sha512-1pW8p/a/2cBqbi2ooAmhkyYdN9KQOsy3TI4IBEhpgMr/fDRctX5NQK6AR5HeCZom1q2q4IdX4H49Fhgcg/nTOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2Qcv6btWGQY4pK61vvezZZ3f1cmFv2BWpq98+zDZdXAIhANrF2W33iw5oMaHeLAswhd/3cLTL4vd34ttIkMiqOe0D"}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.0":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.0","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.0","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"2f0cc2b8b2d8a72f5e9f6942bebb473bcffec4a3","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.0.tgz","integrity":"sha512-OWmHaBZ8BfhGzFMI3z9D4yUyGXQisg7Q9k1pVlWRD5sPOF1oA4eDQNm8EHgKPlJc1oAUdxSoA1dqldU+v31Npg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJLD5SCVlejDDIi4/qI0GozufPOiJwnhZK05zGH2aQ7AiEAlBCVkDWJ9gopkGklCxDunk1S0FCf3HjXqo7b9C7UExw="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.1":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.1","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.1","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"04f08a456c4957b4f8b6bf8a26f5c9c50dacd759","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.1.tgz","integrity":"sha512-bCO4dQ8PlVjlUY02lfPMd1Oa6aLee9LYWRjWiwvKjN47Xcq5yBhvJicNGDTHZQPHJ8yOxUWnWHciMbm5VRjcag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGr9/jpNvzH6sSm5cJO+brgftMXZhZ9LScD7B92Nu5IwIhAJ3IrVDX1il37zOkt6m+XzunOsYRwVzwqCST8U766SsJ"}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.2":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.2","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.2","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"79bd06998019bd73815839c1abef8735218df600","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.2.tgz","integrity":"sha512-VFwoqc1dmsDISeRpyA6qnscvw4q1XTAgc7jdrJ1G3lS/Dq2Ir9OCEFtym/97l6QXlcp9MJoqO7xKmDgyq8fGrg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtNxoRe50hyBCfneQuePH5Gn+jdE3hl7J/O1S9fhiL5gIhAOiQ0Bbsa8xBLD6ymTGVb0H+gV/PMM9JkavwO+zTR3Q1"}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.3":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.3","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.3","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"964994e9a6c9f6ad33d4d227e65fbde09bdd215e","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.3.tgz","integrity":"sha512-Qw38QGIxcEN1vJ55NxEKMEMYozHEwbIApWe+ArzMu7QOdYNPShMK+vEJeUCBRZWRytL52pHwlwtvSwD/2Nb+LA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDURYEVJCXJy6ciEIsupbhooWOFlfv3mFwEKsQWSNOoiAIgUWLr1UkOaboHbscfivVPX0fQZDSeddbr7qhVvSCS8Fo="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.4":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.4","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.4","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"a4ea93f0598a294c1b7f1a1d1188aa6ac2f425dc","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.4.tgz","integrity":"sha512-k2PQoqlCpBMh0b5HWCUn2BKHVNtJCLrqqfsR2vnZrKAXTzCeVf3Q5jXzrH4PaVqXoEG9mLFggAJnussbtVgeTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQbzLjRJHEDmOUaDr0VqHn8M9l+g6z+Ne5h/8N7HBmFgIhAJxXJ3sH71ib/l7Yxo4O4ipFM7/94PC7FXNrJYBjud2o"}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.5":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.5","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.5","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"0efb42e0c0e2abdecec158a887fa0cc3ead07c0a","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.5.tgz","integrity":"sha512-20EGHwsLfg060fx0sowtNf0oB6A80WEXKeeuawHHybn+xgFFSNy3ctQ3cFnzWZPEHSRzGQnOtHzHiqgtRGj8GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAyqJGiaotPxuTAgJscHS41AY6e+ka5XbLMBcnbYvrXwIgNC9WgZPm95LmnqFhRFptwMLFgwdEOY32pxbNarbi6PU="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.7":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.7","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.7","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"15243b543b6bdbcef7c6df810c2f609e91c22c71","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.7.tgz","integrity":"sha512-uoDv1jq7V6zkLbRQVQEGdQJYYT7WzAjKcLYazy37B5xhoFe2HyTrQG9wW5Q2+GgIi043iJOyuMXmsMRwnO2TMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnre9SCBDY9S38HQ7NboWTbflAJRG/2FEUG9vjAR2muAIgIPqGagjJgrSngoWRYnvFZWv2mxvQLVocD1us2k6HdY0="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.1.8":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.1.8","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.1.8","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.6","_defaultsLoaded":true,"dist":{"shasum":"25e02322bc975fa8766ad5a17ea361147ad579d1","tarball":"https://registry.npmjs.org/reified/-/reified-0.1.8.tgz","integrity":"sha512-B3eF7nAoM1Di04xy9k7N93RLDq0q7ZCKxt/vFqJVzh6kthu/EvbbbNIwQJ4fdY3piscoY71HgdRCkDoSVkQEVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGxQ1kp1UzMBT0/ZtHrV1Q8L4AEEgQCOaq/2m/s8BFyOAiEA8/Y38Win1ioQbUkoeD5jUi/GLQSnICSkIvd0RrLuelY="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.2.0":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.2.0","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.2.0","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.7-pre","_defaultsLoaded":true,"dist":{"shasum":"959c0113bbaaa2bf8db0920c5d2c5f737c78401e","tarball":"https://registry.npmjs.org/reified/-/reified-0.2.0.tgz","integrity":"sha512-0id+P8W18liW/yZhP4RT9AgKOBHfABFk/6laymrr0asTUorUYlOJqSrEZRivlYqmngdlPMe2jwn8mz5GiV3tkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLaGWWQ1axIIIAC/EitDDvPytWnFGkhRs4A3P5y6mvrwIgP4cj9FvvfO3inIgykJMbg6kpKDmsqcSxBHzNqZ/V7Ys="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.2.1":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.2.1","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.2.1","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.7-pre","_defaultsLoaded":true,"dist":{"shasum":"09fea15767ad93c617c2e5c7b1f5a4ae2c244207","tarball":"https://registry.npmjs.org/reified/-/reified-0.2.1.tgz","integrity":"sha512-lB94roRJQd23qJ0Mmn6shTcsQSQ3/KU38f0QZ1nJ4ZNCoPT8w/xBHlKUfGVY2K/5Z/Le/YnNFlQ7RtBwnrmjWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUCgwG+YJnw8+VRfW70/xFSeBiNEV/d2SrvSTQWALGnAiADkRS55DpyZU/eftH+/Q2O3VYgWjT3JSYZB4kSV9VWuA=="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.2.2":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.2.2","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.2.2","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.7-pre","_defaultsLoaded":true,"dist":{"shasum":"34536ce997991e1304b5871554c9345e600f72b5","tarball":"https://registry.npmjs.org/reified/-/reified-0.2.2.tgz","integrity":"sha512-r8KokCZA4RNESBA5DhWERk72XWbXw9vGWaddzt+wdRc+G2OQrYFUzbU5YXuqMFICzGgxldfDeoBaJmDGf7oWbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiVFKTORky15K2H9pHXWwOI5vCIWVajr95Z8FCtL4KAQIgAT17/1YTLEryqI+soDobzhnrdGb7Tr1BpqQ51m+BYU8="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.2.3":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.2.3","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.2.3","_engineSupported":true,"_npmVersion":"1.1.8","_nodeVersion":"v0.7.7-pre","_defaultsLoaded":true,"dist":{"shasum":"f0f128e721f8969912354fc4b246561c828e8fdf","tarball":"https://registry.npmjs.org/reified/-/reified-0.2.3.tgz","integrity":"sha512-EqPaotnI3yKx2jBKK6DLuWqnbTGaQ+fQG1o91Aq8mfc+uZJCdrOty6/cKzJGU2+ZbXa1r8UmlG5aO8C7GpRpOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYbXauPsTGgTGfBtRKsil4x3k8PA4FFDy/0NJw2BbMIAiEApM6wxIuLc9OZURK7cx930l9wjPao8iR4wJYw1AHy3Ic="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]},"0.2.4":{"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"name":"reified","description":"JS Binary Data API. Structs, arrays, bitfields, and numbers. Reify and Reference like nobody's business.","version":"0.2.4","homepage":"https://github.com/Benvie/reified","keywords":["binary","struct","c","capi","bitfield","parse","data"],"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"},"main":"index.js","dependencies":{},"devDependencies":{"tap":">=0.2.3"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"benvie","email":"brandon@bbenvie.com"},"_id":"reified@0.2.4","_engineSupported":true,"_npmVersion":"1.1.15","_nodeVersion":"v0.7.7","_defaultsLoaded":true,"dist":{"shasum":"be8a917b5a2dc36a1b16fb22a9bebeb225867682","tarball":"https://registry.npmjs.org/reified/-/reified-0.2.4.tgz","integrity":"sha512-27GIO08DpCZZxPdYv5f3Xsxe1QW38Cd2O51rJK1Y84Gv6jGU7yXYZKkjmDxR/GY9/lpeZD4Jj/10eB46bcTJBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGRJuI5ZUG0ob+l9U6lkNQsNrSIdyIanGbiJe9fNBpSTAiAmpZj9TI4peoeoLWvecpxOOZUOsZY33Qbal96S7Y5R+g=="}]},"maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}]}},"readme":"# Reified - Binary data mapping for JS\n\nStructTypes, ArrayTypes, NumberTypes. Create views on top of buffers that allow easy conversion to and from binary data.\n\n### NumericType\n```javascript\nvar int32 = new UInt32(10000000) <UInt32> 10000000\nvar int16 = new UInt16(int32)    <UInt16> 38528\nvar int8 = new UInt8(int16)      <UInt8>  128\n\nint8.write(100)\n<UInt32> 9999972\n<UInt16> 38500\n<UInt8>  100\n```\n\n### ArrayType\n```javascript\nvar int32x4 = new ArrayType(Int32, 4)\nvar int32x4x4 = new ArrayType(int32x4, 4)\nvar int32x4x4x2 = new ArrayType(int32x4x4, 2)\n//-->\n‹Int32x4x4x2›(128b)[ 2 ‹Int32x4x4›(64b)[ 4 ‹Int32x4›(16b)[ 4 ‹Int32› ] ] ]\n\nnew int32x4x4x2\n//-->\n<Int32x4x4x2>\n[ <Int32x4x4>\n  [ <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ] ],\n  <Int32x4x4>\n  [ <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ],\n    <Int32x4> [ <Int32> 0, <Int32> 0, <Int32> 0, <Int32> 0 ] ] ]\n```\n\n### StructType\n```javascript\nvar Point = new StructType('Point', { x: 'UInt32', y: 'UInt32' });\nvar RGB = new StructType('RGB', { r: UInt8, g: UInt8, b: UInt8 })\nvar Pixel = new StructType('Pixel', { point: Point, color: RGB })\n\nvar Triangle = new ArrayType('Triangle', Pixel, 3)\n//-->\n‹Triangle›(33b)\n[ 3 ‹Pixel›(11b)\n  | point: ‹Point›(8b) { x: ‹UInt32› | y: ‹UInt32› }\n  | color: ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› } ]\n\nvar Border = new StructType('Border', { top: RGB, right: RGB, bottom: RGB, left: RGB })\n//-->\n‹Border›(12b)\n| top:    ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› }\n| right:  ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› }\n| bottom: ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› }\n| left:   ‹RGB›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› }\n\nvar fuschia = new RGB({ r: 255, g: 0, b: 255 })\nvar deepSkyBlue = new RGB({ r: 0, g: 150, b: 255 })\nnew Border({ top: fuschia, right: deepSkyBlue, bottom: fuschia, left: deepSkyBlue })\n//-->\n<Border>\n| top:    <RGB> { r: <UInt8> 255 | g: <UInt8> 0 | b: <UInt8> 255 }\n| right:  <RGB> { r: <UInt8> 0 | g: <UInt8> 150 | b: <UInt8> 255 }\n| bottom: <RGB> { r: <UInt8> 255 | g: <UInt8> 0 | b: <UInt8> 255 }\n| left:   <RGB> { r: <UInt8> 0 | g: <UInt8> 150 | b: <UInt8> 255 }\n```\n### BitfieldType\n```javascript\nvar DescriptorFlags = new BitfieldType('DescriptorFlags', {\n  ENUMERABLE   : 1,\n  CONFIGURABLE : 2,\n  READONLY     : 3,\n  WRITABLE     : 4,\n  FROZEN       : 5,\n  HIDDEN       : 6,\n  NOTPRIVATE   : 7,\n});\n\n‹DescriptorFlags›(8bit)\n  0x1   ENUMERABLE\n  0x2   CONFIGURABLE\n  0x3   READONLY\n  0x4   WRITABLE\n  0x5   FROZEN\n  0x6   HIDDEN\n  0x7   NOTPRIVATE\n\nvar desc = new DescriptorFlags;\ndesc.HIDDEN = true;\n{ ‹DescriptorFlags›\n  ENUMERABLE:   false,\n  CONFIGURABLE: true,\n  READONLY:     true,\n  WRITABLE:     true,\n  FROZEN:       true,\n  HIDDEN:       true,\n  NOTPRIVATE:   true }\n\ndesc.read()\n 6\n```\n\n\n## Top level types\n\n* NumericTypes\n  * 1 byte  - `Int8,  UInt8`\n  * 2 bytes - `Int16, UInt16`\n  * 4 bytes - `Int32, UInt32, Float`\n  * 8 bytes - `Int64, UInt64, Double`\n\n* StructType - A constructor constructor that is used to build Struct constructors. These can be complex data structures that contain multiple levels of smaller structs and simple data types.\n\n* ArrayType - A constructor constructor for array types. These are containers for multiples values that are of the same type (same memory size footprint).\n\n* BitfieldType - A constructor constructor to create bitfields which seamlessly map between bits in to a set of flags and back to memory.\n\n## Terminology\n\nAt the top level is the Type constructors, listed above. `new ArrayType` creates an instance of _‹ArrayT›_, `new StructType` creates an instance of _‹StructT›_ etc. _‹Type›_ is used to indicate something common to all instances of all types. _‹StructT›_ is used to indicate something common to all instances of StructTypes. `‹Type›.__proto__` is one of the top level Type constructors, like `ArrayType`. `ArrayType.__proto__` and the others share a common genesis, the top level `Type`.\n\nA _‹Type›_ is the constructor for a given type of `<Data>`, so `‹Type›.prototype = <Data>`. `<Data>.__proto__` is one of the top level types' prototype, like `NumericType.prototype`, referred to as `NumericData`. Finally, `NumericData.__proto__` and the others share a common genesis, the top level `Data`.\n\n\n### ‹Type›\n\n__Defining a ‹Type›__\n\nAside from the provided _‹NumericT›_'s you will be providing your own definitions. _‹Types›_ are built kind of like using legos; you can use any _‹Types›_ in creating the definition for a _‹StructT›_ or _‹ArrayT›_. When defining a type, the `name` is optional but it allows you to debug and format inspection output better and allows you to specify the type later using the name instead of the _‹StructT›_ itself, such as 'UInt8' in `new ArrayType('RGB', 'UInt8', 3)`.\n\n* `new StructType(name, definition)` - Definition is an object with the desired structure, where the keys will be the fieldnames and the values are either _‹StructT›_ instances or their names.\n* `new ArrayType(name, memberType, count)` - memberType is the _‹Type›_ to be used for members, count is the preset length for each instance of `<Array>`.\n* `new BitfieldType(name, flags, bytes)` - Flags can be an array of flag names, where each name is mapped to a bit, or an object mapping names to their numeric value. An object is useful for when there's composite values that flip multiple bits. Bytes is optional to specifically set the amount of bytes for an instance. Otherwise this is the minimal amount of bytes needed to contain the specified flags.\n\n__‹Type› as constructor__\n\nIn the following, buffer can be either a buffer itself or something that has a buffer property as well, so it'll work with any ArrayBuffer, or a `<Data>` instance.\nValue can be either a JS value/object with the same structure (keys, indices, number, etc.) as the type or an instance of `<Data>` that maps to the ‹Type›. Value can also be a buffer in which case the data will reified to JS then written out, thus copying the data. `new` is optional.\n\n* `new ‹Type›(buffer, offset, value)` - instance using buffer, at `offset || 0`, optionally initialized with value.\n* `new ‹Type›(value)` - allocates new buffer initialized with value\n\n__‹Type› static functions and properties__\n\n* `‹Type›.isInstance(o)` - checks if a given `<Data>` is an instance of the ‹Type›. There's also a version of this on each top level Type, `ArrayType.isInstance(o)`\n* `‹Type›.bytes`         - byteSize of an instance of the Type\n* `‹Type›.array(n)`      - create a new ‹ArrayT› from ‹Type› with _n_ size\n* `‹StructT›.fields`     - frozen structure reference with fieldName --> Data that constructs it\n* `‹StructT›.names`      - array of field names\n* `‹StructT›.offsets`    - bytes offsets for each member\n* `‹ArrayT›.memberType`  - the _‹Type›_ the array is made of\n* `‹ArrayT›.count`       - length for instances of `<Array>`.\n* `‹BitfieldT›.flags`    - object containing flag names and the value they map to\n\n\n#### `<Data>` methods and properties\n\n`<Data>` instances are constructed by `new ‹Type›`. It represents the interface that manages interacts with memory.\n\n__Common__\n\n* `<Data>.bytes` - same as ‹Type›.bytes\n* `<Data>.DataType` - number type name or 'array' or 'struct' or 'bitfield'\n* `<Data>.write(value)` - primarily for setting the value of the whole thing at once depending on type\n* `<Data>.reify()` - recursively convert to JavaScript objects/values\n* `<Data>.fill(value)` - fills each distinct area of the type with value. (array indices, struct members, same as write for number)\n* `<Data>.rebase(buffer)` - update view to another buffer\n* `<Data>.realign(offset)` - change offset of view, keeping same buffer\n* `<Data> accessor [get]` - returns the <Data> instance for that field, not the reified value. To get the value you can do instance[indexOrField].reify()\n* `<Data> accessor [set]` - sets the value, framed through whatever _‹Type›_ structure in place\n\n__Struct__\n\n* `<Struct>.fieldName` - field based accessors\n\n__Array__\n\n* `<Array>.write(value, index)` - optionally start from given index on the type itself\n* `<Array>[0...length]` - index based accessor\n* `<Array>.map` - Array.prototype.map\n* `<Array>.forEach` - Array.prototype.forEach\n* `<Array>.reduce` - Array.prototype.reduce\n\n__Bitfield__\n\n* `<Bitfield>.write(value)` - writes the underlying data as a single number\n* `<Bitfield>.read()` - reads the underlying data as a single number\n* `<Bitfield>.get(index)` - get bit at index\n* `<Bitfield>.set(index)` - set bit at index to 1\n* `<Bitfield>.unset(index)` - set bit at index to 0\n* `<Bitfield>[0...length]` - index based accessor\n* `<Bitfield>.flagName` - flag based accessor\n* `<Bitfield>.map` - Array.prototype.map\n* `<Bitfield>.forEach` - Array.prototype.forEach\n* `<Bitfield>.reduce` - Array.prototype.reduce\n\n\n__Todo functionality__\n\n* `<Data>.copy(buffer, startSource, startDest, length)` - direct copying at buffer level to buffer or item.buffer\n* `<Data>.clone(buffer, offset)` - copy in entirety to target buffer or item.buffer, initializing a new instance of the type over the * memory\n\n\n## More Example Usage\n\n### Indexed Bitfield\n```javascript\nvar bitfield = new BitfieldType(2)\n ‹Bitfield›(32bit)\n\nvar bits = new bitfield\n ‹Bitfield›[00000000000000000000000000000000]\n\nbits.write(0); bits\n ‹Bitfield›[00000000000000000000000000000000]\n\nbits[12] = true; bits[1] = true; bits;\n//-->\n‹Bitfield›[01000000000010000000000000000000]\n\nbits.read()\n 4098\n\nbits.reify()\n//-->\n[ false, true, false, false, false, false, false, false, false, false, false,\n  false, true, false, false, false, false, false, false, false, false, false,\n  false, false, false, false, false, false, false, false, false, false ]\n```\n\n\n### .lnk File Format\n```javascript\nvar CLSID = new ArrayType('CLSID', UInt8, 16)\nvar FILETIME = new StructType('FILETIME ', { Low: UInt32, High: UInt32 })\nvar LinkFlags = new BitfieldType('LinkFlags', ['HasLinkTargetIDList','HasLinkInfo','HasName','HasRelativePath',\n  'HasWorkingDir','HasArguments','HasIconLocation','IsUnicode','ForceNoLinkInfo','HasExpString','RunInSeparateProcess',\n  'UNUSED1','HasDarwinID','RunAsUser','HasExpIcon','NoPidAlias','UNUSED2','RunWithShimLayer','ForceNoLinkTrack',\n  'EnableTargetMetadata','DisableLinkPathTracking','DisableKnownFolderTracking','DisableKnownFolderAlias',\n  'AllowLinkToLink','UnaliasOnSave','PreferEnvironmentPath','KeepLocalIDListForUNCTarget'\n]);\nvar FileAttributesFlags = new BitfieldType('FileAttributesFlags', ['READONLY','HIDDEN','SYSTEM','UNUSED1','DIRECTORY','ARCHIVE',\n  'UNUSED2','NORMAL','TEMPORARY','SPARSE_FILE','REPARSE_POINT','COMPRESSED','OFFLINE','NOT_CONTENT_INDEXED','ENCRYPTED'\n])\nvar ShellLinkHeader = new StructType('ShellLinkHeader', {\n  HeaderSize: UInt32,\n  LinkCLSID:  CLSID,\n  LinkFlags:  LinkFlags,\n  FileAttributes: FileAttributesFlags,\n  CreationTime:  FILETIME,\n  AccessTime:  FILETIME,\n  WriteTime:  FILETIME,\n  FileSize: UInt32,\n  IconIndex: Int32,\n  ShowCommand: UInt32\n});\n//-->\n‹ShellLinkHeader›(62b)\n| HeaderSize:     ‹UInt32›\n| LinkCLSID:      ‹CLSID›(16b)[ 16 ‹UInt8› ]\n| LinkFlags:      ‹LinkFlags›(32bit)\n  0x1           HasLinkTargetIDList\n  0x2           HasLinkInfo\n  0x4           HasName\n  0x8           HasRelativePath\n  0x10          HasWorkingDir\n  0x20          HasArguments\n  0x40          HasIconLocation\n  0x80          IsUnicode\n  0x100         ForceNoLinkInfo\n  0x200         HasExpString\n  0x400         RunInSeparateProcess\n  0x800         UNUSED1\n  0x1000        HasDarwinID\n  0x2000        RunAsUser\n  0x4000        HasExpIcon\n  0x8000        NoPidAlias\n  0x10000       UNUSED2\n  0x20000       RunWithShimLayer\n  0x40000       ForceNoLinkTrack\n  0x80000       EnableTargetMetadata\n  0x100000      DisableLinkPathTracking\n  0x200000      DisableKnownFolderTracking\n  0x400000      DisableKnownFolderAlias\n  0x800000      AllowLinkToLink\n  0x1000000     UnaliasOnSave\n  0x2000000     PreferEnvironmentPath\n  0x4000000     KeepLocalIDListForUNCTarget\n| FileAttributes: ‹FileAttributesFlags›(16bit)\n  0x1      READONLY\n  0x2      HIDDEN\n  0x4      SYSTEM\n  0x8      UNUSED1\n  0x10     DIRECTORY\n  0x20     ARCHIVE\n  0x40     UNUSED2\n  0x80     NORMAL\n  0x100    TEMPORARY\n  0x200    SPARSE_FILE\n  0x400    REPARSE_POINT\n  0x800    COMPRESSED\n  0x1000   OFFLINE\n  0x2000   NOT_CONTENT_INDEXED\n  0x4000   ENCRYPTED\n| CreationTime:   ‹FILETIME›(8b) { Low: ‹UInt32› | High: ‹UInt32› }\n| AccessTime:     ‹FILETIME›(8b) { Low: ‹UInt32› | High: ‹UInt32› }\n| WriteTime:      ‹FILETIME›(8b) { Low: ‹UInt32› | High: ‹UInt32› }\n| FileSize:       ‹UInt32›\n| IconIndex:      ‹Int32›\n| ShowCommand:    ‹UInt32›\n```\n\n### Triangle\n\n```javascript\nvar Point = new StructType('Point', { x: UInt32, y: UInt32 });\nvar Color = new StructType('Color', { r: UInt8, g: UInt8, b: UInt8 });\nvar Pixel = new StructType('Pixel', { point: Point, color: Color });\nvar Triangle = new ArrayType('Triangle', Pixel, 3);\n//-->\n‹Triangle›(33b)\n[ 3 ‹Pixel›(11b)\n  | point: ‹Point›(8b) { x: ‹UInt32› | y: ‹UInt32› }\n  | color: ‹Color›(3b) { r: ‹UInt8› | g: ‹UInt8› | b: ‹UInt8› } ]\n\n\nvar white = new Color({ r: 255, g: 255, b: 255 });\nvar red = new Point({ r: 255, g: 0, b: 0 });\nvar origin = new Point({ x: 0, y: 0 });\nvar defaults = new Pixel({ point: origin, color: white });\n\nnew Triangle([\n  defaults,\n  { point: { x:  5, y: 5 }, color: red },\n  { point: { x: 10, y: 0 }, color: { r: 0, g: 0, b: 128 } }\n])\n//-->\n<Triangle>\n[ <Pixel>\n  | point: <Point> { x: <UInt32> 0 | y: <UInt32> 0 }\n  | color: <Color> { r: <UInt8> 255 | g: <UInt8> 255 | b: <UInt8> 255 },\n  <Pixel>\n  | point: <Point> { x: <UInt32> 5 | y: <UInt32> 5 }\n  | color: <Color> { r: <UInt8> 0 | g: <UInt8> 0 | b: <UInt8> 0 },\n  <Pixel>\n  | point: <Point> { x: <UInt32> 10 | y: <UInt32> 0 }\n  | color: <Color> { r: <UInt8> 0 | g: <UInt8> 0 | b: <UInt8> 128 } ]\n```\n\n## TODO\n\n* APIs/wrappers for handling indiration (pointers), as the initial use case is for FFI\n* An optional extended JS interface implementing Harmony Proxies to smooth over the rough edges and make usage easier.\n* Dynamic mapping of structures (useful for mapping out files like TTF font file format for example with header tables and pointer rich structures).\n* String handling and the dynamic sizing that goes along with that\n* Make it work in browsers with ArrayBuffers","maintainers":[{"name":"benvie","email":"brandon@bbenvie.com"}],"time":{"modified":"2022-06-26T10:50:26.832Z","created":"2012-03-18T02:33:42.476Z","0.0.7":"2012-03-18T02:33:43.229Z","0.0.9":"2012-03-19T11:47:59.678Z","0.1.0":"2012-03-19T14:51:42.103Z","0.1.1":"2012-03-19T20:32:03.712Z","0.1.2":"2012-03-19T20:36:32.249Z","0.1.3":"2012-03-19T21:04:10.942Z","0.1.4":"2012-03-20T03:06:22.929Z","0.1.5":"2012-03-20T09:42:11.133Z","0.1.7":"2012-03-20T19:12:48.370Z","0.1.8":"2012-03-21T02:40:33.694Z","0.2.0":"2012-03-21T12:28:54.360Z","0.2.1":"2012-04-02T11:06:25.521Z","0.2.2":"2012-04-02T11:36:02.255Z","0.2.3":"2012-04-02T12:11:38.779Z","0.2.4":"2012-04-07T22:52:07.737Z"},"author":{"name":"Brandon Benvie","email":"brandon@bbenvie.com","url":"http://bbenvie.com"},"repository":{"type":"git","url":"git://github.com/Benvie/reified.git"}}