All files / src/repl index.js

0% Statements 0/10
0% Branches 0/4
0% Functions 0/2
0% Lines 0/9

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                                           
const {Async} = require('./Async')
const nodeRepl = require('repl')
const {replEvalF} = require('./replEval')
const {completer} = require('./completer')
const {Sync} = require('./Sync')
 
const replF = mode => (lexer, parser, commands, {only = false} = {only: false}) => {
  console.log(commands.desc ? commands.desc + '\n' : '')
 
  nodeRepl.start({
    prompt: `${commands.key}~$ `,
    ignoreUndefined: true,
    eval: replEvalF(mode)(parser, commands),
    completer: completer(lexer, commands, {only})
  })
}
 
module.exports = {
  repl: replF(Async),
  replF,
  replSync: replF(Sync)
}