@@ -5,29 +5,44 @@ const splitCodeToSolutions = code => {
5
5
return [ solutions [ 0 ] , ...solutions . slice ( 1 ) . map ( solution => '//' + solution ) ] ;
6
6
} ;
7
7
8
- export const generateAPI = ( ) => {
9
- try {
10
- const api = [ 1 , 2 , 3 , 4 , 5 ] . flatMap ( level =>
11
- fs
12
- . readdirSync ( `level-${ level } ` )
13
- . filter ( name => name !== '00-해답-예시.js' )
14
- . map ( file => {
15
- const [ name , id , extension ] = file . split ( '&' ) ;
16
- const code = splitCodeToSolutions ( fs . readFileSync ( `level-${ level } /${ file } ` , 'utf-8' ) ) ;
17
- return {
18
- id,
19
- name : name . replaceAll ( '-' , ' ' ) ,
20
- fileName : file ,
21
- level,
22
- code : code [ 0 ] + code [ 1 ] ,
23
- link : `https://school.programmers.co.kr/learn/courses/30/lessons/${ id } ` ,
24
- } ;
25
- } )
26
- ) ;
27
- fs . writeFileSync ( 'api.json' , JSON . stringify ( api ) ) ;
28
- return api ;
29
- } catch ( e ) {
30
- console . log ( 'Making API ERROR: ' + e ) ;
31
- return [ ] ;
32
- }
33
- } ;
8
+ export const generateAPI = ( ( ) => {
9
+ const formatName = ( ( ) => {
10
+ const nameExceptions = [
11
+ [ '-' , ' ' ] ,
12
+ [ '?' , '?' ] ,
13
+ ] ;
14
+
15
+ return name => {
16
+ nameExceptions . forEach ( ( [ a , b ] ) => ( name = name . replaceAll ( a , b ) ) ) ;
17
+ return name ;
18
+ } ;
19
+ } ) ( ) ;
20
+
21
+ return ( ) => {
22
+ try {
23
+ const api = [ 1 , 2 , 3 , 4 , 5 ] . flatMap ( level =>
24
+ fs
25
+ . readdirSync ( `level-${ level } ` )
26
+ . filter ( name => name !== '00-해답-예시.js' )
27
+ . map ( fileName => {
28
+ const [ name , id , extension ] = formatName ( fileName ) . split ( '&' ) ;
29
+ console . log ( formatName ( fileName ) ) ;
30
+ const code = splitCodeToSolutions ( fs . readFileSync ( `level-${ level } /${ fileName } ` , 'utf-8' ) ) ;
31
+ return {
32
+ id,
33
+ name,
34
+ fileName,
35
+ level,
36
+ code : code [ 0 ] + code [ 1 ] ,
37
+ link : `https://school.programmers.co.kr/learn/courses/30/lessons/${ id } ` ,
38
+ } ;
39
+ } )
40
+ ) ;
41
+ fs . writeFileSync ( 'api.json' , JSON . stringify ( api ) ) ;
42
+ return api ;
43
+ } catch ( e ) {
44
+ console . log ( 'Making API ERROR: ' + e ) ;
45
+ return [ ] ;
46
+ }
47
+ } ;
48
+ } ) ( ) ;
0 commit comments