File tree Expand file tree Collapse file tree 2 files changed +41
-30
lines changed
chapter_03-using-stubs-to-break-dependencies/LogAn Expand file tree Collapse file tree 2 files changed +41
-30
lines changed Original file line number Diff line number Diff line change 1+ const fs = require ( 'fs' ) ;
2+ const util = require ( 'util' ) ;
3+
4+ const readFilePromisied = util . promisify ( fs . readFile ) ;
5+
6+ function fileExtensionManager ( ) {
7+ /**
8+ * @param {string } fileName
9+ */
10+ async function isValid ( fileName ) {
11+ const fileNameExtensions = await readFilePromisied (
12+ `${ __dirname } /fileNameExtensions.config.json` ,
13+ 'utf8'
14+ ) . then ( fileContent => JSON . parse ( fileContent ) . extensions ) ;
15+
16+ const isValidExtension = fileNameExtensions . some (
17+ function checkFileNameExtension ( extension ) {
18+ if (
19+ fileName
20+ . toUpperCase ( )
21+ . endsWith ( `.${ extension . toUpperCase ( ) } ` )
22+ ) {
23+ return true ;
24+ }
25+
26+ return false ;
27+ }
28+ ) ;
29+
30+ return isValidExtension ;
31+ }
32+
33+ return {
34+ isValid,
35+ } ;
36+ }
37+
38+ module . exports = fileExtensionManager ;
Original file line number Diff line number Diff line change 1- const fs = require ( 'fs' ) ;
2- const util = require ( 'util' ) ;
31const ArgumentError = require ( './ArgumentError' ) ;
2+ const fileExtensionManagerFactory = require ( './fileExtensionManager' ) ;
43
5- const readFilePromisied = util . promisify ( fs . readFile ) ;
4+ const fileExtensionManager = fileExtensionManagerFactory ( ) ;
65
76function logAnalyzer ( ) {
87 /**
@@ -28,7 +27,7 @@ function logAnalyzer() {
2827 throw new ArgumentError ( 'filename has to be provided' ) ;
2928 }
3029
31- const result = await isValid ( fileName ) ;
30+ const result = await fileExtensionManager . isValid ( fileName ) ;
3231
3332 if ( ! result ) {
3433 return false ;
@@ -38,32 +37,6 @@ function logAnalyzer() {
3837 return true ;
3938 }
4039
41- /**
42- * @param {string } fileName
43- */
44- async function isValid ( fileName ) {
45- const fileNameExtensions = await readFilePromisied (
46- `${ __dirname } /fileNameExtensions.config.json` ,
47- 'utf8'
48- ) . then ( fileContent => JSON . parse ( fileContent ) . extensions ) ;
49-
50- const isValidExtension = fileNameExtensions . some (
51- function checkFileNameExtension ( extension ) {
52- if (
53- fileName
54- . toUpperCase ( )
55- . endsWith ( `.${ extension . toUpperCase ( ) } ` )
56- ) {
57- return true ;
58- }
59-
60- return false ;
61- }
62- ) ;
63-
64- return isValidExtension ;
65- }
66-
6740 return {
6841 getWasLastFileNameValid,
6942 isValidLogFileName,
You can’t perform that action at this time.
0 commit comments