// @flow import type { Config } from './types' export const createConfig = (defaults: Object = {}): Config => ({ mainframe_url: process.env.MAINFRAME_URL || defaults.mainframe_url || 'https://api.mainframe.com/bots/v1', secret: process.env.SECRET || '', server_port: process.env.PORT ? parseInt(process.env.PORT, 10) : defaults.server_port || 4000, server_url: process.env.SERVER_URL || defaults.server_url, username: process.env.USERNAME || defaults.username, }) export const validateConfig = (config: Config) => { if (!config.secret) { throw new Error('Missing secret') } if (!config.server_url) { throw new Error('Missing server URL') } if (!config.username) { throw new Error('Missing username') } }