I have created a function to us for namespace but how to extend its functionality
code:
MY.property = function (str, obj, prevent) {
var ns = obj || MY,
k = str.split(".");
while (k.length > 1) {
if (!prevent && typeof ns[k[0]] === "undefined") {
ns[k[0]] = {};
}
if (ns[k[0]]) {
ns = ns[k.shift()];
} else {
return;
}
}
return [ns, [k[0]]];
};
MY.namespace = function (str) {
var ns = this.property(str),
k = str.split(".");
if (k[0] === "MY") {
k.shift();
}
if (ns && ns[0][ns[1]]) {
return;
} else {
ns[0][ns[1]] = {};
}
return true;
};
This only works for MY.namespace("test") , var My.test = function(){}; but how can I extend it like this MY.namespace("test", function(){ }); and MY.namespace("test", {});
Thanks for any help or advice.