Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80724 views
1
var fs = require ('fs');
2
var net = require('net');
3
var join = require('path').join;
4
var file = join(__dirname, 'fixtures','all_npm.json');
5
var it = require('it-is');
6
var JSONStream = require('../');
7
8
var str = fs.readFileSync(file);
9
10
var datas = {}
11
12
var server = net.createServer(function(client) {
13
var root_calls = 0;
14
var data_calls = 0;
15
var parser = JSONStream.parse(['rows', true, 'key']);
16
parser.on('root', function(root, count) {
17
++ root_calls;
18
});
19
20
parser.on('data', function(data) {
21
++ data_calls;
22
datas[data] = (datas[data] || 0) + 1
23
it(data).typeof('string')
24
});
25
26
parser.on('end', function() {
27
console.log('END')
28
var min = Infinity
29
for (var d in datas)
30
min = min > datas[d] ? datas[d] : min
31
it(root_calls).equal(3);
32
it(min).equal(3);
33
server.close();
34
});
35
client.pipe(parser);
36
});
37
server.listen(9999);
38
39
var client = net.connect({ port : 9999 }, function() {
40
var msgs = str + ' ' + str + '\n\n' + str
41
client.end(msgs);
42
});
43
44