Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
acc0e5221b | |||
a6839420f1 | |||
2df7cf1467 | |||
bae4305dec | |||
1737075753 | |||
1a74ee8bb6 | |||
28538001e9 | |||
9ec0b49716 | |||
cab52e1b02 | |||
d601a0eeb0 | |||
491f22ffca | |||
1fec5323d9 | |||
582afc0361 | |||
c054ecb0c7 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,3 +1,10 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
.settings/
|
.settings/
|
||||||
.idea/
|
.idea/
|
||||||
|
|
||||||
|
|
||||||
|
#npm devug
|
||||||
|
npm-debug.log
|
||||||
|
|
||||||
|
ts/*.js
|
||||||
|
ts/*.js.map
|
||||||
|
135
index.js
135
index.js
@ -24,50 +24,95 @@ var Environment = (function () {
|
|||||||
*/
|
*/
|
||||||
var SmartenvEnvironment;
|
var SmartenvEnvironment;
|
||||||
(function (SmartenvEnvironment) {
|
(function (SmartenvEnvironment) {
|
||||||
function init() {
|
var environment;
|
||||||
var environment;
|
var envDetermined = false;
|
||||||
(function () {
|
/**
|
||||||
var localRunTimeEnv = "undefined";
|
* returns the environment
|
||||||
var localUserAgent = "undefined";
|
* @returns {Environment}
|
||||||
if (typeof window !== 'undefined') {
|
*/
|
||||||
localRunTimeEnv = 'browser';
|
var getEnv = function () {
|
||||||
localUserAgent = navigator.userAgent;
|
if (!envDetermined) {
|
||||||
}
|
(function () {
|
||||||
else if (typeof process !== 'undefined') {
|
var localRunTimeEnv = "undefined";
|
||||||
localRunTimeEnv = 'node';
|
var localUserAgent = "undefined";
|
||||||
}
|
if (typeof window !== 'undefined') {
|
||||||
environment = new Environment(localRunTimeEnv, localUserAgent);
|
localRunTimeEnv = 'browser';
|
||||||
})();
|
localUserAgent = navigator.userAgent;
|
||||||
return function () {
|
}
|
||||||
return environment;
|
else if (typeof process !== 'undefined') {
|
||||||
};
|
localRunTimeEnv = 'node';
|
||||||
}
|
}
|
||||||
SmartenvEnvironment.init = init;
|
environment = new Environment(localRunTimeEnv, localUserAgent);
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
;
|
||||||
|
return environment;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* prints the environment to console
|
||||||
|
*/
|
||||||
|
var printEnv = function () {
|
||||||
|
if (this.getEnv().isNode) {
|
||||||
|
var smartenvVersion = require("./package.json").version;
|
||||||
|
plugins.beautylog.log("node version is " + this.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.log("browser is " + this.getEnv().userAgent);
|
||||||
|
}
|
||||||
|
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
|
||||||
|
console.log(Object.getOwnPropertyNames(smartenv.obs.getAll()));
|
||||||
|
};
|
||||||
|
SmartenvEnvironment.init = function (objectArg) {
|
||||||
|
objectArg.getEnv = getEnv;
|
||||||
|
objectArg.printEnv = printEnv;
|
||||||
|
};
|
||||||
})(SmartenvEnvironment || (SmartenvEnvironment = {}));
|
})(SmartenvEnvironment || (SmartenvEnvironment = {}));
|
||||||
/// <reference path="index.ts" />
|
/// <reference path="index.ts" />
|
||||||
var SmartenvObjectStorage;
|
var SmartenvObjectStorage;
|
||||||
(function (SmartenvObjectStorage) {
|
(function (SmartenvObjectStorage) {
|
||||||
function init() {
|
function init() {
|
||||||
var obs = {};
|
var obs = {
|
||||||
var obsItems = {};
|
add: function (paramNameArg, objectArg) {
|
||||||
obs.addItem = function (objectArg, paramName) {
|
if (paramNameArg === void 0) { paramNameArg = "undefined"; }
|
||||||
if (paramName === void 0) { paramName = "undefined"; }
|
if (objectArg === void 0) { objectArg = "undefined"; }
|
||||||
if (paramName == "undefined") {
|
if (paramNameArg == "undefined") {
|
||||||
plugins.beautylog.error("paramName is undefined");
|
plugins.beautylog.error("paramName is undefined");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
if (objectArg == "undefined") {
|
||||||
|
plugins.beautylog.error("objectArg is undefined");
|
||||||
|
}
|
||||||
|
if (typeof obsItems[paramNameArg] === "undefined") {
|
||||||
|
obsItems[paramNameArg] = objectArg;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.error("object is already present, so add operation has failed.");
|
||||||
|
}
|
||||||
|
return obsItems[paramNameArg];
|
||||||
|
},
|
||||||
|
replace: function (paramNameArg, objectArg) {
|
||||||
|
obsItems[paramNameArg] = objectArg;
|
||||||
|
},
|
||||||
|
merge: function (paramNameArg, objectArg) {
|
||||||
|
if (!(typeof obsItems[paramNameArg] === "undefined")) {
|
||||||
|
obsItems[paramNameArg] = plugins._.assign(obsItems[paramNameArg], objectArg);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.error("object is not present, so there is nothing to merge");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get: function (keyName) {
|
||||||
|
return obsItems[keyName];
|
||||||
|
},
|
||||||
|
getAll: function () {
|
||||||
|
return obsItems;
|
||||||
|
},
|
||||||
|
addComplete: function (itemsArg) {
|
||||||
|
obsItems = plugins._.assign(obsItems, itemsArg);
|
||||||
|
return obsItems;
|
||||||
}
|
}
|
||||||
obsItems[paramName] = objectArg;
|
|
||||||
};
|
|
||||||
obs.getItem = function (keyName) {
|
|
||||||
return obsItems[keyName];
|
|
||||||
};
|
|
||||||
obs.getComplete = function () {
|
|
||||||
return obsItems;
|
|
||||||
};
|
|
||||||
obs.addComplete = function (itemsArg) {
|
|
||||||
obsItems = plugins._.assign(obsItems, itemsArg);
|
|
||||||
return obsItems;
|
|
||||||
};
|
};
|
||||||
|
var obsItems = {};
|
||||||
return obs;
|
return obs;
|
||||||
}
|
}
|
||||||
SmartenvObjectStorage.init = init;
|
SmartenvObjectStorage.init = init;
|
||||||
@ -81,20 +126,6 @@ var plugins = {
|
|||||||
_: require("lodash")
|
_: require("lodash")
|
||||||
};
|
};
|
||||||
var smartenv = {}; //create smartenv object
|
var smartenv = {}; //create smartenv object
|
||||||
smartenv.getEnv = SmartenvEnvironment.init();
|
SmartenvEnvironment.init(smartenv);
|
||||||
smartenv.obs = SmartenvObjectStorage.init();
|
smartenv.obs = SmartenvObjectStorage.init();
|
||||||
/* ----------------------------------------- *
|
|
||||||
* ----- print info ------------------------ *
|
|
||||||
* ----------------------------------------- */
|
|
||||||
smartenv.printEnv = function () {
|
|
||||||
if (smartenv.getEnv().isNode) {
|
|
||||||
var smartenvVersion = require("./package.json").version;
|
|
||||||
plugins.beautylog.log("node version is " + smartenv.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plugins.beautylog.log("browser is " + smartenv.getEnv().userAgent);
|
|
||||||
}
|
|
||||||
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
|
|
||||||
console.log(Object.getOwnPropertyNames(smartenv.obs.getComplete).sort());
|
|
||||||
};
|
|
||||||
module.exports = smartenv;
|
module.exports = smartenv;
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "smartenv",
|
"name": "smartenv",
|
||||||
"version": "0.0.7",
|
"version": "0.0.13",
|
||||||
"description": "store things about your environment and let them travel across modules",
|
"description": "store things about your environment and let them travel across modules",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(cd ts/compile && node compile.js) && (node test.js)",
|
"test": "(cd ts/compile && node compile.js) && (node test.js)",
|
||||||
"reinstall": "(rm -r node_modules && npm install)",
|
"reinstall": "(rm -r node_modules && npm install)",
|
||||||
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
|
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
|
||||||
"startdev": "(git checkout master && git pull origin master && npm install)"
|
"update": "(git checkout master && git pull origin master && npm install)",
|
||||||
|
"upgrade": "(npm run update) && (ncu upgradeAll && npm install)"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -23,11 +24,11 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/smartenv",
|
"homepage": "https://github.com/pushrocks/smartenv",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^1.0.4",
|
"beautylog": "^1.0.6",
|
||||||
"lodash": "^3.10.1"
|
"lodash": "^3.10.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"gulp": "^3.9.0",
|
"gulp": "^3.9.0",
|
||||||
"gulp-typescript": "^2.9.2"
|
"gulp-typescript": "^2.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
17
test.js
17
test.js
@ -4,11 +4,18 @@ var beautylog = require("beautylog")("os");
|
|||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.obs.addItem({ key1: "Peter" }, "docit");
|
//test smartenv.obs.add
|
||||||
|
smartenv.obs.add("myTestObject", { key1: "Peter" });
|
||||||
|
smartenv.obs.add("myTestObject", { key1: "Klaus" }); //now trying to add a second
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Peter
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
//test smartenv.obs.replace
|
||||||
|
smartenv.obs.replace("myTestObject", { key1: "Klaus" });
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Klaus
|
||||||
|
//test smartenv.obs.merge
|
||||||
|
smartenv.obs.merge("myTestObject", { key2: "Peter" });
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1 + smartenv.obs.get("myTestObject").key2); // this should be KlausPeter
|
||||||
var key2 = "hello";
|
var key2 = "hello";
|
||||||
smartenv.obs.getItem("docit").key2 = key2;
|
smartenv.obs.get("myTestObject").key2 = key2;
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key2);
|
beautylog.log(smartenv.obs.get("myTestObject").key2);
|
||||||
beautylog.success("Success!");
|
beautylog.success("Success!");
|
||||||
|
16
ts/index.js
16
ts/index.js
@ -7,21 +7,7 @@ var plugins = {
|
|||||||
_: require("lodash")
|
_: require("lodash")
|
||||||
};
|
};
|
||||||
var smartenv = {}; //create smartenv object
|
var smartenv = {}; //create smartenv object
|
||||||
smartenv.getEnv = SmartenvEnvironment.init();
|
SmartenvEnvironment.init(smartenv);
|
||||||
smartenv.obs = SmartenvObjectStorage.init();
|
smartenv.obs = SmartenvObjectStorage.init();
|
||||||
/* ----------------------------------------- *
|
|
||||||
* ----- print info ------------------------ *
|
|
||||||
* ----------------------------------------- */
|
|
||||||
smartenv.printEnv = function () {
|
|
||||||
if (smartenv.getEnv().isNode) {
|
|
||||||
var smartenvVersion = require("./package.json").version;
|
|
||||||
plugins.beautylog.log("node version is " + smartenv.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plugins.beautylog.log("browser is " + smartenv.getEnv().userAgent);
|
|
||||||
}
|
|
||||||
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
|
|
||||||
console.log(Object.getOwnPropertyNames(smartenv.obs.getComplete).sort());
|
|
||||||
};
|
|
||||||
module.exports = smartenv;
|
module.exports = smartenv;
|
||||||
//# sourceMappingURL=index.js.map
|
//# sourceMappingURL=index.js.map
|
@ -1 +1 @@
|
|||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,4CAA4C;AAC5C,gDAAgD;AAChD,kDAAkD;AAClD,IAAI,OAAO,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB,CAAA;AACD,IAAI,QAAQ,GAAO,EAAE,CAAC,CAAC,wBAAwB;AAE/C,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAC7C,QAAQ,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAG5C;;+CAE+C;AAC/C,QAAQ,CAAC,QAAQ,GAAG;IAChB,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,IAAI,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QACxD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,WAAW,GAAG,2BAA2B,GAAG,eAAe,CAAC,CAAC;IAC9H,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAIF,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC"}
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,4CAA4C;AAC5C,gDAAgD;AAChD,kDAAkD;AAClD,IAAI,OAAO,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CACvB,CAAA;AACD,IAAI,QAAQ,GAAO,EAAE,CAAC,CAAC,wBAAwB;AAE/C,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAQ,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAI5C,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC"}
|
17
ts/index.ts
17
ts/index.ts
@ -8,24 +8,9 @@ var plugins = {
|
|||||||
}
|
}
|
||||||
var smartenv:any = {}; //create smartenv object
|
var smartenv:any = {}; //create smartenv object
|
||||||
|
|
||||||
smartenv.getEnv = SmartenvEnvironment.init();
|
SmartenvEnvironment.init(smartenv);
|
||||||
smartenv.obs = SmartenvObjectStorage.init();
|
smartenv.obs = SmartenvObjectStorage.init();
|
||||||
|
|
||||||
|
|
||||||
/* ----------------------------------------- *
|
|
||||||
* ----- print info ------------------------ *
|
|
||||||
* ----------------------------------------- */
|
|
||||||
smartenv.printEnv = function() {
|
|
||||||
if (smartenv.getEnv().isNode) {
|
|
||||||
var smartenvVersion = require("./package.json").version;
|
|
||||||
plugins.beautylog.log("node version is " + smartenv.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
|
|
||||||
} else {
|
|
||||||
plugins.beautylog.log("browser is " + smartenv.getEnv().userAgent)
|
|
||||||
}
|
|
||||||
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
|
|
||||||
console.log(Object.getOwnPropertyNames(smartenv.obs.getComplete).sort());
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = smartenv;
|
module.exports = smartenv;
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
/// <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;
|
|
||||||
})();
|
|
||||||
//# sourceMappingURL=smartenv.classes.js.map
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"smartenv.classes.js","sourceRoot":"","sources":["smartenv.classes.ts"],"names":["Environment","Environment.constructor"],"mappings":"AAAA,iCAAiC;AACjC;IAMIA,qBAAYA,aAAaA,EAACA,YAA0BA;QAA1BC,4BAA0BA,GAA1BA,0BAA0BA;QAChDA,IAAIA,CAACA,UAAUA,GAAGA,aAAaA,CAACA;QAChCA,IAAIA,CAACA,SAASA,GAAGA,YAAYA,CAACA;QAC9BA,EAAEA,CAAAA,CAACA,aAAaA,IAAIA,MAAMA,CAACA,CAAAA,CAACA;YACxBA,IAAIA,CAACA,SAASA,GAAGA,KAAKA,CAACA;YACvBA,IAAIA,CAACA,MAAMA,GAAGA,IAAIA,CAACA;YACnBA,IAAIA,CAACA,WAAWA,GAAGA,OAAOA,CAACA,OAAOA,CAACA;QACvCA,CAACA;QAACA,IAAIA,CAACA,CAACA;YACJA,IAAIA,CAACA,SAASA,GAAGA,IAAIA,CAACA;YACtBA,IAAIA,CAACA,MAAMA,GAAGA,IAAIA,CAACA;YACnBA,IAAIA,CAACA,WAAWA,GAAGA,WAAWA,CAACA;QACnCA,CAACA;IACLA,CAACA;;IACLD,kBAACA;AAADA,CAACA,AAnBD,IAmBC"}
|
|
@ -2,7 +2,7 @@
|
|||||||
class Environment {
|
class Environment {
|
||||||
public runtimeEnv:string;
|
public runtimeEnv:string;
|
||||||
public userAgent:string;
|
public userAgent:string;
|
||||||
public nodeVersion;
|
public nodeVersion:string;
|
||||||
public isBrowser:boolean;
|
public isBrowser:boolean;
|
||||||
public isNode:boolean;
|
public isNode:boolean;
|
||||||
constructor(runtimeEnvArg,userAgentArg = "undefined") {
|
constructor(runtimeEnvArg,userAgentArg = "undefined") {
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
/// <reference path="index.ts" />
|
|
||||||
/**
|
|
||||||
* Deals with the environment the current JS script is running in.
|
|
||||||
*/
|
|
||||||
var SmartenvEnvironment;
|
|
||||||
(function (SmartenvEnvironment) {
|
|
||||||
function init() {
|
|
||||||
var environment;
|
|
||||||
(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);
|
|
||||||
})();
|
|
||||||
return function () {
|
|
||||||
return environment;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
SmartenvEnvironment.init = init;
|
|
||||||
})(SmartenvEnvironment || (SmartenvEnvironment = {}));
|
|
||||||
//# sourceMappingURL=smartenv.environment.js.map
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"smartenv.environment.js","sourceRoot":"","sources":["smartenv.environment.ts"],"names":["SmartenvEnvironment","SmartenvEnvironment.init"],"mappings":"AAAA,iCAAiC;AACjC;;GAEG;AACH,IAAO,mBAAmB,CAoBzB;AApBD,WAAO,mBAAmB,EAAC,CAAC;IACxBA;QACIC,IAAIA,WAAuBA,CAACA;QAC5BA,CAACA;YACG,IAAI,eAAe,GAAG,WAAW,CAAC;YAClC,IAAI,cAAc,GAAG,WAAW,CAAC;YACjC,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;gBAChC,eAAe,GAAG,SAAS,CAAC;gBAC5B,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC;YACzC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC;gBACxC,eAAe,GAAG,MAAM,CAAC;YAC7B,CAAC;YACD,WAAW,GAAG,IAAI,WAAW,CAAC,eAAe,EAAC,cAAc,CAAC,CAAC;QAClE,CAAC,CAACA,EAAEA,CAACA;QAGLA,MAAMA,CAACA;YACH,MAAM,CAAC,WAAW,CAAC;QACvB,CAAC,CAACA;IACNA,CAACA;IAlBeD,wBAAIA,OAkBnBA,CAAAA;AACLA,CAACA,EApBM,mBAAmB,KAAnB,mBAAmB,QAoBzB"}
|
|
@ -3,23 +3,47 @@
|
|||||||
* Deals with the environment the current JS script is running in.
|
* Deals with the environment the current JS script is running in.
|
||||||
*/
|
*/
|
||||||
module SmartenvEnvironment {
|
module SmartenvEnvironment {
|
||||||
export function init(){
|
|
||||||
var environment:Environment;
|
|
||||||
(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);
|
|
||||||
})();
|
|
||||||
|
|
||||||
|
var environment:Environment;
|
||||||
|
var envDetermined:boolean = false;
|
||||||
|
|
||||||
return function() {
|
/**
|
||||||
return environment;
|
* returns the environment
|
||||||
|
* @returns {Environment}
|
||||||
|
*/
|
||||||
|
var getEnv = function(){
|
||||||
|
if (!envDetermined) {
|
||||||
|
(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);
|
||||||
|
})();
|
||||||
};
|
};
|
||||||
|
return environment;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* prints the environment to console
|
||||||
|
*/
|
||||||
|
var printEnv = function() {
|
||||||
|
if (this.getEnv().isNode) {
|
||||||
|
var smartenvVersion = require("./package.json").version;
|
||||||
|
plugins.beautylog.log("node version is " + this.getEnv().nodeVersion + " and smartenv version is " + smartenvVersion);
|
||||||
|
} else {
|
||||||
|
plugins.beautylog.log("browser is " + this.getEnv().userAgent)
|
||||||
|
}
|
||||||
|
plugins.beautylog.log("the smartenv registration store currently holds the following properties:");
|
||||||
|
console.log(Object.getOwnPropertyNames(smartenv.obs.getAll()));
|
||||||
|
}
|
||||||
|
|
||||||
|
export var init = function(objectArg) {
|
||||||
|
objectArg.getEnv = getEnv;
|
||||||
|
objectArg.printEnv = printEnv;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,29 +0,0 @@
|
|||||||
/// <reference path="index.ts" />
|
|
||||||
var SmartenvObjectStorage;
|
|
||||||
(function (SmartenvObjectStorage) {
|
|
||||||
function init() {
|
|
||||||
var obs = {};
|
|
||||||
var obsItems = {};
|
|
||||||
obs.addItem = function (objectArg, paramName) {
|
|
||||||
if (paramName === void 0) { paramName = "undefined"; }
|
|
||||||
if (paramName == "undefined") {
|
|
||||||
plugins.beautylog.error("paramName is undefined");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
obsItems[paramName] = objectArg;
|
|
||||||
};
|
|
||||||
obs.getItem = function (keyName) {
|
|
||||||
return obsItems[keyName];
|
|
||||||
};
|
|
||||||
obs.getComplete = function () {
|
|
||||||
return obsItems;
|
|
||||||
};
|
|
||||||
obs.addComplete = function (itemsArg) {
|
|
||||||
obsItems = plugins._.assign(obsItems, itemsArg);
|
|
||||||
return obsItems;
|
|
||||||
};
|
|
||||||
return obs;
|
|
||||||
}
|
|
||||||
SmartenvObjectStorage.init = init;
|
|
||||||
})(SmartenvObjectStorage || (SmartenvObjectStorage = {}));
|
|
||||||
//# sourceMappingURL=smartenv.objectstorage.js.map
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"smartenv.objectstorage.js","sourceRoot":"","sources":["smartenv.objectstorage.ts"],"names":["SmartenvObjectStorage","SmartenvObjectStorage.init"],"mappings":"AAAA,iCAAiC;AACjC,IAAO,qBAAqB,CAwB3B;AAxBD,WAAO,qBAAqB,EAAC,CAAC;IAC1BA;QACIC,IAAIA,GAAGA,GAAOA,EAAEA,CAACA;QACjBA,IAAIA,QAAQA,GAAOA,EAAEA,CAACA;QACtBA,GAAGA,CAACA,OAAOA,GAAGA,UAASA,SAASA,EAACA,SAAuBA;YAAvB,yBAAuB,GAAvB,uBAAuB;YACpD,EAAE,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,CAAA,CAAC;gBAC1B,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAClD,MAAM,CAAC;YACX,CAAC;YACD,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QACpC,CAAC,CAACA;QACFA,GAAGA,CAACA,OAAOA,GAAGA,UAASA,OAAOA;YAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAACA;QACFA,GAAGA,CAACA,WAAWA,GAAGA;YACd,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC,CAAAA;QAEDA,GAAGA,CAACA,WAAWA,GAAGA,UAASA,QAAQA;YAC/B,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC;QACpB,CAAC,CAACA;QACFA,MAAMA,CAACA,GAAGA,CAACA;IACfA,CAACA;IAtBeD,0BAAIA,OAsBnBA,CAAAA;AACLA,CAACA,EAxBM,qBAAqB,KAArB,qBAAqB,QAwB3B"}
|
|
@ -1,26 +1,44 @@
|
|||||||
/// <reference path="index.ts" />
|
/// <reference path="index.ts" />
|
||||||
module SmartenvObjectStorage {
|
module SmartenvObjectStorage {
|
||||||
export function init() {
|
export function init() {
|
||||||
var obs:any = {};
|
var obs:any = {
|
||||||
var obsItems:any = {};
|
add: function(paramNameArg = "undefined",objectArg = "undefined") {
|
||||||
obs.addItem = function(objectArg,paramName = "undefined") {
|
if (paramNameArg == "undefined"){
|
||||||
if (paramName == "undefined"){
|
plugins.beautylog.error("paramName is undefined");
|
||||||
plugins.beautylog.error("paramName is undefined");
|
return;
|
||||||
return;
|
}
|
||||||
|
if (objectArg == "undefined"){
|
||||||
|
plugins.beautylog.error("objectArg is undefined");
|
||||||
|
}
|
||||||
|
if (typeof obsItems[paramNameArg] === "undefined"){
|
||||||
|
obsItems[paramNameArg] = objectArg;
|
||||||
|
} else {
|
||||||
|
plugins.beautylog.error("object is already present, so add operation has failed.");
|
||||||
|
}
|
||||||
|
return obsItems[paramNameArg];
|
||||||
|
},
|
||||||
|
replace: function(paramNameArg,objectArg){
|
||||||
|
obsItems[paramNameArg] = objectArg;
|
||||||
|
},
|
||||||
|
merge: function(paramNameArg,objectArg){
|
||||||
|
if(!(typeof obsItems[paramNameArg] === "undefined")){
|
||||||
|
obsItems[paramNameArg] = plugins._.assign(obsItems[paramNameArg],objectArg);
|
||||||
|
} else {
|
||||||
|
plugins.beautylog.error("object is not present, so there is nothing to merge");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get: function(keyName) {
|
||||||
|
return obsItems[keyName];
|
||||||
|
},
|
||||||
|
getAll: function () {
|
||||||
|
return obsItems;
|
||||||
|
},
|
||||||
|
addComplete: function(itemsArg) {
|
||||||
|
obsItems = plugins._.assign(obsItems,itemsArg);
|
||||||
|
return obsItems;
|
||||||
}
|
}
|
||||||
obsItems[paramName] = objectArg;
|
|
||||||
};
|
|
||||||
obs.getItem = function(keyName) {
|
|
||||||
return obsItems[keyName];
|
|
||||||
};
|
|
||||||
obs.getComplete = function () {
|
|
||||||
return obsItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
obs.addComplete = function(itemsArg) {
|
|
||||||
obsItems = plugins._.assign(obsItems,itemsArg);
|
|
||||||
return obsItems;
|
|
||||||
};
|
};
|
||||||
|
var obsItems:any = {};
|
||||||
return obs;
|
return obs;
|
||||||
}
|
}
|
||||||
}
|
}
|
17
ts/test.js
17
ts/test.js
@ -4,12 +4,19 @@ var beautylog = require("beautylog")("os");
|
|||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.obs.addItem({ key1: "Peter" }, "docit");
|
//test smartenv.obs.add
|
||||||
|
smartenv.obs.add("myTestObject", { key1: "Peter" });
|
||||||
|
smartenv.obs.add("myTestObject", { key1: "Klaus" }); //now trying to add a second
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Peter
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
//test smartenv.obs.replace
|
||||||
|
smartenv.obs.replace("myTestObject", { key1: "Klaus" });
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Klaus
|
||||||
|
//test smartenv.obs.merge
|
||||||
|
smartenv.obs.merge("myTestObject", { key2: "Peter" });
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1 + smartenv.obs.get("myTestObject").key2); // this should be KlausPeter
|
||||||
var key2 = "hello";
|
var key2 = "hello";
|
||||||
smartenv.obs.getItem("docit").key2 = key2;
|
smartenv.obs.get("myTestObject").key2 = key2;
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key2);
|
beautylog.log(smartenv.obs.get("myTestObject").key2);
|
||||||
beautylog.success("Success!");
|
beautylog.success("Success!");
|
||||||
//# sourceMappingURL=test.js.map
|
//# sourceMappingURL=test.js.map
|
@ -1 +1 @@
|
|||||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAClD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,IAAI,EAAC,OAAO,EAAC,EAAC,OAAO,CAAC,CAAC;AAC7C,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAClD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAElD,IAAI,IAAI,GAAG,OAAO,CAAC;AACnB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAElD,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC"}
|
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAElD,uBAAuB;AACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAC,EAAC,IAAI,EAAC,OAAO,EAAC,CAAC,CAAC;AAChD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAC,EAAC,IAAI,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,4BAA4B;AAC7E,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB;AAE7E,2BAA2B;AAC3B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAC,EAAC,IAAI,EAAC,OAAO,EAAC,CAAC,CAAC;AACpD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB;AAE7E,yBAAyB;AACzB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAC,EAAC,IAAI,EAAC,OAAO,EAAC,CAAC,CAAC;AAClD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B;AAE1H,IAAI,IAAI,GAAG,OAAO,CAAC;AACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAErD,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC"}
|
20
ts/test.ts
20
ts/test.ts
@ -4,13 +4,23 @@ var beautylog = require("beautylog")("os");
|
|||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.info("Now testing the smartenv module");
|
beautylog.info("Now testing the smartenv module");
|
||||||
smartenv.obs.addItem({key1:"Peter"},"docit");
|
|
||||||
|
//test smartenv.obs.add
|
||||||
|
smartenv.obs.add("myTestObject",{key1:"Peter"});
|
||||||
|
smartenv.obs.add("myTestObject",{key1:"Klaus"}); //now trying to add a second
|
||||||
smartenv.printEnv();
|
smartenv.printEnv();
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Peter
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key1);
|
|
||||||
|
//test smartenv.obs.replace
|
||||||
|
smartenv.obs.replace("myTestObject",{key1:"Klaus"});
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1); // this should be Klaus
|
||||||
|
|
||||||
|
//test smartenv.obs.merge
|
||||||
|
smartenv.obs.merge("myTestObject",{key2:"Peter"});
|
||||||
|
beautylog.log(smartenv.obs.get("myTestObject").key1 + smartenv.obs.get("myTestObject").key2); // this should be KlausPeter
|
||||||
|
|
||||||
var key2 = "hello";
|
var key2 = "hello";
|
||||||
smartenv.obs.getItem("docit").key2 = key2;
|
smartenv.obs.get("myTestObject").key2 = key2;
|
||||||
beautylog.log(smartenv.obs.getItem("docit").key2);
|
beautylog.log(smartenv.obs.get("myTestObject").key2);
|
||||||
|
|
||||||
beautylog.success("Success!");
|
beautylog.success("Success!");
|
Reference in New Issue
Block a user