Files
Mastering-Node.js-Web-Devel…/Chapter 16/sportsstore/src/config/index.ts
T
2024-05-29 18:54:49 +01:00

24 lines
710 B
TypeScript

import { readFileSync } from "fs";
import { getEnvironment, Env } from "./environment";
import { merge } from "./merge";
const file = process.env.SERVER_CONFIG ?? "server.config.json"
const data = JSON.parse(readFileSync(file).toString());
try {
const envFile = getEnvironment().toString() + "." + file;
const envData = JSON.parse(readFileSync(envFile).toString());
merge(data, envData);
} catch {
// do nothing - file doesn't exist or isn't readable
}
export const getConfig = (path: string, defaultVal: any = undefined) : any => {
const paths = path.split(":");
let val = data;
paths.forEach(p => val = val[p]);
return val ?? defaultVal;
}
export { getEnvironment, Env };