UNPKG

easy-currencies

Version:

A tool for easy conversion of currencies.

103 lines (102 loc) 2.9 kB
import { AxiosInstance } from "axios"; import { Provider, UserDefinedProvider, ProviderReference } from "./providers"; /** * Proxy configuration object. */ export interface ProxyConfiguration { host: string; port: number; auth: { username: string; password: string; }; } /** * Config object that initializes with configuration data * passed in by the user. * * @export * @class Config */ export declare class Config { /** * Array of active curency API providers. * * @type {Provider[]} * @memberof Config */ private _active; /** * Provider getter. * * @returns {Provider[]} * @memberof Config */ get providers(): Provider[]; /** * Active client. */ private _client; /** * Client setter. * @param client The client. */ setClient: (client: AxiosInstance) => void; /** * Client getter. */ getClient: () => AxiosInstance; /** * Provider setter (adder). * * @param {Provider[]} providers - providers to be added * @param {boolean} [setActive=false] - should the new provider(s) be prioritized * @returns {void} * @memberof Config */ private addProviders; /** * Adds a single new, user-defined provider to the list of providers. * * @param {string} name - the new provider name * @param {Provider} provider - the new provider object * @param {boolean} [setActive=false] - should the new provider(s) be prioritized * @memberof Config */ add: (name: string, provider: Provider, setActive?: boolean) => void; /** * Adds multiple new, user-defined provider to the list of providers. * * @param {UserDefinedProvider[]} providers - providers to be added * @param {boolean} [setActive=false] - should the new provider(s) be prioritized * @memberof Config */ addMultiple: (newProviders: UserDefinedProvider[], setActive?: boolean) => void; /** * Removes a specific provider * @param {Provider} provider - provider to be removed * @memberof Config */ remove: (provider: Provider) => void; /** * Returns the current provider * * @returns {Provider} - current provider * @memberof Config */ activeProvider(): Provider; /** * Creates an instance of Config. * @param {(...ProviderReference[] | undefined[] | string[])} config * @memberof Config */ constructor(...config: ProviderReference[] | undefined[] | string[]); } /** * Config resolver that normalizes configuration input into the config interface * * @export * @param {(...ProviderReference[] | undefined[] | string[])} configuration * @returns {Provider[]} */ export declare function resolveProviders(...configuration: ProviderReference[] | undefined[] | string[]): Provider[];