@@ -169,7 +169,8 @@ function prettyCatalogName(fileName) {
169169 }
170170 }
171171 // Don`t format the files like `req.options.*` using dot, unchanged or Chinese string.
172- if ( _ . size ( fileName . split ( "." ) ) > 1 || _ . includes ( unchanged , fileName ) || isChinese ( fileName ) || disableTitleFormatting ) {
172+ if ( _ . size ( fileName . split ( "." ) ) > 1 || _ . includes ( unchanged , fileName ) || isChinese ( fileName ) ||
173+ disableTitleFormatting || isNonAscii ( fileName ) ) {
173174 return fileName ;
174175 }
175176 return _ . startCase ( fileName ) ;
@@ -184,6 +185,12 @@ function isChinese(string) {
184185 }
185186}
186187
188+ function isNonAscii ( string ) {
189+ var regExp = / ^ [ - ~ \t \n \r ] + $ / gi;
190+
191+ return ! regExp . test ( string ) ;
192+ }
193+
187194function isSkiped ( key , skip ) {
188195 var result = ! _ . isEmpty ( skip ) && _ . isEqual ( key . toLowerCase ( ) , skip . toLowerCase ( ) ) || _ . isEqual ( key . toLowerCase ( ) , 'readme' ) ;
189196 return result ;
@@ -193,7 +200,10 @@ function isSkiped(key, skip) {
193200function writeFile ( fileName , data ) {
194201 fs . writeFile ( fileName , data , 'utf-8' , function ( ) {
195202 console . log ( color . green ( "Finished, generated '" + fileName + "' successfully." ) ) ;
196- } )
203+ } ) ;
197204}
198205
199- module . exports = Summary ;
206+ module . exports = {
207+ summary : Summary ,
208+ isNonAscii : isNonAscii
209+ } ;
0 commit comments