/ src / server / configParser.js
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}