///
var Environment = (function () {
function Environment(runtimeEnvArg, userAgentArg) {
if (userAgentArg === void 0) { userAgentArg = "undefined"; }
this.runtimeEnv = runtimeEnvArg;
this.userAgent = userAgentArg;
if (runtimeEnvArg == "node") {
this.isBrowser = false;
this.isNode = true;
this.nodeVersion = process.version;
}
else {
this.isBrowser = true;
this.isNode = true;
this.nodeVersion = "undefined";
}
}
;
return Environment;
})();
///
///
var beautylog = require("beautylog")("os");
var smartenv = {}; //create smartenv object
smartenv.items = {}; // create the items object to store items to.
/* ----------------------------------------- *
* ----- Environment ----------------------- *
* ----------------------------------------- */
var environment;
var setEnvironment = function () {
var localRunTimeEnv = "undefined";
var localUserAgent = "undefined";
if (typeof window !== 'undefined') {
localRunTimeEnv = 'browser';
localUserAgent = navigator.userAgent;
}
else if (typeof process !== 'undefined') {
localRunTimeEnv = 'node';
}
environment = new Environment(localRunTimeEnv, localUserAgent);
};
setEnvironment();
smartenv.getEnv = function () {
return environment;
};
/* ----------------------------------------- *
* ----- Info vars ------------------------- *
* ----------------------------------------- */
smartenv.printEnv = function () {
if (environment.isNode) {
var smartenvVersion = require("./package.json").version;
beautylog.log("node version is " + environment.nodeVersion + " and smartenv version is " + smartenvVersion);
}
else {
beautylog.log("browser is " + environment.userAgent);
}
beautylog.log("the smartenv registration store currently holds the following properties:");
console.log(Object.getOwnPropertyNames(smartenv.items).sort());
};
smartenv.register = function (objectArg, paramName) {
if (paramName === void 0) { paramName = "undefined"; }
if (paramName == "undefined") {
beautylog.error("paramName is undefined");
return;
}
smartenv.items[paramName] = objectArg;
};
smartenv.get = function (keyName) {
return smartenv.items[keyName];
};
module.exports = smartenv;