Return to Snippet

Revision: 11873
at February 23, 2009 15:44 by Sephr


Updated Code
function namespace(fullNS, separator) {
  var parent = this;
  fullNS.split(separator || '.').forEach(function(ns) {
    parent = parent[ns] = parent[ns] || {}
  });
}

String.prototype.namespace = function(separator, thisp) {
  namespace.call((thisp||window), this, separator);
};

Revision: 11872
at February 23, 2009 00:21 by Sephr


Initial Code
function namespace(fullNS, separator) {
  var parent = this;
  fullNS.split(separator || '.').forEach(function(ns)
    parent = parent[ns] = parent[ns] || {}
  );
}

String.prototype.namespace = function(separator, thisp) {
  namespace.call((thisp||window), this, separator);
}

Initial URL


Initial Description
Easy Namespacing
================
This version doesn't require JavaScript 1.8

Examples:

`"foo.bar.baz".namespace()` makes `foo.bar.baz`

`"foo::bar::baz".namespace("::")` makes `foo.bar.baz`

`namespace.call(obj, ns[, separator])` extends `ns` (split by separator or ".") onto `obj`

Initial Title
Easy Namespacing

Initial Tags


Initial Language
JavaScript