Skip to content

Instantly share code, notes, and snippets.

@arboleya
Forked from giuliandrimba/namespace.js
Last active December 10, 2015 17:08

Revisions

  1. arboleya revised this gist Jan 6, 2013. 2 changed files with 17 additions and 25 deletions.
    25 changes: 0 additions & 25 deletions namespace.js
    Original file line number Diff line number Diff line change
    @@ -1,25 +0,0 @@
    function namespace(name)
    {
    var namespaces = name.split(".");
    var name = "";

    function getName(parent)
    {
    if(namespaces.length > 0)
    {
    name = namespaces.shift();

    if(!parent[name])
    {
    parent[name] = {}
    }

    return getName(parent[name], namespaces)
    }
    else
    {
    return parent;
    }
    }
    return getName(window);
    }
    17 changes: 17 additions & 0 deletions ns.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    /*
    USAGE:
    # at window
    ns( 'my.namespace' ).MyClass = ...
    # at app obj
    var app = {}
    ns( 'my.namespace', app ).MyClass = ...
    */
    function ns( ns, base )
    {
    var n, b = base || window, r = /[^\.]+/g;
    while( (n = r.exec( ns ) ) != null )
    b = b[n[0]] || (b[n[0]] = {});
    return b;
    }
  2. @giuliandrimba giuliandrimba revised this gist Dec 6, 2012. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions namespace.js
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    function namespace(name)
    {
    var namespaces = name.split(".");
    var namespaces = name.split(".");
    var name = "";

    function getName(parent)
    @@ -18,7 +18,6 @@ function namespace(name)
    }
    else
    {
    obj = parent;
    return parent;
    }
    }
  3. @giuliandrimba giuliandrimba created this gist Dec 6, 2012.
    26 changes: 26 additions & 0 deletions namespace.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    function namespace(name)
    {
    var namespaces = name.split(".");
    var name = "";

    function getName(parent)
    {
    if(namespaces.length > 0)
    {
    name = namespaces.shift();

    if(!parent[name])
    {
    parent[name] = {}
    }

    return getName(parent[name], namespaces)
    }
    else
    {
    obj = parent;
    return parent;
    }
    }
    return getName(window);
    }