/**
 * Account and Transaction API SpecificationLib
 *
 * 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.ACCOUNT_AND_TRANSACTION_API_SPECIFICATION_LIB_ENVIRONMENT;
  const timeout = process.env.ACCOUNT_AND_TRANSACTION_API_SPECIFICATION_LIB_TIMEOUT;
  const accessToken = process.env.ACCOUNT_AND_TRANSACTION_API_SPECIFICATION_LIB_ACCESS_TOKEN;

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

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

  if (accessToken !== undefined) {
    config.bearerAuthCredentials = { accessToken: accessToken };
  }

  return config;
}
