Initial content

This commit is contained in:
Adam Freeman
2024-05-29 18:54:49 +01:00
parent 2dbc1a8088
commit 5215a1d919
1944 changed files with 203378 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnvironment = exports.Env = void 0;
var Env;
(function (Env) {
Env["Development"] = "development";
Env["Production"] = "production";
})(Env || (exports.Env = Env = {}));
const getEnvironment = () => {
const env = process.env.NODE_ENV;
return env === undefined || env === Env.Development
? Env.Development : Env.Production;
};
exports.getEnvironment = getEnvironment;
+25
View File
@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Env = exports.getEnvironment = exports.getConfig = void 0;
const fs_1 = require("fs");
const environment_1 = require("./environment");
Object.defineProperty(exports, "getEnvironment", { enumerable: true, get: function () { return environment_1.getEnvironment; } });
Object.defineProperty(exports, "Env", { enumerable: true, get: function () { return environment_1.Env; } });
const merge_1 = require("./merge");
const file = process.env.SERVER_CONFIG ?? "server.config.json";
const data = JSON.parse((0, fs_1.readFileSync)(file).toString());
try {
const envFile = (0, environment_1.getEnvironment)().toString() + "." + file;
const envData = JSON.parse((0, fs_1.readFileSync)(envFile).toString());
(0, merge_1.merge)(data, envData);
}
catch {
// do nothing - file doesn't exist or isn't readable
}
const getConfig = (path, defaultVal = undefined) => {
const paths = path.split(":");
let val = data;
paths.forEach(p => val = val[p]);
return val ?? defaultVal;
};
exports.getConfig = getConfig;
+20
View File
@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.merge = void 0;
const merge = (target, source) => {
Object.keys(source).forEach(key => {
if (typeof source[key] === "object"
&& !Array.isArray(source[key])) {
if (Object.hasOwn(target, key)) {
(0, exports.merge)(target[key], source[key]);
}
else {
Object.assign(target, source[key]);
}
}
else {
target[key] = source[key];
}
});
};
exports.merge = merge;
+20
View File
@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.merge = void 0;
const merge = (target, source) => {
Object.keys(source).forEach(key => {
if (typeof source[key] === "object"
&& !Array.isArray(source[key])) {
if (Object.hasOwn(target, key)) {
(0, exports.merge)(target[key], source[key]);
}
else {
Object.assign(target, source[key]);
}
}
else {
target[key] = source[key];
}
});
};
exports.merge = merge;