@@ -4,8 +4,8 @@ import { CLIEngine } from "eslint"
44
55const DB_URL = "http://unicode.org/Public/UNIDATA/DerivedCoreProperties.txt"
66const FILE_PATH = "src/unicode/ids.ts"
7- const ID_START = / ^ ( [ 0 - 9 a - z ] + ) (?: \. \. ( [ 0 - 9 a - z ] + ) ) ? [ ^ ; ] * ; I D _ S t a r t / i
8- const ID_CONTINUE = / ^ ( [ 0 - 9 a - z ] + ) (?: \. \. ( [ 0 - 9 a - z ] + ) ) ? [ ^ ; ] * ; I D _ C o n t i n u e / i
7+ const ID_START = / ^ ( [ 0 - 9 a - z ] + ) (?: \. \. ( [ 0 - 9 a - z ] + ) ) ? [ ^ ; ] * ; I D _ S t a r t / iu
8+ const ID_CONTINUE = / ^ ( [ 0 - 9 a - z ] + ) (?: \. \. ( [ 0 - 9 a - z ] + ) ) ? [ ^ ; ] * ; I D _ C o n t i n u e / iu
99const BORDER = 0x7f
1010const logger = console
1111
@@ -19,10 +19,10 @@ enum Mode {
1919; ( async ( ) => {
2020 let banner = ""
2121 const idStartSet : Set < string > = new Set ( )
22- const idStartSmall : Array < [ number , number ] > = [ ]
23- const idStartLarge : Array < [ number , number ] > = [ ]
24- const idContinueSmall : Array < [ number , number ] > = [ ]
25- const idContinueLarge : Array < [ number , number ] > = [ ]
22+ const idStartSmall : [ number , number ] [ ] = [ ]
23+ const idStartLarge : [ number , number ] [ ] = [ ]
24+ const idContinueSmall : [ number , number ] [ ] = [ ]
25+ const idContinueLarge : [ number , number ] [ ] = [ ]
2626
2727 logger . log ( "Fetching data... (%s)" , DB_URL )
2828 await processEachLine ( line => {
@@ -86,30 +86,28 @@ ${makeCondition(idContinueLarge, Mode.Former)}
8686
8787function processEachLine ( cb : ( line : string ) => void ) : Promise < void > {
8888 return new Promise ( ( resolve , reject ) => {
89- http
90- . get ( DB_URL , res => {
91- let buffer = ""
92- res . setEncoding ( "utf8" )
93- res . on ( "data" , chunk => {
94- const lines = ( buffer + chunk ) . split ( "\n" )
95- if ( lines . length === 1 ) {
96- buffer = lines [ 0 ]
97- } else {
98- buffer = lines . pop ( ) !
99- for ( const line of lines ) {
100- cb ( line )
101- }
89+ http . get ( DB_URL , res => {
90+ let buffer = ""
91+ res . setEncoding ( "utf8" )
92+ res . on ( "data" , chunk => {
93+ const lines = ( buffer + String ( chunk ) ) . split ( "\n" )
94+ if ( lines . length === 1 ) {
95+ buffer = lines [ 0 ]
96+ } else {
97+ buffer = lines . pop ( ) !
98+ for ( const line of lines ) {
99+ cb ( line )
102100 }
103- } )
104- res . on ( "end" , ( ) => {
105- if ( buffer ) {
106- cb ( buffer )
107- }
108- resolve ( )
109- } )
110- res . on ( "error" , reject )
101+ }
102+ } )
103+ res . on ( "end" , ( ) => {
104+ if ( buffer ) {
105+ cb ( buffer )
106+ }
107+ resolve ( )
111108 } )
112- . on ( "error" , reject )
109+ res . on ( "error" , reject )
110+ } ) . on ( "error" , reject )
113111 } )
114112}
115113
@@ -148,10 +146,8 @@ function makeSmallCondtion(ranges: [number, number][], mode: Mode): string {
148146
149147function save ( content : string ) : Promise < void > {
150148 return new Promise ( ( resolve , reject ) => {
151- fs . writeFile (
152- FILE_PATH ,
153- content ,
154- error => ( error ? reject ( error ) : resolve ( ) ) ,
149+ fs . writeFile ( FILE_PATH , content , error =>
150+ error ? reject ( error ) : resolve ( ) ,
155151 )
156152 } )
157153}
0 commit comments