betajs/betajs-scoped

View on GitHub
src/main/public.js

Summary

Maintainability
A
0 mins
Test Coverage
var globalNamespace = newNamespace({tree: true, global: true});
var rootNamespace = newNamespace({tree: true});
var rootScope = newScope(null, rootNamespace, rootNamespace, globalNamespace);

var Public = Helper.extend(rootScope, (function () {  
/** 
 * This module includes all public functions of the Scoped system.
 * 
 * It includes all methods of the root scope and the Attach module.
 * 
 * @module Public
 * @access public
 */
return {
        
    guid: "/* @echo GUID */",
    version: '/* @echo VERSION */',

    upgradable: true,
        
    upgrade: Attach.upgrade,
    attach: Attach.attach,
    detach: Attach.detach,
    exports: Attach.exports,
    
    /**
     * Exports all data contained in the Scoped system.
     * 
     * @return data of the Scoped system.
     * @access private
     */
    __exportScoped: function () {
        return {
            globalNamespace: globalNamespace.__export(),
            rootNamespace: rootNamespace.__export(),
            rootScope: rootScope.__export()
        };
    },
    
    /**
     * Import data into the Scoped system.
     * 
     * @param data of the Scoped system.
     * @access private
     */
    __importScoped: function (data) {
        globalNamespace.__import(data.globalNamespace);
        rootNamespace.__import(data.rootNamespace);
        rootScope.__import(data.rootScope);
    }
    
};

}).call(this));