Namespacing Classes
Namespacing Classes
by patelsan
CoffeeScript
class Object
toString: (name)->
return 'I am an Object with name ' + name
namespace = (target, name, block) ->
[target, name, block] = [(if typeof exports isnt 'undefined' then exports else window), arguments...] if arguments.length < 3
top = target
target = target[item] or= {} for item in name.split '.'
block target, top
namespace '', (exports, root) -> root.namespace = namespace
#console.log(window.namespace)
namespace "System.IO",(exports)->
exports.Object = Object
obj = new System.IO.Object()
console.log obj.toString('Computer')
#<-- Following Doesnt Work
namespace 'System.Web',(exports)->
class Browser
version = ()->
return 'Chrome'
client = new System.Web.Browser()
console.log client.version()