2015-11-30 14:04:04 +00:00
|
|
|
/// <reference path="index.ts" />
|
|
|
|
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;
|
|
|
|
})();
|
2015-11-26 05:31:31 +00:00
|
|
|
/// <reference path="typings/tsd.d.ts" />
|
2015-11-30 14:04:04 +00:00
|
|
|
/// <reference path="classes.ts" />
|
2015-11-26 05:31:31 +00:00
|
|
|
var beautylog = require("beautylog")("os");
|
|
|
|
var smartenv = {}; //create smartenv object
|
|
|
|
smartenv.items = {}; // create the items object to store items to.
|
2015-11-30 14:04:04 +00:00
|
|
|
/* ----------------------------------------- *
|
|
|
|
* ----- 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;
|
2015-11-26 05:31:31 +00:00
|
|
|
};
|
2015-11-30 14:04:04 +00:00
|
|
|
/* ----------------------------------------- *
|
|
|
|
* ----- 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:");
|
2015-11-26 05:31:31 +00:00
|
|
|
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;
|