{"_id":"registry","_rev":"36-56da8a4803a9f328aa197dcb484e50a6","name":"registry","description":"Experimental namespaced IoC container","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.4":{"name":"registry","description":"Experimental namespaced IoC container","author":{"name":"Damon Oehlman","email":"damon.oehlman@sidelab.com"},"tags":["ioc"],"version":"0.1.4","main":"./registry.common.js","engines":{"node":">= 0.4.x < 0.7.0"},"dependencies":{"matchme":"*","wildcard":"*"},"devDependencies":{"expect.js":"0.1.x","mocha":"*"},"repository":{"type":"git","url":"git://github.com/DamonOehlman/register.git"},"bugs":{"url":"http://github.com/DamonOehlman/register/issues"},"scripts":{"test":"mocha --reporter spec"},"contributors":[],"_npmUser":{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"},"_id":"registry@0.1.4","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"9db3caa43ac7ee4d09e4639a4c4868510ee30b83","tarball":"https://registry.npmjs.org/registry/-/registry-0.1.4.tgz","integrity":"sha512-GZzqwGyyBkXsfkWZoUSG2RsFcx+dtT1Eg0oSNTdLCOu3RAMZF5Q1jznjG4uX1fvCToXDQveHfVybZWGmokPWSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9ckxoY/nUPenvMy8wKP6VttgOCh0O6AcwTDSr2/XshAiEA4KeZuu4JfBpfYly3WW1Kz4m5bmf64hEJK5JxA4l984c="}]},"maintainers":[{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"}],"directories":{}},"0.2.0":{"name":"registry","description":"Experimental namespaced IoC container","author":{"name":"Damon Oehlman","email":"damon.oehlman@sidelab.com"},"tags":["ioc"],"version":"0.2.0","main":"./registry.common.js","engines":{"node":">= 0.4.x < 0.7.0"},"dependencies":{"matchme":"*","wildcard":"*"},"devDependencies":{"expect.js":"0.1.x","mocha":"*"},"repository":{"type":"git","url":"git://github.com/DamonOehlman/register.git"},"bugs":{"url":"http://github.com/DamonOehlman/register/issues"},"scripts":{"test":"mocha --reporter spec"},"contributors":[],"_npmUser":{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"},"_id":"registry@0.2.0","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"170cd62d480e9696ad8fde4474d1a21f28a23b8a","tarball":"https://registry.npmjs.org/registry/-/registry-0.2.0.tgz","integrity":"sha512-bA1X8Em0AnMwUzI1wE9vIpdl9HCF4UMAgjCUGvb5HfvS+SwQ+a42FC/aFI4fIoP7nSBEf0dE72tF2dWX/HtcaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDbDaUiFADn3b9m/gmV6cr1yFeF02bvUZxqnY8uM5gTfAiEAx86HeO84+JS7EYfWi7r/63HNOLpYGNyOg1M51Yl9/nc="}]},"maintainers":[{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"}],"directories":{}},"0.2.2":{"name":"registry","description":"Experimental namespaced IoC container","author":{"name":"Damon Oehlman","email":"damon.oehlman@sidelab.com"},"tags":["ioc"],"version":"0.2.2","main":"./pkg/cjs/registry","engines":{"node":">= 0.4.x < 0.9.0"},"dependencies":{"matchme":"0.1.x","wildcard":"*"},"devDependencies":{"expect.js":"0.1.x","mocha":"*"},"repository":{"type":"git","url":"git://github.com/DamonOehlman/register.git"},"bugs":{"url":"http://github.com/DamonOehlman/register/issues"},"scripts":{"test":"mocha --reporter spec"},"contributors":[],"readme":"# Registry\n\nIt's a bucket. A Javascript bucket. A big Javascript bucket for defining your modules, classes, configuration objects, etc. While we could throw around different acronyms like IoC, AOP and the like, nothing quite fits exactly how registry works. But they do give you a feel for the concepts and inspiration behind the project.\n\n\n\n## The Importance of Namespaces\n\nRegistry uses namespaces to pragmatically define the purpose of a class, module or function. Items are stored in the registry under a namespace and can be accessed either directly by the namespace, or by [wildcard](https://github.com/DamonOehlman/wildcard) matches.\n\nConsider the following example:\n\n```js\n// define a (pretend) loader that can read from a local files \nregistry.define('loader.file', function() {\n return {\n load: function(target) {\n }\n };\n});\n\n// create a new loader instance (using a wildcard )\nvar loader = registry('loader').create();\n```","_id":"registry@0.2.2","dist":{"shasum":"e7d231b535fd59492c588fc8d6e192156b120018","tarball":"https://registry.npmjs.org/registry/-/registry-0.2.2.tgz","integrity":"sha512-juRrO7HE/iOzi+YfSLerSOQcv/sems4r2zJ+ii7WM80TlVuVNeCTYsk8YA2P3uK4Bk4f7HvHpejGpR5RTKCAvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6PNWIj321SwqayQFKLt/uByL17MscvcXaLt6WcBC4EwIgSnN08SeBAqPORT24bIWpmLg8fQTVa8GNX1gOlVYgh5Y="}]},"maintainers":[{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"}],"directories":{}},"0.3.0":{"name":"registry","description":"Experimental namespaced IoC container","author":{"name":"Damon Oehlman","email":"damon.oehlman@sidelab.com"},"tags":["ioc"],"version":"0.3.0","main":"./dist/commonjs/registry","engines":{"node":">= 0.6.x < 0.9.0"},"dependencies":{"matchme":"0.1.x","wildcard":"0.1.x"},"devDependencies":{"expect.js":"0.1.x","mocha":"*"},"repository":{"type":"git","url":"git://github.com/DamonOehlman/registry.git"},"bugs":{"url":"http://github.com/DamonOehlman/regsitry/issues"},"scripts":{"test":"mocha --reporter spec"},"contributors":[],"readme":"# Registry\n\nRegistry is designed to be a useful helper for managing definitions of JS modules, classes, functions, etc. It provides the ability to define a \"thing\" using a string identifier and then\nretrieve it at later date using [wildcard](/DamonOehlman/wildcard) matching.\n\n\n\n## Why Use Registry?\n\nRegistry attempts to provide some of the benefits that you find using an [IoC](http://en.wikipedia.org/wiki/Inversion_of_control) in an OO programming environment, but does not force OO patterns into JS like many other Class Helper libraries.\n\nWhen using registry you should be able to define things in much the same way you are used to. You simply provide them a name that can be wildcard matched in a similar way to [eve](/DmitryBaranovskiy/eve) and retrieved later. Using this technique you can either specifically target a particular thing by using a specific name or a more generalized instance using a more generalized namespace.\n\nPrimarily, Registry has been designed for use in the browser but will also work quite happily in a CommonJS environment (such as Node).\n\n## Example Usage\n\nAt the moment, the tests contain some of the best examples of how Registry can be used, but full documentation will be completed one day...","_id":"registry@0.3.0","dist":{"shasum":"7f2c284c8475f743c003872e5da30dce836aea64","tarball":"https://registry.npmjs.org/registry/-/registry-0.3.0.tgz","integrity":"sha512-oWSXj/eujNLVaVsYf6mGvq5tMNqEJknaH0ErPbFC4jl2beEkc31/f8NQgkMzTBZ+EJ2LXYvxd3tgxVv2Tgvm9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0E7zJCYkY9FrhjymPknS7cxQ4Wm0GIYzJkNeSca+WQAiEA2lYnYNjY90mR7waudD4S2h1zfjQ89tRGtsPTaK4e4Eo="}]},"maintainers":[{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"}],"directories":{}}},"readme":"# Experimental namespaced IoC container\n\nThis is a simple project designed to provide something conceptually similar to IoC found in other languages. It's definitely not the same, given that other implementations of IoC perform method signature matching and other techniques not well suited to JS.\n\n\n\nThis implementation instead uses __purpose-based namespacing__ when defining \"classes\". What I mean by this is that something should be given a namespace relative to it's purpose rather than it's ownership (as is common in other languages).\n\n## Example Usage\n\nTo be completed.","maintainers":[{"name":"damonoehlman","email":"damon.oehlman@sidelab.com"}],"time":{"modified":"2022-06-26T10:46:28.696Z","created":"2012-03-13T08:55:58.191Z","0.0.0":"2012-03-13T08:56:03.008Z","0.1.0":"2012-03-13T13:10:13.101Z","0.1.1":"2012-03-13T13:44:34.818Z","0.1.2":"2012-03-13T14:19:48.113Z","0.1.3":"2012-03-14T05:27:27.567Z","0.1.4":"2012-03-17T00:38:01.008Z","0.2.0":"2012-03-22T03:16:30.596Z","0.2.2":"2012-06-26T07:32:56.729Z","0.3.0":"2012-08-09T04:47:07.480Z"},"author":{"name":"Damon Oehlman","email":"damon.oehlman@sidelab.com"},"repository":{"type":"git","url":"git://github.com/DamonOehlman/registry.git"},"users":{"davidnpm3020":true}}