confn
Version:
A simple to implement config management node js library. Setup dev, staging, production, etc. config for your node app effortlessly.
41 lines (40 loc) • 1.12 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const base_1 = __importDefault(require("./base"));
class Env extends base_1.default {
constructor() {
super();
this.store = {};
this.hardKeys = [];
this.name = 'env';
Object.keys(process.env).forEach((key) => {
this.override(key, process.env[key]);
});
}
set(key, value) {
if (this.hardKeys.includes(key))
return false;
this.store[key] = value;
return true;
}
hardSet(key, value) {
this.store[key] = value;
if (!this.hardKeys.includes(key))
this.hardKeys.push(key);
return true;
}
get(key) {
return this.store[key];
}
override(key, value) {
if (this.hardKeys.includes(key))
return false;
this.hardKeys.push(key);
this.store[key] = value;
return true;
}
}
exports.default = Env;