1 | #!/usr/bin/env node
|
2 |
|
3 |
|
4 | import program from 'commander'
|
5 | import fs from 'fs'
|
6 | import getStdin from 'get-stdin'
|
7 | import graphlib from 'graphlib'
|
8 | import api from './index.js'
|
9 |
|
10 | program
|
11 | .version(JSON.parse(fs.readFileSync(__dirname + '/../package.json'))['version'])
|
12 | .option('-f, --graphfile <graphfile>', 'Set graph file to parse. If none is given stdin is read')
|
13 | .parse(process.argv)
|
14 |
|
15 | var processGraph = str => {
|
16 | var graph = graphlib.json.read(JSON.parse(str))
|
17 | var remodeled = api.remodelPorts(graph)
|
18 | return JSON.stringify(graphlib.json.write(remodeled))
|
19 | }
|
20 |
|
21 | if (program.graphfile) {
|
22 | var str = fs.readFileSync(program.graphfile)
|
23 | console.log(processGraph(str))
|
24 | } else {
|
25 | getStdin().then(str => {
|
26 | try {
|
27 | console.log(processGraph(str))
|
28 | } catch (e) {
|
29 | console.log('Error while processing: ', e)
|
30 | }
|
31 | })
|
32 | }
|