UNPKG

@attestate/crawler

Version:

@attestate/crawler is a tool chain to retrieve on-chain data from Ethereum.

34 lines (27 loc) 840 B
// @format import { env } from "process"; import invert from "lodash.invert"; import { NotFoundError } from "./errors.mjs"; export const requiredVars = { RPC_HTTP_HOST: "rpcHttpHost", DATA_DIR: "dataDir", IPFS_HTTPS_GATEWAY: "ipfsHttpsGateway", ARWEAVE_HTTPS_GATEWAY: "arweaveHttpsGateway", }; export const optionalVars = { RPC_API_KEY: "rpcApiKey", IPFS_HTTPS_GATEWAY_KEY: "ipfsHttpsGatewayKey", }; export function collect(vars) { const config = {}; for (const [envAlias, configAlias] of Object.entries(vars)) { if (env[envAlias]) config[configAlias] = env[envAlias]; } return config; } export function set(configuration) { const allVars = invert({ ...requiredVars, ...optionalVars }); for (const [configAlias, envAlias] of Object.entries(allVars)) { env[envAlias] = configuration[configAlias]; } }