smartenv/dist/smartenv.environment.js

40 lines
4.6 KiB
JavaScript

/// <reference path="typings/main.d.ts" />
/**
* Deals with the environment the current JS script is running in.
*/
var plugins = require("./smartenv.plugins");
var classes = require("./smartenv.classes");
var objectStorage = require("./smartenv.objectstorage");
var environment;
var envDetermined = false;
/**
* returns the environment
* @returns {Environment}
*/
exports.getEnv = function () {
if (!envDetermined) {
environment = new classes.Environment();
envDetermined = true; // ensure code above only runs once
}
;
return environment;
};
/**
* prints the environment to console
*/
exports.printEnv = function () {
if (this.getEnv().isNode) {
plugins.beautylog.ok("running on NODE");
var smartenvVersion = require("../package.json").version;
plugins.beautylog.log("node version is " + this.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
}
else {
plugins.beautylog.ok("running on BROWSER");
plugins.beautylog.log("browser is " + this.getEnv().userAgent);
}
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
console.log(Object.getOwnPropertyNames(objectStorage.obs.getAll()));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZW52LmVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQztBQUMxQzs7R0FFRztBQUNILElBQU8sT0FBTyxXQUFXLG9CQUFvQixDQUFDLENBQUM7QUFDL0MsSUFBTyxPQUFPLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUMvQyxJQUFPLGFBQWEsV0FBVywwQkFBMEIsQ0FBQyxDQUFDO0FBRzNELElBQUksV0FBK0IsQ0FBQztBQUNwQyxJQUFJLGFBQWEsR0FBVyxLQUFLLENBQUM7QUFFbEM7OztHQUdHO0FBQ1EsY0FBTSxHQUFHO0lBQ2hCLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNqQixXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLG1DQUFtQztJQUM3RCxDQUFDO0lBQUEsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDUyxnQkFBUSxHQUFHO0lBQ25CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEMsSUFBSSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLEdBQUcsZUFBZSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO0lBQ25HLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGVudi5lbnZpcm9ubWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ0eXBpbmdzL21haW4uZC50c1wiIC8+XG4vKipcbiAqIERlYWxzIHdpdGggdGhlIGVudmlyb25tZW50IHRoZSBjdXJyZW50IEpTIHNjcmlwdCBpcyBydW5uaW5nIGluLlxuICovXG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZW52LnBsdWdpbnNcIik7XG5pbXBvcnQgY2xhc3NlcyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZW52LmNsYXNzZXNcIik7XG5pbXBvcnQgb2JqZWN0U3RvcmFnZSA9IHJlcXVpcmUoXCIuL3NtYXJ0ZW52Lm9iamVjdHN0b3JhZ2VcIik7XG5cblxudmFyIGVudmlyb25tZW50OmNsYXNzZXMuRW52aXJvbm1lbnQ7XG52YXIgZW52RGV0ZXJtaW5lZDpib29sZWFuID0gZmFsc2U7XG5cbi8qKlxuICogcmV0dXJucyB0aGUgZW52aXJvbm1lbnRcbiAqIEByZXR1cm5zIHtFbnZpcm9ubWVudH1cbiAqL1xuZXhwb3J0IHZhciBnZXRFbnYgPSBmdW5jdGlvbigpe1xuICAgIGlmICghZW52RGV0ZXJtaW5lZCkge1xuICAgICAgICBlbnZpcm9ubWVudCA9IG5ldyBjbGFzc2VzLkVudmlyb25tZW50KCk7XG4gICAgICAgIGVudkRldGVybWluZWQgPSB0cnVlOyAvLyBlbnN1cmUgY29kZSBhYm92ZSBvbmx5IHJ1bnMgb25jZVxuICAgIH07XG4gICAgcmV0dXJuIGVudmlyb25tZW50O1xufTtcblxuLyoqXG4gKiBwcmludHMgdGhlIGVudmlyb25tZW50IHRvIGNvbnNvbGVcbiAqL1xuZXhwb3J0IHZhciAgcHJpbnRFbnYgPSBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5nZXRFbnYoKS5pc05vZGUpIHtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJydW5uaW5nIG9uIE5PREVcIik7XG4gICAgICAgIHZhciBzbWFydGVudlZlcnNpb24gPSByZXF1aXJlKFwiLi4vcGFja2FnZS5qc29uXCIpLnZlcnNpb247XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5vZGUgdmVyc2lvbiBpcyBcIiArIHRoaXMuZ2V0RW52KCkubm9kZVZlcnNpb24gKyBcIiBhbmQgc21hcnRlbnYgdmVyc2lvbiBpcyBcIiArIHNtYXJ0ZW52VmVyc2lvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJydW5uaW5nIG9uIEJST1dTRVJcIik7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcImJyb3dzZXIgaXMgXCIgKyB0aGlzLmdldEVudigpLnVzZXJBZ2VudCk7XG4gICAgfVxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcInRoZSBzbWFydGVudiByZWdpc3RyYXRpb24gc3RvcmUgY3VycmVudGx5IGhvbGRzIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcIik7XG4gICAgY29uc29sZS5sb2coT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0U3RvcmFnZS5vYnMuZ2V0QWxsKCkpKTtcbn07Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9