

//semi-colon to assure functionality upon script concatenation and minification
;
/**
*
* @param _window the JS window object
* @param _document the JS document object
* @returns
*/
(function(_window, _document){
if (!_window.MMS) {
_window.MMS = {};
}
var MMS = _window.MMS;
// this variable holds the actual value storage.
var _localDataNonCached = {"customer":{"isAuthenticated":false,"permissions":{"arp":{"permissions:profile":{"source":"Online-Shop: soliverDE","state":"DENY","version":"2019-07-29T22:00:00.000Z"},"permissions:channels":{"marketing_searchengines":{"source":"Online-Shop: soliverDE","state":"DENY"},"marketing_display":{"source":"Online-Shop: soliverDE","state":"DENY"},"marketing_portals":{"source":"Online-Shop: soliverDE","state":"DENY"},"marketing_affiliate":{"source":"Online-Shop: soliverDE","state":"DENY"},"marketing_retargeting":{"source":"Online-Shop: soliverDE","state":"DENY"},"marketing_social":{"source":"Online-Shop: soliverDE","state":"DENY"}}},"dirty":false,"isFallback":false,"isFailed":false,"isOutdated":false}},"global":{"deviceInfo":{"context":"eshop"},"sessionID":"jRWixrg4ThM3lun5s5q8JdhQGaEx-UnEKlo="},"isDebugLogEnabled":false};
/**
* @file Contains LocalDataNonCached Singleton. An access point for static values maintained by server.
*/
MMS.LocalDataNonCached = {};
/**
* tries to find a value for the given tree path. Usage: MMS.LocalDataNonCached.get('global.data.value')
* @returns the found value or null
*/
MMS.LocalDataNonCached.get = function _get(path) {
if(_localDataNonCached == null) {
return null;
}
var paths = path.split('.');
var current = _localDataNonCached;
var i;
for (i = 0; i < paths.length; ++i) {
if (current[paths[i]] == undefined) {
return null;
}
else {
current = current[paths[i]];
}
}
if(current == undefined) {
return null;
}
// else:
return current;
};
/**
* dumps the internal private variable to the console. Just a debug way to check if loading was successful.
*/
MMS.LocalDataNonCached.dump = function _dump() {
console.log("LocalDataNonCached-Dump");
console.log(_localDataNonCached);
};
/**
* reload data from server
* @returns a promise or a function that returns a promise
*/
MMS.LocalDataNonCached.reload = function _reload() {
var localDataNonCachedControlerURL = URLTools.getStoreURL('LocalDataNonCached-Print');
return MMS.DependencyLoader.loadByURL(localDataNonCachedControlerURL, null, true, true);
};
})(window, document);
