Skip to content

Commit 0dfd927

Browse files
committed
Add examples
1 parent 2540ec4 commit 0dfd927

File tree

7 files changed

+261
-0
lines changed

7 files changed

+261
-0
lines changed

.eslintrc.yml

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
env:
2+
es6: true
3+
node: true
4+
extends: 'eslint:recommended'
5+
globals:
6+
api: false
7+
rules:
8+
indent:
9+
- error
10+
- 2
11+
- SwitchCase: 1
12+
VariableDeclarator:
13+
var: 2
14+
let: 2
15+
const: 3
16+
MemberExpression: 1
17+
linebreak-style:
18+
- error
19+
- unix
20+
quotes:
21+
- error
22+
- single
23+
semi:
24+
- error
25+
- always
26+
eqeqeq:
27+
- error
28+
- always
29+
no-loop-func:
30+
- error
31+
strict:
32+
- error
33+
- global
34+
block-spacing:
35+
- error
36+
- always
37+
brace-style:
38+
- error
39+
- 1tbs
40+
- allowSingleLine: true
41+
camelcase:
42+
- error
43+
comma-style:
44+
- error
45+
- last
46+
comma-spacing:
47+
- error
48+
- before: false
49+
after: true
50+
eol-last:
51+
- error
52+
func-call-spacing:
53+
- error
54+
- never
55+
key-spacing:
56+
- error
57+
- beforeColon: false
58+
afterColon: true
59+
mode: minimum
60+
keyword-spacing:
61+
- error
62+
- before: true
63+
after: true
64+
overrides:
65+
function:
66+
after: false
67+
max-len:
68+
- error
69+
- code: 80
70+
ignoreUrls: true
71+
max-nested-callbacks:
72+
- error
73+
- max: 7
74+
new-cap:
75+
- error
76+
- newIsCap: true
77+
capIsNew: true
78+
properties: true
79+
new-parens:
80+
- error
81+
no-lonely-if:
82+
- error
83+
no-trailing-spaces:
84+
- error
85+
no-unneeded-ternary:
86+
- error
87+
no-whitespace-before-property:
88+
- error
89+
object-curly-spacing:
90+
- error
91+
- always
92+
operator-assignment:
93+
- error
94+
- always
95+
operator-linebreak:
96+
- error
97+
- after
98+
semi-spacing:
99+
- error
100+
- before: false
101+
after: true
102+
space-before-blocks:
103+
- error
104+
- always
105+
space-before-function-paren:
106+
- error
107+
- never
108+
space-in-parens:
109+
- error
110+
- never
111+
space-infix-ops:
112+
- error
113+
space-unary-ops:
114+
- error
115+
- words: true
116+
nonwords: false
117+
overrides:
118+
typeof: false
119+
no-unreachable:
120+
- error
121+
no-global-assign:
122+
- error
123+
no-self-compare:
124+
- error
125+
no-unmodified-loop-condition:
126+
- error
127+
no-constant-condition:
128+
- error
129+
- checkLoops: false
130+
no-console:
131+
- off
132+
no-useless-concat:
133+
- error
134+
no-useless-escape:
135+
- error
136+
no-shadow-restricted-names:
137+
- error
138+
no-use-before-define:
139+
- error
140+
- functions: false
141+
arrow-body-style:
142+
- error
143+
- as-needed
144+
arrow-spacing:
145+
- error
146+
no-confusing-arrow:
147+
- error
148+
- allowParens: true
149+
no-useless-computed-key:
150+
- error
151+
no-useless-rename:
152+
- error
153+
no-var:
154+
- error
155+
object-shorthand:
156+
- error
157+
- always
158+
prefer-arrow-callback:
159+
- error
160+
prefer-const:
161+
- error
162+
prefer-numeric-literals:
163+
- error
164+
prefer-rest-params:
165+
- error
166+
prefer-spread:
167+
- error
168+
rest-spread-spacing:
169+
- error
170+
- never
171+
template-curly-spacing:
172+
- error
173+
- never

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
*.log
3+
.DS_Store

JavaScript/1-readable.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
5+
const rs = fs.createReadStream('1-readable.js');
6+
7+
rs.on('readable', () => {
8+
const buffer = rs.read();
9+
if (buffer) {
10+
console.log(buffer);
11+
console.log(buffer.toString());
12+
}
13+
});

JavaScript/2-writable.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
5+
const rs = fs.createReadStream('1-readable.js');
6+
const ws = fs.createWriteStream('copy.js');
7+
8+
rs.on('readable', () => {
9+
const buffer = rs.read();
10+
if (buffer) {
11+
console.log('Copy ' + buffer.length + ' bytes');
12+
ws.write(buffer);
13+
}
14+
});
15+
16+
rs.on('end', () => {
17+
console.log('Done');
18+
});

JavaScript/3-pipe.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
5+
const rs = fs.createReadStream('1-readable.js');
6+
const ws = fs.createWriteStream('copy.js');
7+
8+
rs.pipe(ws);
9+
10+
rs.on('end', () => {
11+
console.log('Done');
12+
});

JavaScript/4-gzip.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
const zlib = require('zlib');
5+
6+
const rs = fs.createReadStream('1-readable.js');
7+
const ws = fs.createWriteStream('1-readable.js.gz');
8+
const gs = zlib.createGzip();
9+
10+
rs.pipe(gs).pipe(ws);
11+
12+
rs.on('end', () => {
13+
console.log('Done');
14+
});

JavaScript/5-http.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
const zlib = require('zlib');
5+
const http = require('http');
6+
7+
const rs = fs.createReadStream('1-readable.js');
8+
const gs = zlib.createGzip();
9+
10+
var buffers = [];
11+
let buffer;
12+
13+
gs.on('data', function(buffer) {
14+
buffers.push(buffer);
15+
});
16+
17+
gs.on('end', function() {
18+
buffer = Buffer.concat(buffers);
19+
});
20+
21+
rs.pipe(gs);
22+
23+
const server = http.createServer((request, response) => {
24+
response.writeHead(200, { 'Content-Encoding': 'gzip' });
25+
response.end(buffer);
26+
});
27+
28+
server.listen(8080);

0 commit comments

Comments
 (0)