@leansdk/leanrc
Version:
LeanRC is a MVC framework for creating graceful applications
40 lines (31 loc) • 1.04 kB
text/coffeescript
module.exports = (Module) ->
{
PointerT
FuncG, MaybeG
FacadeInterface
Facade
} = Module.NS
class AppFacade extends Facade
Module
vpbIsInitialized = PointerT isInitialized: MaybeG(Boolean),
default: no
cphInstanceMap = PointerT ['~instanceMap'].pointer
startup: Function,
default: ->
unless @[vpbIsInitialized]
@[vpbIsInitialized] = yes
Module.NS.STARTUP, Module.NS.StartupCommand
Module.NS.STARTUP
return
finish: Function,
default: ->
Module.NS.ConsoleComponentMediator::CONSOLE_MEDIATOR
return
getInstance: FuncG(String, FacadeInterface),
default: (asKey)->
vhInstanceMap = Module.NS.Facade[cphInstanceMap]
unless vhInstanceMap[asKey]?
vhInstanceMap[asKey] = Module.NS.AppFacade.new asKey
vhInstanceMap[asKey]