/**
 * Shell EVLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { Client, Configuration, Environment } from '../src';

export const testClient = new Client(createConfigurationFromEnvironment());

function createConfigurationFromEnvironment(): Partial<Configuration> {
  const config: Partial<Configuration> = {};

  const environment = process.env.SHELL_EV_LIB_ENVIRONMENT;
  const timeout = process.env.SHELL_EV_LIB_TIMEOUT;
  const oAuthClientId = process.env.SHELL_EV_LIB_O_AUTH_CLIENT_ID;
  const oAuthClientSecret = process.env.SHELL_EV_LIB_O_AUTH_CLIENT_SECRET;

  if (environment !== undefined) {
    config.environment = environment as Environment;
  }

  if (timeout !== undefined && timeout !== '') {
    config.timeout = parseInt(timeout);
  }

  if (oAuthClientId !== undefined && oAuthClientSecret !== undefined) {
    config.clientCredentialsAuthCredentials = {
      oAuthClientId: oAuthClientId,
      oAuthClientSecret: oAuthClientSecret,
    };
  }

  return config;
}
