If you happen to work with people who think using Java inspired namespaces in Javascript is a good idea, you will need this.
For node.js / io.js
npm install ns.js
then require the module
var ns = require('ns.js');
In the browser
<script type="text/javascript" src="ns.js"></script>
ns('my.awesome.package', function(){
return { foo : 'bar' };
});
var package = ns('my.awesome.package'); // { foo : 'bar' }
var missingPackage = ns('my.awesome.notfound'); // null
ns('my.awesome.package', function(){
return { foo : 'bar' };
});
// This is ignored
ns('my.awesome', function(){
return { bar : 'baz' };
});
ns('my.awesome.other.package', function(){
return { buz : 'bur' };
});
var package = ns('my.awesome.package'); // { foo : 'bar' }
ns('my.awesome.package', function($){
return $('div');
}, jQuery);