/* * Copyright (C) Sapphirecode - All Rights Reserved * This file is part of console-app which is released under MIT. * See file 'LICENSE' for full license details. * Created by Timo Hocker , May 2020 */ /* eslint-disable no-process-env */ import { Option, OptionValue } from '../Option'; import { OptionSource } from './OptionSource'; export class EnvSource extends OptionSource { public async parse (opt: Option, val:OptionValue): Promise { if (typeof opt.env === 'undefined') return; if (typeof process.env[opt.env] === 'undefined') { if (typeof this.error_callback !== 'undefined') { this.error_callback ( opt.name, null, new Error ('environment variable does not exist') ); } return; } await val.assign_arg (opt, process.env[opt.env]); } }