-
Notifications
You must be signed in to change notification settings - Fork 709
/
Copy pathcssom-generate-json.js
executable file
·43 lines (42 loc) · 1.34 KB
/
cssom-generate-json.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
(function() {
var sys = require("util");
var fs = require("fs");
var parser = require("WebIDLParser.js").Parser;
var input = '';
var $ = {
ondata : function(d) {
input += d;
},
onend : function() {
sys.puts ( JSON.stringify ( parser.parse ( input ), false, null ) );
},
onerror : function(e) {
sys.puts ( sys.inspect ( e ) );
},
run : function(argv) {
try {
if ( argv.length > 2 ) {
fs.readFile ( argv [ argv.length - 1 ], 'utf-8',
function(e,d) {
if ( ! e ) {
input = d; setTimeout ( $.onend, 0 );
} else {
setTimeout ( $.onerror, 0, e );
}
}
);
} else {
var s = process.stdin;
s.on ( 'data', $.ondata );
s.on ( 'end', $.onend );
s.on ( 'error', $.onerror );
s.setEncoding ( 'utf-8' );
s.resume();
}
} catch ( e ) {
setTimeout ( $.onerror, 0, e );
}
}
};
$.run ( process.argv );
})();