Skip to content

Commit a9e0440

Browse files
committed
Updated .jshintrc. Also fixed emitterproto.
1 parent ba090cf commit a9e0440

File tree

4 files changed

+134
-112
lines changed

4 files changed

+134
-112
lines changed

.jshintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
// "strict" : all variables, all function parameters
3232
"strict": true, // true: Requires all functions run in ES5 Strict Mode
3333
"maxparams": false, // {int} Max number of formal params allowed per function
34-
"maxdepth": false, // {int} Max depth of nested blocks (within functions)
34+
"maxdepth": 2, // {int} Max depth of nested blocks (within functions) false to turn off
3535
"maxstatements": false, // {int} Max number statements per function
36-
"maxcomplexity": false, // {int} Max cyclomatic complexity per function
36+
"maxcomplexity": 11, // {int} Max cyclomatic complexity per function,false to turn off
3737
"maxlen": false, // {int} Max number of characters per line
3838
"varstmt": false, // true: Disallow any var statements. Only `let` and `const` are allowed.
3939

asmodule/proto.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ function exitMessage() {
1212
}
1313

1414
function parseArgs(noOfArgs) {
15-
if (noOfArgs > 2) {
1615
let xpr = process.argv[2];
1716

1817
if (noOfArgs > 3) {
@@ -25,11 +24,9 @@ function parseArgs(noOfArgs) {
2524
expression = new RegExp(xpr, options.substring(1));
2625
} else
2726
expression = new RegExp(xpr);
27+
}
2828

29-
} else
30-
exitMessage();
31-
}
32-
29+
if (argc > 2) {
3330
parseArgs(argc);
3431

3532
var fs = require("fs");
@@ -52,3 +49,6 @@ fs.readdir(".", function(err, files) {
5249
function(err) { console.log('Error emitted ' + err.message); });
5350
}
5451
});
52+
}
53+
else
54+
exitMessage();

emitter/emitter.js

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,78 @@
11
/*jshint globalstrict: true*/
22
/*jshint node: true */
33
/*jshint esversion: 6 */
4-
54
"use strict";
5+
66
var argc = process.argv.length;
77
var expression;
8+
var EventEmitter = require("events").EventEmitter;
9+
var fs = require("fs");
810

911
function exitMessage() {
10-
console.error(
11-
"Usage: node emitter.js 'regex' -{g}{i}{m}\ng - global,\ni - case-insensitive,\nm - multiline");
12-
process.exit(1);
12+
console.error(
13+
"Usage: node emitter.js 'regex' -{g}{i}{m}\ng - global,\ni - case-insensitive,\nm - multiline");
14+
process.exit(1);
1315
}
1416

1517
function parseArgs(noOfArgs) {
16-
if (noOfArgs > 2) {
18+
1719
let xpr = process.argv[2];
1820
if (noOfArgs > 3) {
1921

20-
let options = process.argv[3];
21-
let pattern = new RegExp("^-(?=[gim]{1,3}$)(?!.*(.).*\\1).*$");
22-
if (!pattern.test(options))
23-
exitMessage();
24-
else
25-
expression = new RegExp(xpr, options.substring(1));
22+
let options = process.argv[3];
23+
let pattern = new RegExp("^-(?=[gim]{1,3}$)(?!.*(.).*\\1).*$");
24+
if (!pattern.test(options))
25+
exitMessage();
26+
else
27+
expression = new RegExp(xpr, options.substring(1));
2628
} else
27-
expression = new RegExp(xpr);
28-
29-
} else
30-
exitMessage();
29+
expression = new RegExp(xpr);
3130
}
3231

