all files / src/util/ provide.ts

100% Statements 14/14
100% Branches 4/4
100% Functions 2/2
100% Lines 14/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                      39×     39× 39×   39× 45×   45× 12×     45×     39×        
/**
 * Created by gavorhes on 12/10/2015.
 */
 
 
/**
 * create a namespace on the gv object
 * @param {string} namespace to create
 * @returns {object} object representing the namespace
 */
function provide(namespace){
    "use strict";
    if (typeof window['gv'] == 'undefined'){
        window['gv'] = {};
    }
 
    let parts = namespace.split('.');
    let nameSpace = window['gv'];
 
    for (let i=0; i< parts.length; i++){
        let newObject = nameSpace[parts[i]];
 
        if (typeof newObject == 'undefined'){
            nameSpace[parts[i]] = {};
        }
 
        nameSpace = nameSpace[parts[i]];
    }
 
    return nameSpace;
}
 
provide('util');
window['gv'].util.provide = provide;
 
export default provide;