@nestjs-mod/common
Version:
A collection of utilities for unifying NestJS applications and modules
55 lines • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProcessEnvPropertyValueExtractor = void 0;
class ProcessEnvPropertyValueExtractor {
constructor() {
this.name = 'process.env';
}
setDemoMode(active) {
if (active) {
this.processEnvStorage = {};
}
else {
this.processEnvStorage = null;
}
}
example({ formattedPropertyName, }) {
if (this.processEnvStorage) {
return {
options: {
'process.env': JSON.stringify({
[formattedPropertyName]: this.processEnvStorage[formattedPropertyName],
}),
formattedPropertyName,
},
logic: `process.env[formattedPropertyName]`,
example: `process.env['${formattedPropertyName}']`,
};
}
return {
options: {
'process.env': JSON.stringify({
[formattedPropertyName]: process.env[formattedPropertyName],
}),
formattedPropertyName,
},
logic: `process.env[formattedPropertyName]`,
example: `process.env['${formattedPropertyName}']`,
};
}
extract({ formattedPropertyName, }) {
if (this.processEnvStorage) {
return this.processEnvStorage[formattedPropertyName];
}
const keys = Object.keys(process.env);
let value = process.env[formattedPropertyName];
if (value !== undefined) {
for (const key of keys) {
value = String(value).replace(new RegExp(`%${key}%`, 'ig'), process.env[key] || '');
}
}
return value;
}
}
exports.ProcessEnvPropertyValueExtractor = ProcessEnvPropertyValueExtractor;
//# sourceMappingURL=process-env-property-value.extractor.js.map