public static parseVariable()

in Source/SiteCommon/Web/services/init-parser.ts [70:118]


    public static parseVariable(key: string, value: any, obj: any, MS: MainService, self: any): void {
        let variable: Variable = this.getVariableType(value);
        let result: string = '';
        let command: string = '';

        if (!variable.secondArgument) {
            variable.secondArgument = '';
        }

        switch (variable.type) {
            case VariableType.DataStoreGetFirst:
                command = 'this.MS.DataStore.getJson("' + variable.value + '")' + variable.secondArgument;
                break;
            case VariableType.DataStoreGetAll:
                command = 'this.MS.DataStore.getAllJson("' + variable.value + '")' + variable.secondArgument;
                break;
            case VariableType.Run:
                command = variable.value;
                break;
            case VariableType.RunAndSave:
                command = variable.value;
                break;
            case VariableType.RunAndSaveOld:
                command = variable.value;
                break;
            case VariableType.RunAndTestFalse:
                command = variable.value
                break;
            case VariableType.RunAndTestTrue:
                command = variable.value
                break;
            case VariableType.RunAndTranslate:
                command = variable.value;
                break;
            case VariableType.Static:
                command = '';
                result = variable.value;
                break;
        }

        if (command && self) {
            result = eval(command);
        }

        obj[key] = result;
        if (variable.saveToDataStore) {
            MS.DataStore.addToDataStore(key, result, DataStoreType.Private);
        }
    }