11'use strict' ;
2- var adler32 , alldecoder , allenchashes , allencoder , ascii85 , base91 , bufferDecoder , bufferEncoder , caesar , cheerio , crc , crypto , decalgos , dechashes , decmd5 , decoder , decrypter , encalgos , enchashes , encoder , hex_parse , recipro , request , rev , rotX ,
2+ var adler32 , alldecoder , allenchashes , allencoder , ascii85 , base91 , bufferDecoder , bufferEncoder , caesar , cheerio , crc , crypto , decalgos , dechashes , decmd5 , decoder , decrypter , encalgos , enchashes , encoder , hex_parse , punycode , recipro , request , rev , rotX ,
33 indexOf = [ ] . indexOf || function ( item ) { for ( var i = 0 , l = this . length ; i < l ; i ++ ) { if ( i in this && this [ i ] === item ) return i ; } return - 1 ; } ;
44
55crc = require ( 'crc' ) ;
@@ -18,9 +18,11 @@ cheerio = require('cheerio');
1818
1919request = require ( 'sync-request' ) ;
2020
21+ punycode = require ( 'punycode' ) ;
22+
2123allencoder = [ ] ;
2224
23- encalgos = [ 'hex' , 'ascii' , 'base64' , 'base85' , 'z85' , 'ascii85' , 'base91' , 'rot5' , 'rot13' , 'rot18' , 'rot47' , 'rev' , 'crc1' , 'crc8' , 'crc16' , 'crc24' , 'crc32' , 'adler32' , 'url' , 'unixtime' , 'lower' , 'upper' ] ;
25+ encalgos = [ 'hex' , 'ascii' , 'base64' , 'base85' , 'z85' , 'ascii85' , 'base91' , 'rot5' , 'rot13' , 'rot18' , 'rot47' , 'rev' , 'crc1' , 'crc8' , 'crc16' , 'crc24' , 'crc32' , 'adler32' , 'url' , 'unixtime' , 'lower' , 'upper' , 'punycode' ] ;
2426
2527enchashes = [ 'md4' , 'md5' , 'sha' , 'sha1' , 'sha224' , 'sha256' , 'sha384' , 'sha512' , 'rmd160' , 'whirlpool' ] ;
2628
@@ -34,7 +36,7 @@ allencoder = allencoder.concat(encalgos, allenchashes);
3436
3537alldecoder = [ ] ;
3638
37- decalgos = [ 'hex' , 'ascii' , 'base64' , 'base85' , 'z85' , 'ascii85' , 'base91' , 'rot5' , 'rot13' , 'rot18' , 'rot47' , 'rev' , 'url' , 'unixtime' ] ;
39+ decalgos = [ 'hex' , 'ascii' , 'base64' , 'base85' , 'z85' , 'ascii85' , 'base91' , 'rot5' , 'rot13' , 'rot18' , 'rot47' , 'rev' , 'url' , 'unixtime' , 'punycode' ] ;
3840
3941dechashes = [ 'md5' ] ;
4042
@@ -143,6 +145,8 @@ bufferEncoder = function(buf, algo) {
143145 return new Buffer ( buf . toString ( ) . toLowerCase ( ) ) ;
144146 case 'upper' :
145147 return new Buffer ( buf . toString ( ) . toUpperCase ( ) ) ;
148+ case 'punycode' :
149+ return new Buffer ( punycode . toASCII ( buf . toString ( ) ) ) ;
146150 default :
147151 if ( indexOf . call ( allenchashes , algo ) >= 0 ) {
148152 return new Buffer ( crypto . createHash ( algo ) . update ( buf ) . digest ( 'hex' ) ) ;
@@ -191,6 +195,8 @@ bufferDecoder = function(buf, algo) {
191195 return new Buffer ( decodeURIComponent ( buf . toString ( ) ) ) ;
192196 case 'unixtime' :
193197 return new Buffer ( ( new Date ( parseInt ( buf . toString ( ) ) * 1000 ) ) . toString ( ) ) ;
198+ case 'punycode' :
199+ return new Buffer ( punycode . toUnicode ( buf . toString ( ) ) ) ;
194200 case 'md5' :
195201 return new Buffer ( decrypter [ algo ] ( buf . toString ( ) ) ) ;
196202 default :
0 commit comments