-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
executable file
·58 lines (47 loc) · 1.26 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env node
'use strict'
// Packages
const meow = require('meow')
const updateNotifier = require('update-notifier')
const request = require('request-promise-native')
const ora = require('ora')
const SaveLocal = require('save-local')
// Lib
const chooseDialect = require('./lib/choose-dialect')
const dictionary = require('./lib/dictionary')
const saveLocal = new SaveLocal('.dialetus')
const cli = meow(
`
Usage:
$ dialetus Show dictionary
Options:
-h, --help Show help options
-v, --version Show version
`,
{
alias: {
h: 'help',
v: 'version'
}
}
)
updateNotifier({ pkg: cli.pkg }).notify()
const run = async () => {
const spinner = ora(`Carregando dialetus...`)
try {
spinner.start()
const { dialetus } = JSON.parse(
await request(`https://dialetus-service.now.sh/dialect`)
)
spinner.stop()
saveLocal.set({ name: 'dialetus', value: JSON.stringify(dialetus) })
const { answer } = await chooseDialect({ options: dialetus })
dictionary({ dialetus, answer })
} catch (error) {
console.log(error)
const dialetus = await saveLocal.get('dialetus')
const { answer } = await chooseDialect({ options: dialetus })
dictionary({ dialetus, answer })
}
}
run(cli)