{"_id":"strict-object","_rev":"7-cf5093c0cd31ce78e06e220ef5f7545e","name":"strict-object","description":"A utility to create instantiateable objects with simple getters and setters.  Cleaner syntax, typo-proof code.","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"strict-object","description":"A utility to create instantiateable objects with simple getters and setters.  Cleaner syntax, typo-proof code.","version":"1.0.0","homepage":"https://github.com/danielbeardsley/strict-object","author":{"name":"Daniel Beardsley","email":"daniel.beardsley@gmail.com","url":"www.danielbeardsley.com"},"files":["lib/strictObject.js","lib","package.json"],"main":"lib/strictObject","devDependencies":{"vows":"0.5.x"},"engines":{"node":"*"},"scripts":{"test":"vows test/test.js"},"repository":{"type":"git","url":"git://github.com/danielbeardsley/strict-object.git"},"bugs":{"url":"https://github.com/danielbeardsley/strict-object/issues"},"_id":"strict-object@1.0.0","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.4.1","directories":{"lib":"./lib"},"modules":{"strictObject.js":"lib/strictObject.js"},"_defaultsLoaded":true,"dist":{"shasum":"e6cf4fdda685acfaca84d7d68b80d7fd4b7f869e","tarball":"https://registry.npmjs.org/strict-object/-/strict-object-1.0.0.tgz","integrity":"sha512-Q2r/Itxtz77pNBWAgjHK1YqOYIVSBQVqM2X/GlsvAeVhLa2HTUYdWqNpJ86PMZC18kAyfl6C4GhzicNn15vLcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHf2Z0/rKv8ya4X2dVQBoXmzGgO8t/PUMt3bTK+dT+2FAiAipUy5/zM5ZnTZIO+KVwHJW1gzJbbxwVuiY+LngjhjtA=="}]},"maintainers":[{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"}]},"2.0.0":{"name":"strict-object","description":"A utility to create instantiateable objects with simple getters and setters.  Cleaner syntax, typo-proof code.","version":"2.0.0","homepage":"https://github.com/danielbeardsley/strict-object","author":{"name":"Daniel Beardsley","email":"daniel.beardsley@gmail.com","url":"www.danielbeardsley.com"},"files":["lib/strictObject.js"],"main":"lib/strictObject.js","devDependencies":{"vows":"0.5.x"},"engines":{"node":"*"},"scripts":{"test":"vows test/test.js"},"repository":{"type":"git","url":"git://github.com/danielbeardsley/strict-object.git"},"bugs":{"url":"https://github.com/danielbeardsley/strict-object/issues"},"gitHead":"9d9659d866140d0e764e9127cd790d092a41f68d","_id":"strict-object@2.0.0","_shasum":"b256908831e438c467a9aedf34afe2664cf1e10e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.10.36","_npmUser":{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"},"dist":{"shasum":"b256908831e438c467a9aedf34afe2664cf1e10e","tarball":"https://registry.npmjs.org/strict-object/-/strict-object-2.0.0.tgz","integrity":"sha512-yUYSlcLO5aGm3UytyjDuOBSIrwXJcw6qv5WW6VfY40S0a3gBeePffvvHQs9bRLx0qhw5WwqTMf/mr5bpvTJyPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA30gjxRoJhBaA1DrzZw8NAdn/wTVcbPrEisvXZ/BzyDAiBjNOZCqIzyvADqgrOkQO6jWSc8HjfrRSEkhf8WkRbNPw=="}]},"maintainers":[{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"}]},"2.0.1":{"name":"strict-object","description":"A utility to create instantiateable objects with simple getters and setters.  Cleaner syntax, typo-proof code.","version":"2.0.1","homepage":"https://github.com/danielbeardsley/strict-object","author":{"name":"Daniel Beardsley","email":"daniel.beardsley@gmail.com","url":"www.danielbeardsley.com"},"files":["lib/strictObject.js"],"main":"lib/strictObject.js","devDependencies":{"vows":"0.5.x"},"engines":{"node":"*"},"scripts":{"test":"vows test/test.js"},"repository":{"type":"git","url":"git://github.com/danielbeardsley/strict-object.git"},"bugs":{"url":"https://github.com/danielbeardsley/strict-object/issues"},"gitHead":"de35b411461872187fc40eca12ac3288ea414aff","_id":"strict-object@2.0.1","_shasum":"95f9ee2db31fe98447fc9cad7b0b572659e66a2b","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.10.36","_npmUser":{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"},"dist":{"shasum":"95f9ee2db31fe98447fc9cad7b0b572659e66a2b","tarball":"https://registry.npmjs.org/strict-object/-/strict-object-2.0.1.tgz","integrity":"sha512-lce4nKczhMrC/FwxLM2GG7Q3ViMTXbpwk5+UfqBUmYiIYoqSwdcrmM53zFqCpM2S6xYSiqdHeKvjhH0yYNKW9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJAdakHhU/yewUMDXDhiHTsxV1wuc+5okRwcSWCoQf5AiEAnq5nBeAhCpglXrfVerE+Vy8KgkJvLDi29WwFFmhJDzA="}]},"maintainers":[{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"}]}},"maintainers":[{"name":"danielbeardsley","email":"daniel.beardsley@gmail.com"}],"time":{"modified":"2022-06-27T00:57:46.081Z","created":"2011-10-21T03:18:47.435Z","1.0.0":"2011-10-21T03:18:47.945Z","2.0.0":"2015-08-01T00:23:25.375Z","2.0.1":"2015-08-01T00:27:43.298Z"},"author":{"name":"Daniel Beardsley","email":"daniel.beardsley@gmail.com","url":"www.danielbeardsley.com"},"repository":{"type":"git","url":"git://github.com/danielbeardsley/strict-object.git"},"readme":"## strict-object ##\r\nA utility that makes it safer and prettier to deal with javascript objects that have a\r\ndefined set of properties.\r\n\r\nStatus: [![Build Status](https://secure.travis-ci.org/danielbeardsley/strict-object.png?branch=master)](http://travis-ci.org/danielbeardsley/strict-object)\r\n\r\n### Installing ###\r\nstrict-object is compatable with npm, browsers, windows script host,and probably more.\r\n\r\n```\r\nnpm install strict-object\r\n```\r\n\r\nWhen minified, strict-object.js ends up less than 400 bytes.\r\n\r\n### What ###\r\n```javascript\r\n// Create a new person type\r\nvar Person = StrictObject.define(['name', 'age', 'country']);\r\n\r\n// Instatiate a Person\r\nvar pete = new Person();\r\n\r\n// set properties using functions\r\npete.name('Peter');\r\n\r\n// get properties using functions\r\nconsole.log(pete.name());\r\n\r\n// property setters return the target object and are thus chainable\r\npete.name('Peter')\r\n    .age(26)\r\n    .country('Uzbekistan');\r\n\r\n// retrieve the properties as an object\r\nconsole.log(pete._toObject()); // {name: 'Peter', age: 26, country: 'Uzbekistan'}\r\n\r\n// Instatiate a Person with initial values\r\nvar pete = new Person({\r\n\tname: \"Peter\",\r\n\tage: 26,\r\n\tcountry: \"Uzbekawhat?\"\r\n});\r\n\r\n```\r\n\r\n### Running Tests ###\r\n\r\n```\r\nnpm test\r\n```\r\n\r\n### Why ###\r\nBecause typos are too easy with basic objects.\r\n\r\n```javascript\r\nvar thing = {};\r\nthing.descriptivePropertyName = 'value';\r\nconsole.log(thing.descriptvePropertyName); // null -- because of a typo.\r\n```\r\n\r\nSyntax is ugly with basic objects\r\n\r\n```javascript\r\nvar thing = {\r\n\tkey: \"value\",\r\n\tkey2: \"value2\"\r\n};\r\n```\r\n\r\nCleaner and safer with strict-object\r\n\r\n```javascript\t\t\r\nthing = new Thing()\r\n\t.key(\"value\")\r\n\t.key2(\"value2\");\r\n```\r\n\r\n### License ###\r\nNo License, the content of this repository is in the public domain, no\r\nattribution is necessary.\r\n","homepage":"https://github.com/danielbeardsley/strict-object","bugs":{"url":"https://github.com/danielbeardsley/strict-object/issues"},"readmeFilename":"README.md"}