configParser.js
1 import fs from 'fs' 2 import readline from 'readline' 3 4 const aoDir = process.env.AODIR || process.env.HOME + '/.ao' 5 const lnDir = process.env.LN_DIR || process.env.HOME + '/.lightning/bitcoin' 6 const rd = readline.createInterface({ 7 input: fs.createReadStream(aoDir + '/config'), 8 console: false 9 }); 10 11 var config = { 12 alias: '', 13 port: '', 14 bitcoindir: '', 15 bitcoinrpcpass: '', 16 lightningdir: lnDir, 17 aodir: aoDir, 18 open: '' 19 } 20 21 const readConfigs = callback => { 22 rd.on('line', line => { 23 let i = line.indexOf('=') 24 let l1 = line.slice(0,i) 25 let l2 = line.slice(i+1) 26 if (config[l1] === '') config[l1] = l2 27 }) 28 29 rd.on('close', () => { 30 config.alias= process.env.ALIAS || config.alias || 'AO', 31 config.port= process.env.PORT || config.port || 8003, 32 config.bitcoindir= process.env.BITCOINDIR || config.bitcoindir || process.env.HOME + '/.bitcoin', 33 config.lightningdir= process.env.LIGHTNINGDIR || config.lightningdir || process.env.HOME + '/.lightning/bitcoin', 34 config.aodir= process.env.AODIR || config.aodir || process.env.HOME + '/.ao', 35 config.open= process.env.OPEN || config.open || true 36 callback() 37 }) 38 } 39 export {config, readConfigs}