UNPKG

1.87 kBJavaScriptView Raw
1#!/usr/bin/env node
2'use strict';
3
4var _commander = require('commander');
5
6var _commander2 = _interopRequireDefault(_commander);
7
8var _fs = require('fs');
9
10var _fs2 = _interopRequireDefault(_fs);
11
12var _getStdin = require('get-stdin');
13
14var _getStdin2 = _interopRequireDefault(_getStdin);
15
16var _graphlib = require('graphlib');
17
18var _graphlib2 = _interopRequireDefault(_graphlib);
19
20var _dynatypeNetwork = require('./dynatype-network.js');
21
22var _dynatypeNetwork2 = _interopRequireDefault(_dynatypeNetwork);
23
24var _path = require('path');
25
26var _path2 = _interopRequireDefault(_path);
27
28function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
30/* global __dirname, process */
31
32_commander2.default.version(JSON.parse(_fs2.default.readFileSync(_path2.default.join(__dirname, '/../package.json')))['version']).option('-t, --typegraph <typegraph>', 'Set the dynatype type conversion graph.').option('-f, --graphfile [graphfile]', 'Set graph file to parse. If none is given stdin is read').parse(process.argv);
33
34if (!_commander2.default.typegraph) {
35 console.error('No type conversion graph given');
36}
37
38try {
39 var typeGraph = _graphlib2.default.json.read(JSON.parse(_fs2.default.readFileSync(_commander2.default.typegraph)));
40
41 var processGraph = function processGraph(str) {
42 var graph = _graphlib2.default.json.read(JSON.parse(str));
43 var typed = (0, _dynatypeNetwork2.default)(graph, typeGraph);
44 return JSON.stringify(_graphlib2.default.json.write(typed));
45 };
46
47 if (_commander2.default.graphfile) {
48 var str = _fs2.default.readFileSync(_commander2.default.graphfile);
49 console.log(processGraph(str));
50 } else {
51 (0, _getStdin2.default)().then(function (str) {
52 try {
53 console.log(processGraph(str));
54 } catch (e) {
55 console.error(e);
56 }
57 });
58 }
59} catch (e) {
60 console.error(e);
61}
\No newline at end of file