UNPKG

@ixily/activ

Version:

Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.

72 lines (59 loc) 1.72 kB
import { placeholderError } from '../../tools/chunks/helpers.tool' export interface ActivV4Env { envLoaded: boolean isBrowser: boolean isNode: boolean isProd: boolean isDev: boolean deactivatePagination: boolean // default auth for price/asset search providers // defaultAuthBinanceApiKey: string // defaultAuthBinanceApiSecret: string deactivateLogs?: boolean } const state: ActivV4Env = { envLoaded: false, isBrowser: false, isNode: false, isProd: false, isDev: false, deactivatePagination: false, // defaultAuthBinanceApiKey: '', // defaultAuthBinanceApiSecret: '', } const loadEnv = () => { state.isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null state.isBrowser = !state.isNode state.isDev = state.isNode ? process.env.NODE_ENV === 'development' : process.env.BROWSER_ENV === 'development' state.isProd = !state.isDev state.deactivatePagination = process.env.DEACTIVATE_PAGINATION === 'true' // default auth for price/asset search providers // state.defaultAuthBinanceApiKey = // process.env.DEFAULT_AUTH_BINANCE_API_KEY || // placeholderError('DEFAULT_AUTH_BINANCE_API_KEY is not set', '') // state.defaultAuthBinanceApiSecret = // process.env.DEFAULT_AUTH_BINANCE_API_SECRET || // placeholderError('DEFAULT_AUTH_BINANCE_API_SECRET is not set', '') state.envLoaded = true } const loadedEnv = (): ActivV4Env => { if (!state.envLoaded) { loadEnv() } return state } const set = <T extends keyof ActivV4Env>(prop: T, value: ActivV4Env[T]) => { state[prop] = value } const get = <T extends keyof ActivV4Env>(prop: T): ActivV4Env[T] => loadedEnv()[prop] export const EnvModule = { loadEnv, set, get, }