Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import { z } from 'zod'; import dotenv from 'dotenv'; dotenv.config(); const schema = z.object({ MARKETDATA_EXCHANGES: z.string().default('bybit,binance'), MARKETDATA_SYMBOLS: z.string().default('BTCUSDT,ETHUSDT'), }); export type MarketdataConfig = { exchanges: string[]; symbols: string[]; }; export function loadMarketdataConfig(): MarketdataConfig { const env = schema.parse(process.env); const exchanges = env.MARKETDATA_EXCHANGES.split(',') .map((s) => s.trim()) .filter(Boolean); const symbols = env.MARKETDATA_SYMBOLS.split(',') .map((s) => s.trim()) .filter(Boolean); return { exchanges, symbols }; } |