@bitblit/ratchet-aws
Version:
Common tools for use with AWS browser and node
31 lines • 1.26 kB
JavaScript
import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
import { Logger } from '@bitblit/ratchet-common/logger/logger';
import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
export class EnvVarEnvironmentServiceProvider {
envVarName;
constructor(envVarName) {
this.envVarName = envVarName;
RequireRatchet.notNullOrUndefined(envVarName);
}
async fetchConfig() {
Logger.silly('EnvVarEnvironmentServiceProvider fetch for %s', this.envVarName);
let rval = null;
const src = process ? process.env : global ? global : {};
const toParse = StringRatchet.trimToNull(src[this.envVarName]);
if (toParse) {
try {
rval = JSON.parse(toParse);
}
catch (err) {
Logger.error('Failed to read env - null or invalid JSON : %s : %s', err, toParse, err);
throw err;
}
}
else {
ErrorRatchet.throwFormattedErr('Could not find env var with name : %s', this.envVarName);
}
return rval;
}
}
//# sourceMappingURL=env-var-environment-service-provider.js.map