@@ -48,9 +48,14 @@ type DecoderMap = {[id:CPIndex]:Decoder};
48
48
49
49
var has_buf /*:boolean*/ = ( typeof Buffer !== 'undefined' ) ;
50
50
if ( has_buf ) {
51
- var mdl = 1024 , mdb = new Buffer ( mdl ) ;
51
+ // $FlowIgnore
52
+ if ( ! Buffer . from ) Buffer . from = function ( buf , enc ) { return ( enc ) ? new Buffer ( buf , enc ) : new Buffer ( buf ) ; } ;
53
+ // $FlowIgnore
54
+ if ( ! Buffer . allocUnsafe ) Buffer . allocUnsafe = function ( n ) { return new Buffer ( n ) ; } ;
55
+
56
+ var mdl = 1024 , mdb = Buffer . allocUnsafe ( mdl ) ;
52
57
var make_EE = function make_EE ( E /*:EMap*/ ) /*:Buffer*/ {
53
- var EE = new Buffer ( 65536 ) ;
58
+ var EE = Buffer . allocUnsafe ( 65536 ) ;
54
59
for ( var i = 0 ; i < 65536 ; ++ i ) EE [ i ] = 0 ;
55
60
var keys /*:Array<string>*/ = Object . keys ( E ) , len = keys . length ;
56
61
for ( var ee = 0 , e = keys [ ee ] ; ee < len ; ++ ee ) {
@@ -65,10 +70,10 @@ type DecoderMap = {[id:CPIndex]:Decoder};
65
70
var len = data . length ;
66
71
var out /*:Buffer*/ , i = 0 , j = 0 , D = 0 , w = 0 ;
67
72
if ( typeof data === 'string' ) {
68
- out = new Buffer ( len ) ;
73
+ out = Buffer . allocUnsafe ( len ) ;
69
74
for ( i = 0 ; i < len ; ++ i ) out [ i ] = EE [ data . charCodeAt ( i ) ] ;
70
75
} else if ( /*:: data instanceof Buffer && */ Buffer . isBuffer ( data ) ) {
71
- out = new Buffer ( 2 * len ) ;
76
+ out = Buffer . allocUnsafe ( 2 * len ) ;
72
77
j = 0 ;
73
78
for ( i = 0 ; i < len ; ++ i ) {
74
79
D = data [ i ] ;
@@ -83,7 +88,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
83
88
}
84
89
out = out . slice ( 0 , j ) ;
85
90
} else {
86
- out = new Buffer ( len ) ;
91
+ out = Buffer . allocUnsafe ( len ) ;
87
92
for ( i = 0 ; i < len ; ++ i ) out [ i ] = EE [ /*::(*/ data [ i ] /*:: :any)*/ . charCodeAt ( 0 ) ] ;
88
93
}
89
94
if ( ! ofmt || ofmt === 'buf' ) return out ;
@@ -93,15 +98,15 @@ type DecoderMap = {[id:CPIndex]:Decoder};
93
98
} ;
94
99
var sbcs_decode = function make_sbcs_decode ( cp /*:CPIndex*/ ) /*:Decoder*/ {
95
100
var D /*:DMap*/ = cpt [ cp ] . dec ;
96
- var DD = new Buffer ( 131072 ) , d = 0 , c = "" ;
101
+ var DD = Buffer . allocUnsafe ( 131072 ) , d = 0 , c = "" ;
97
102
for ( d = 0 ; d < D . length ; ++ d ) {
98
103
if ( ! ( c = D [ d ] ) ) continue ;
99
104
var w = c . charCodeAt ( 0 ) ;
100
105
DD [ 2 * d ] = w & 255 ; DD [ 2 * d + 1 ] = w >> 8 ;
101
106
}
102
107
return function sbcs_d ( data /*:Data*/ ) /*:string*/ {
103
108
var len = data . length , i = 0 , j = 0 ;
104
- if ( 2 * len > mdl ) { mdl = 2 * len ; mdb = new Buffer ( mdl ) ; }
109
+ if ( 2 * len > mdl ) { mdl = 2 * len ; mdb = Buffer . allocUnsafe ( mdl ) ; }
105
110
if ( /*::data instanceof Buffer && */ Buffer . isBuffer ( data ) ) {
106
111
for ( i = 0 ; i < len ; i ++ ) {
107
112
j = 2 * data [ i ] ;
@@ -123,7 +128,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
123
128
} ;
124
129
var dbcs_encode = function make_dbcs_encode ( cp /*:CPIndex*/ ) /*:Encoder*/ {
125
130
var E /*:EMap*/ = cpt [ cp ] . enc ;
126
- var EE = new Buffer ( 131072 ) ;
131
+ var EE = Buffer . allocUnsafe ( 131072 ) ;
127
132
for ( var i = 0 ; i < 131072 ; ++ i ) EE [ i ] = 0 ;
128
133
var keys = Object . keys ( E ) ;
129
134
for ( var ee = 0 , e = keys [ ee ] ; ee < keys . length ; ++ ee ) {
@@ -132,7 +137,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
132
137
EE [ 2 * f ] = E [ e ] & 255 ; EE [ 2 * f + 1 ] = E [ e ] >> 8 ;
133
138
}
134
139
return function dbcs_e ( data /*:StrData*/ , ofmt /*:?string*/ ) /*:any*/ {
135
- var len = data . length , out = new Buffer ( 2 * len ) , i = 0 , j = 0 , jj = 0 , k = 0 , D = 0 ;
140
+ var len = data . length , out = Buffer . allocUnsafe ( 2 * len ) , i = 0 , j = 0 , jj = 0 , k = 0 , D = 0 ;
136
141
if ( typeof data === 'string' ) {
137
142
for ( i = k = 0 ; i < len ; ++ i ) {
138
143
j = data . charCodeAt ( i ) * 2 ;
@@ -166,7 +171,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
166
171
} ;
167
172
var dbcs_decode = function make_dbcs_decode ( cp /*:CPIndex*/ ) /*:Decoder*/ {
168
173
var D /*:DMap*/ = cpt [ cp ] . dec ;
169
- var DD = new Buffer ( 131072 ) , d = 0 , c , w = 0 , j = 0 , i = 0 ;
174
+ var DD = Buffer . allocUnsafe ( 131072 ) , d = 0 , c , w = 0 , j = 0 , i = 0 ;
170
175
for ( i = 0 ; i < 65536 ; ++ i ) { DD [ 2 * i ] = 0xFF ; DD [ 2 * i + 1 ] = 0xFD ; }
171
176
for ( d = 0 ; d < D . length ; ++ d ) {
172
177
if ( ! ( c = D [ d ] ) ) continue ;
@@ -175,7 +180,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
175
180
DD [ j ] = w & 255 ; DD [ j + 1 ] = w >> 8 ;
176
181
}
177
182
return function dbcs_d ( data /*:Data*/ ) /*:string*/ {
178
- var len = data . length , out = new Buffer ( 2 * len ) , i = 0 , j = 0 , k = 0 ;
183
+ var len = data . length , out = Buffer . allocUnsafe ( 2 * len ) , i = 0 , j = 0 , k = 0 ;
179
184
if ( /*::data instanceof Buffer && */ Buffer . isBuffer ( data ) ) {
180
185
for ( i = 0 ; i < len ; i ++ ) {
181
186
j = 2 * data [ i ] ;
@@ -201,7 +206,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
201
206
magic_decode [ 65001 ] = function utf8_d ( data /*:Data*/ ) /*:string*/ {
202
207
if ( typeof data === "string" ) return utf8_d ( data . split ( "" ) . map ( cca ) ) ;
203
208
var len = data . length , w = 0 , ww = 0 ;
204
- if ( 4 * len > mdl ) { mdl = 4 * len ; mdb = new Buffer ( mdl ) ; }
209
+ if ( 4 * len > mdl ) { mdl = 4 * len ; mdb = Buffer . allocUnsafe ( mdl ) ; }
205
210
var i = 0 ;
206
211
if ( len >= 3 && data [ 0 ] == 0xEF ) if ( data [ 1 ] == 0xBB && data [ 2 ] == 0xBF ) i = 3 ;
207
212
for ( var j = 1 , k = 0 , D = 0 ; i < len ; i += j ) {
@@ -230,7 +235,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
230
235
*/
231
236
var len = data . length , w = 0 , ww = 0 , j = 0 ;
232
237
var direct = typeof data === "string" ;
233
- if ( 4 * len > mdl ) { mdl = 4 * len ; mdb = new Buffer ( mdl ) ; }
238
+ if ( 4 * len > mdl ) { mdl = 4 * len ; mdb = Buffer . allocUnsafe ( mdl ) ; }
234
239
for ( var i = 0 ; i < len ; ++ i ) {
235
240
w = direct /*::&& typeof data === "string" */ ? data . charCodeAt ( i ) : data [ i ] . charCodeAt ( 0 ) ;
236
241
if ( w <= 0x007F ) mdb [ j ++ ] = w ;
@@ -313,7 +318,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
313
318
if(data instanceof Buffer) throw "";
314
319
*/
315
320
var len = data . length ;
316
- var out = has_buf ? new Buffer ( 4 * len ) : [ ] , w = 0 , i = 0 , j = 0 , ww = 0 ;
321
+ var out = has_buf ? Buffer . allocUnsafe ( 4 * len ) : [ ] , w = 0 , i = 0 , j = 0 , ww = 0 ;
317
322
var C /*:CPEntry*/ = cpt [ cp ] , E /*:EMap*/ , M /*:string*/ = "" ;
318
323
var isstr = typeof data === 'string' ;
319
324
if ( C && ( E = C . enc ) ) for ( i = 0 ; i < len ; ++ i , ++ j ) {
@@ -325,7 +330,7 @@ type DecoderMap = {[id:CPIndex]:Decoder};
325
330
}
326
331
else if ( ( M = magic [ cp ] ) ) switch ( M ) {
327
332
case "utf8" :
328
- if ( has_buf && isstr /*:: && typeof data == 'string' */ ) { out = new Buffer ( data , M ) ; j = out . length ; break ; }
333
+ if ( has_buf && isstr /*:: && typeof data == 'string' */ ) { out = Buffer . from ( data , M ) ; j = out . length ; break ; }
329
334
for ( i = 0 ; i < len ; ++ i , ++ j ) {
330
335
w = isstr /*:: && typeof data == 'string' */ ? data . charCodeAt ( i ) : data [ i ] . charCodeAt ( 0 ) ;
331
336
if ( w <= 0x007F ) out [ j ] = w ;
@@ -347,15 +352,15 @@ type DecoderMap = {[id:CPIndex]:Decoder};
347
352
}
348
353
break ;
349
354
case "ascii" :
350
- if ( has_buf && typeof data === "string" ) { out = new Buffer ( data , M ) ; j = out . length ; break ; }
355
+ if ( has_buf && typeof data === "string" ) { out = Buffer . from ( data , M ) ; j = out . length ; break ; }
351
356
for ( i = 0 ; i < len ; ++ i , ++ j ) {
352
357
w = isstr /*:: && typeof data == 'string' */ ? data . charCodeAt ( i ) : data [ i ] . charCodeAt ( 0 ) ;
353
358
if ( w <= 0x007F ) out [ j ] = w ;
354
359
else throw new Error ( "bad ascii " + w ) ;
355
360
}
356
361
break ;
357
362
case "utf16le" :
358
- if ( has_buf && typeof data === "string" ) { out = new Buffer ( data , M ) ; j = out . length ; break ; }
363
+ if ( has_buf && typeof data === "string" ) { out = Buffer . from ( data , M ) ; j = out . length ; break ; }
359
364
for ( i = 0 ; i < len ; ++ i ) {
360
365
w = isstr /*:: && typeof data == 'string' */ ? data . charCodeAt ( i ) : data [ i ] . charCodeAt ( 0 ) ;
361
366
out [ j ++ ] = w & 255 ;
0 commit comments