33-
parseArgs(argc);
34-
35-
var EventEmitter = require("events").EventEmitter;
36-
37-
var fs = require("fs");
38-
3932
function findPattern(files, regex) {
40-
var emitter = new EventEmitter();
33+
var emitter = new EventEmitter();
4134

42-
files.forEach(function(file) {
43-
fs.readFile(file, "utf8", function(err, content) {
44-
if (err)
45-
return emitter.emit("error", err);
46-
emitter.emit("fileread", file);
47-
var match = null;
48-
if (!!(match = content.match(regex)))
49-
match.forEach(function(elem) { emitter.emit("found", file, elem); });
35+
files.forEach(function(file) {
36+
fs.readFile(file, "utf8", function(err, content) {
37+
if (err)
38+
return emitter.emit("error", err);
39+
emitter.emit("fileread", file);
40+
var match = null;
41+
if (!!(match = content.match(regex)))
42+
match.forEach(function(elem) {
43+
emitter.emit("found", file, elem);
44+
});
45+
});
5046
});
51-
});
52-
return emitter;
47+
return emitter;
5348
}
5449

55-
fs.readdir(
56-
".", function(err, files)
57-
58-
{
59-
if (err)
60-
console.log("Error reading directory: " + err.message);
61-
else
62-
63-
{
64-
/**findPattern(files, /hello \w+/g)***/
65-
files.push('nonexistentfile.txt');
66-
findPattern(files, expression)
67-
.on('fileread', function(file) { console.log(file + ' was read'); })
68-
.on('found',
69-
function(file, match) {
70-
console.log('Matched "' + match + '" in file ' + file);
71-
})
72-
.on('error',
73-
function(
74-
err) { console.log('Error emitted: ' + err.message); });
75-
}
76-
});
50+
if (argc > 2) {
51+
parseArgs(argc);
52+
fs.readdir(
53+
".",
54+
function(err, files)
55+
{
56+
if (err)
57+
console.log("Error reading directory: " + err.message);
58+
else
59+
{
60+
/**findPattern(files, /hello \w+/g)***/
61+
files.push('nonexistentfile.txt');
62+
findPattern(files, expression)
63+
.on('fileread', function(file) {
64+
console.log(file + ' was read');
65+
})
66+
.on('found',
67+
function(file, match) {
68+
console.log('Matched "' + match + '" in file ' + file);
69+
})
70+
.on('error',
71+
function(
72+
err) {
73+
console.log('Error emitted: ' + err.message);
74+
});
75+
}
76+
});
77+
} else
78+
exitMessage();

emitterproto/proto.js

Lines changed: 71 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,91 @@
22
/*jshint node: true */
33
/*jshint esversion: 6 */
44
"use strict";
5-
var argc = process.argv.length;
6-
var expression;
7-
8-
function exitMessage() {
9-
console.error(
10-
"Usage: node proto.js 'regex' -{g}{i}{m}\ng - global,\ni - case-insensitive,\nm - multiline");
11-
process.exit(1);
12-
}
13-
14-
function parseArgs(noOfArgs) {
15-
if (noOfArgs > 2) {
16-
let xpr = process.argv[2];
17-
if (noOfArgs > 3) {
18-
19-
let options = process.argv[3];
20-
let pattern = new RegExp("^-(?=[gim]{1,3}$)(?!.*(.).*\\1).*$");
21-
if (!pattern.test(options))
22-
exitMessage();
23-
else
24-
expression = new RegExp(xpr, options.substring(1));
25-
} else
26-
expression = new RegExp(xpr);
27-
28-
} else
29-
exitMessage();
30-
}
31-
32-
parseArgs(argc);
33-
34-
355
var EventEmitter = require("events").EventEmitter;
366
var util = require("util");
377
var fs = require("fs");
38-
8+
var argc = process.argv.length;
9+
var expression;
10+
var finder;
3911
function FindPattern(regex) {
40-
EventEmitter.call(this);
41-
this.regex = regex;
42-
this.files = [];
12+
EventEmitter.call(this);
13+
this.regex = regex;
14+
this.files = [];
4315
}
4416

4517
util.inherits(FindPattern, EventEmitter);
4618

4719
FindPattern.prototype.addFile = function(file) {
48-
this.files.push(file);
49-
return this;
20+
this.files.push(file);
21+
return this;
5022
};
5123

5224
FindPattern.prototype.setFiles = function(files) {
53-
this.files = files;
54-
return this;
25+
this.files = files;
26+
return this;
5527
};
5628

5729
FindPattern.prototype.find =
5830
function() {
59-
var self = this;
60-
self.files.forEach(function(file) {
61-
fs.readFile(file, 'utf8', function(err, content) {
62-
if (err)
63-
return self.emit('error', err);
64-
self.emit('fileread', file);
65-
var match = null;
66-
if (!!(match = content.match(self.regex)))
67-
match.forEach(function(elem) { self.emit('found', file, elem); });
68-
});
69-
});
70-
return this;
71-
};
31+
var self = this;
32+
self.files.forEach(function(file) {
33+
fs.readFile(file, 'utf8', function(err, content) {
34+
if (err)
35+
return self.emit('error', err);
36+
self.emit('fileread', file);
37+
var match = null;
38+
if (!!(match = content.match(self.regex)))
39+
match.forEach(function(elem) {
40+
self.emit('found', file, elem);
41+
});
42+
});
43+
});
44+
return this;
45+
};
46+
function exitMessage() {
47+
console.error(
48+
"Usage: node proto.js 'regex' -{g}{i}{m}\ng - global,\ni - case-insensitive,\nm - multiline");
49+
process.exit(1);
50+
}
51+
52+
function parseArgs(noOfArgs) {
53+
let xpr = process.argv[2];
54+
if (noOfArgs > 3) {
55+
56+
let options = process.argv[3];
57+
let pattern = new RegExp("^-(?=[gim]{1,3}$)(?!.*(.).*\\1).*$");
58+
if (!pattern.test(options))
59+
exitMessage();
60+
else
61+
expression = new RegExp(xpr, options.substring(1));
62+
} else
63+
expression = new RegExp(xpr);
64+
}
65+
66+
if (argc > 2) {
67+
parseArgs(argc);
68+
finder = new FindPattern(expression);
69+
finder.on('fileread', function(file) {
70+
console.log(file + ' was read');
71+
});
72+
finder.on('found',
73+
function(file, match) {
74+
console.log('Matched "' + match + '" in file ' + file);
75+
});
76+
finder.on('error',function(err) {
77+
console.log('Error emitted: ' + err.message);});
78+
fs.readdir(
79+
".",
80+
function(err, files) {
81+
if (err)
82+
console.log("Error reading directory: " + err.message);
83+
else {
84+
/**findPattern(files, /hello \w+/g)***/
85+
files.push('nonexistentfile.txt');
86+
finder.setFiles(files);
87+
finder.find();
88+
}
89+
});
90+
} else
91+
exitMessage();
7292

0 commit comments

Comments
 (0)