diff --git a/bin/codepage.njs b/bin/codepage.njs index 65576f9..d23a55a 100755 --- a/bin/codepage.njs +++ b/bin/codepage.njs @@ -45,8 +45,8 @@ if(f !== "-" && !fs.existsSync(f)) { if(f === "-") process.stdin.pipe(require('concat-stream')(process_text)); else process_text(fs.readFileSync(f)); -function process_text(text) { - var dec = codepage.utils.decode(fr, text); +function process_text(text/*:Buffer*/) { + var dec/*:Buffer*/ = codepage.utils.decode(fr, text); var bom/*:Array*/ = []; bom[1200] = new Buffer([0xFF, 0xFE]); @@ -58,7 +58,7 @@ function process_text(text) { bom[65001] = new Buffer([0xEF, 0xBB, 0xBF]); var mybom = (program.bom && bom[to] ? bom[to] : ""); - var out = to === 65001 ? dec.toString('utf8') : codepage.utils.encode(to, dec); + var out/*:any*/ = to === 65001 ? dec.toString('utf8') : codepage.utils.encode(to, dec); /* if output file is specified */ if(o) writefile(o, out, mybom); @@ -76,12 +76,12 @@ function process_text(text) { } } -function logit(out, bom) { +function logit(out/*:Buffer*/, bom) { process.stdout.write(bom); process.stdout.write(out); } -function writefile(o, out, bom) { +function writefile(o, out/*:Buffer*/, bom) { fs.writeFileSync(o, bom); fs.appendFileSync(o, out); } diff --git a/codepage.md b/codepage.md index d1f1d86..76fdbe1 100644 --- a/codepage.md +++ b/codepage.md @@ -753,7 +753,7 @@ describe('failures', function() { ```json>package.json { "name": "codepage", - "version": "1.9.0", + "version": "1.10.0", "author": "SheetJS", "description": "pure-JS library to handle codepages", "keywords": [ "codepage", "iconv", "convert", "strings" ], @@ -770,13 +770,13 @@ describe('failures', function() { ], "main": "cputils.js", "dependencies": { - "voc":"", - "concat-stream":"", - "exit-on-epipe":"", - "commander":"" + "voc":"~1.0.0", + "concat-stream":"~1.6.0", + "exit-on-epipe":"~1.0.1", + "commander":"~2.11.0" }, "devDependencies": { - "mocha":"" + "mocha":"~2.5.3" }, "repository": { "type":"git", "url":"git://github.com/SheetJS/js-codepage.git"}, "scripts": { diff --git a/cpexcel.js b/cpexcel.js index b3d5dae..05c7984 100644 --- a/cpexcel.js +++ b/cpexcel.js @@ -1,6 +1,6 @@ /* cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W100 */ -var cptable = {version:"1.9.0"}; +var cptable = {version:"1.10.0"}; cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[620] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[737] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); diff --git a/cptable.js b/cptable.js index 27d9734..99eb3ec 100644 --- a/cptable.js +++ b/cptable.js @@ -1,6 +1,6 @@ /* cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W100 */ -var cptable = {version:"1.9.0"}; +var cptable = {version:"1.10.0"}; cptable[37] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ¢.<(+|&éêëèíîïìß!$*);¬-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[500] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ[.<(+!&éêëèíîïìß]$*);^-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®¢£¥·©§¶¼½¾¬|¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); diff --git a/cputils.flow.js b/cputils.flow.js index 2c49da0..8f54e20 100644 --- a/cputils.flow.js +++ b/cputils.flow.js @@ -2,28 +2,21 @@ /* vim: set ft=javascript: */ /*jshint newcap: false */ /*:: -type Data = string | Array | Buffer; -type StrData = string | Array | Buffer; -type OutType = Data; type Decoder = (data:Data)=>string; type Encoder = (data:StrData, ofmt:?string)=>Data; -type CPIndex = number|string; -type EMap = {[e:string]:number}; -type DMap = Array; type EncoderMap = {[id:CPIndex]:Encoder}; type DecoderMap = {[id:CPIndex]:Decoder}; -type CPEntry = {enc:EMap, dec:DMap}; */ (function(root/*:any*/, factory) { "use strict"; if(typeof cptable === "undefined") { if(typeof require !== "undefined"){ - var cpt = require('./cpt' + 'able'); + var cpt/*:CPTable*/ = require('./cptable'); if (typeof module !== 'undefined' && module.exports) module.exports = factory(cpt); else root.cptable = factory(cpt); } else throw new Error("cptable not found"); } else cptable = factory(cptable); -}(this, function(cpt){ +}(this, function(cpt/*:CPTable*/){ "use strict"; var magic/*:{[id:CPIndex]:string}*/ = { "1200":"utf16le", @@ -414,7 +407,7 @@ type CPEntry = {enc:EMap, dec:DMap}; out = out.slice(0,j); if(!has_buf) return (ofmt == 'str') ? (out/*:any*/).map(sfcc).join("") : out; if(!ofmt || ofmt === 'buf') return out; - if(ofmt !== 'arr') return out.toString('binary'); + if(ofmt !== 'arr') return /*::((*/out/*:: :any) :Buffer)*/.toString('binary'); return [].slice.call(out); }; var decode = function decode(cp/*:CPIndex*/, data/*:Data*/)/*:string*/ { diff --git a/misc/codepage.md.ascii b/misc/codepage.md.ascii index 564741b..97a2494 100644 --- a/misc/codepage.md.ascii +++ b/misc/codepage.md.ascii @@ -753,7 +753,7 @@ describe('failures', function() { ```json>package.json { "name": "codepage", - "version": "1.9.0", + "version": "1.10.0", "author": "SheetJS", "description": "pure-JS library to handle codepages", "keywords": [ "codepage", "iconv", "convert", "strings" ], @@ -770,13 +770,13 @@ describe('failures', function() { ], "main": "cputils.js", "dependencies": { - "voc":"", - "concat-stream":"", - "exit-on-epipe":"", - "commander":"" + "voc":"~1.0.0", + "concat-stream":"~1.6.0", + "exit-on-epipe":"~1.0.1", + "commander":"~2.11.0" }, "devDependencies": { - "mocha":"" + "mocha":"~2.5.3" }, "repository": { "type":"git", "url":"git://github.com/SheetJS/js-codepage.git"}, "scripts": { diff --git a/misc/codepage.md.utf16be b/misc/codepage.md.utf16be index 1931dc5..b093ea6 100644 Binary files a/misc/codepage.md.utf16be and b/misc/codepage.md.utf16be differ diff --git a/misc/codepage.md.utf16le b/misc/codepage.md.utf16le index d9824fe..1fa68ef 100644 Binary files a/misc/codepage.md.utf16le and b/misc/codepage.md.utf16le differ diff --git a/misc/codepage.md.utf32be b/misc/codepage.md.utf32be index 8a2e70b..7ce3e0a 100644 Binary files a/misc/codepage.md.utf32be and b/misc/codepage.md.utf32be differ diff --git a/misc/codepage.md.utf32le b/misc/codepage.md.utf32le index 8d79482..60a4c35 100644 Binary files a/misc/codepage.md.utf32le and b/misc/codepage.md.utf32le differ diff --git a/misc/codepage.md.utf7 b/misc/codepage.md.utf7 index 9e85901..066a307 100644 --- a/misc/codepage.md.utf7 +++ b/misc/codepage.md.utf7 @@ -753,7 +753,7 @@ describe('failures', function() +AHs +AGAAYABg-json+AD4-package.json +AHs +ACI-name+ACI: +ACI-codepage+ACI, - +ACI-version+ACI: +ACI-1.9.0+ACI, + +ACI-version+ACI: +ACI-1.10.0+ACI, +ACI-author+ACI: +ACI-SheetJS+ACI, +ACI-description+ACI: +ACI-pure-JS library to handle codepages+ACI, +ACI-keywords+ACI: +AFs +ACI-codepage+ACI, +ACI-iconv+ACI, +ACI-convert+ACI, +ACI-strings+ACI +AF0, @@ -770,13 +770,13 @@ describe('failures', function() +AHs +AF0, +ACI-main+ACI: +ACI-cputils.js+ACI, +ACI-dependencies+ACI: +AHs - +ACI-voc+ACI:+ACIAIg, - +ACI-concat-stream+ACI:+ACIAIg, - +ACI-exit-on-epipe+ACI:+ACIAIg, - +ACI-commander+ACI:+ACIAIg + +ACI-voc+ACI:+ACIAfg-1.0.0+ACI, + +ACI-concat-stream+ACI:+ACIAfg-1.6.0+ACI, + +ACI-exit-on-epipe+ACI:+ACIAfg-1.0.1+ACI, + +ACI-commander+ACI:+ACIAfg-2.11.0+ACI +AH0, +ACI-devDependencies+ACI: +AHs - +ACI-mocha+ACI:+ACIAIg + +ACI-mocha+ACI:+ACIAfg-2.5.3+ACI +AH0, +ACI-repository+ACI: +AHs +ACI-type+ACI:+ACI-git+ACI, +ACI-url+ACI:+ACI-git://github.com/SheetJS/js-codepage.git+ACIAfQ, +ACI-scripts+ACI: +AHs diff --git a/misc/codepage.md.utf8 b/misc/codepage.md.utf8 index d1f1d86..76fdbe1 100644 --- a/misc/codepage.md.utf8 +++ b/misc/codepage.md.utf8 @@ -753,7 +753,7 @@ describe('failures', function() { ```json>package.json { "name": "codepage", - "version": "1.9.0", + "version": "1.10.0", "author": "SheetJS", "description": "pure-JS library to handle codepages", "keywords": [ "codepage", "iconv", "convert", "strings" ], @@ -770,13 +770,13 @@ describe('failures', function() { ], "main": "cputils.js", "dependencies": { - "voc":"", - "concat-stream":"", - "exit-on-epipe":"", - "commander":"" + "voc":"~1.0.0", + "concat-stream":"~1.6.0", + "exit-on-epipe":"~1.0.1", + "commander":"~2.11.0" }, "devDependencies": { - "mocha":"" + "mocha":"~2.5.3" }, "repository": { "type":"git", "url":"git://github.com/SheetJS/js-codepage.git"}, "scripts": { diff --git a/misc/cptable.js.ascii b/misc/cptable.js.ascii index 900f164..50de9e6 100644 --- a/misc/cptable.js.ascii +++ b/misc/cptable.js.ascii @@ -1,6 +1,6 @@ /* cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W100 */ -var cptable = {version:"1.9.0"}; +var cptable = {version:"1.10.0"}; cptable[37] = (function(){ var d = "\u0000\u0001\u0002\u0003\t\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\b\u0018\u0019\u001c\u001d\u001e\u001f\n\u0017\u001b\u0005\u0006\u0007\u0016\u0004\u0014\u0015\u001a .<(+|&!$*);-/,%_>?`:#@'=\"abcdefghijklmnopqr~stuvwxyz^[]{ABCDEFGHI}JKLMNOPQR\\STUVWXYZ0123456789", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[500] = (function(){ var d = "\u0000\u0001\u0002\u0003\t\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\b\u0018\u0019\u001c\u001d\u001e\u001f\n\u0017\u001b\u0005\u0006\u0007\u0016\u0004\u0014\u0015\u001a [.<(+!&]$*);^-/,%_>?`:#@'=\"abcdefghijklmnopqr~stuvwxyz|{ABCDEFGHI}JKLMNOPQR\\STUVWXYZ0123456789", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); diff --git a/misc/cptable.js.utf16be b/misc/cptable.js.utf16be index abc4d4d..42abfc9 100644 Binary files a/misc/cptable.js.utf16be and b/misc/cptable.js.utf16be differ diff --git a/misc/cptable.js.utf16le b/misc/cptable.js.utf16le index a0013a4..1dcca2d 100644 Binary files a/misc/cptable.js.utf16le and b/misc/cptable.js.utf16le differ diff --git a/misc/cptable.js.utf32be b/misc/cptable.js.utf32be index e29926e..4ac826d 100644 Binary files a/misc/cptable.js.utf32be and b/misc/cptable.js.utf32be differ diff --git a/misc/cptable.js.utf32le b/misc/cptable.js.utf32le index 469ce55..6ba3c5d 100644 Binary files a/misc/cptable.js.utf32le and b/misc/cptable.js.utf32le differ diff --git a/misc/cptable.js.utf7 b/misc/cptable.js.utf7 index 1aaa0be..36a8753 100644 --- a/misc/cptable.js.utf7 +++ b/misc/cptable.js.utf7 @@ -1,6 +1,6 @@ /+ACo cptable.js (C) 2013-present SheetJS -- http://sheetjs.com +ACo-/ /+ACo-jshint -W100 +ACo-/ -var cptable +AD0 +AHs-version:+ACI-1.9.0+ACIAfQA7 +var cptable +AD0 +AHs-version:+ACI-1.10.0+ACIAfQA7 cptable+AFs-37+AF0 +AD0 (function()+AHs var d +AD0 +ACIAXA-u0000+AFw-u0001+AFw-u0002+AFw-u0003+AJwAXA-t+AIYAfwCXAI0AjgBc-u000b+AFw-f+AFw-r+AFw-u000e+AFw-u000f+AFw-u0010+AFw-u0011+AFw-u0012+AFw-u0013+AJ0AhQBc-b+AIcAXA-u0018+AFw-u0019+AJIAjwBc-u001c+AFw-u001d+AFw-u001e+AFw-u001f+AIAAgQCCAIMAhABc-n+AFw-u0017+AFw-u001b+AIgAiQCKAIsAjABc-u0005+AFw-u0006+AFw-u0007+AJAAkQBc-u0016+AJMAlACVAJYAXA-u0004+AJgAmQCaAJsAXA-u0014+AFw-u0015+AJ4AXA-u001a +AKAA4gDkAOAA4QDjAOUA5wDxAKI.+ADw(+-+AHwAJgDpAOoA6wDoAO0A7gDvAOwA3wAhACQAKg)+ADsArA--/+AMIAxADAAMEAwwDFAMcA0QCm,+ACUAXwA+?+APgAyQDKAMsAyADNAM4AzwDMAGA:+ACMAQA'+AD0AXAAiANg-abcdefghi+AKsAuwDwAP0A/gCxALA-jklmnopqr+AKoAugDmALgAxgCkALUAfg-stuvwxyz+AKEAvwDQAN0A3gCuAF4AowClALcAqQCnALYAvAC9AL4AWwBdAK8AqAC0ANcAew-ABCDEFGHI+AK0A9AD2APIA8wD1AH0-JKLMNOPQR+ALkA+wD8APkA+gD/AFwAXAD3-STUVWXYZ+ALIA1ADWANIA0wDV-0123456789+ALMA2wDcANkA2gCfACI, D +AD0 +AFsAXQ, e +AD0 +AHsAfQA7 for(var i+AD0-0+ADs-i+ACEAPQ-d.length+ADsAKwAr-i) +AHs if(d.charCodeAt(i) +ACEAPQA9 0xFFFD) e+AFs-d.charAt(i)+AF0 +AD0 i+ADs D+AFs-i+AF0 +AD0 d.charAt(i)+ADs +AH0 return +AHsAIg-enc+ACI: e, +ACI-dec+ACI: D +AH0AOw +AH0)()+ADs cptable+AFs-437+AF0 +AD0 (function()+AHs var d +AD0 +ACIAXA-u0000+AFw-u0001+AFw-u0002+AFw-u0003+AFw-u0004+AFw-u0005+AFw-u0006+AFw-u0007+AFw-b+AFw-t+AFw-n+AFw-u000b+AFw-f+AFw-r+AFw-u000e+AFw-u000f+AFw-u0010+AFw-u0011+AFw-u0012+AFw-u0013+AFw-u0014+AFw-u0015+AFw-u0016+AFw-u0017+AFw-u0018+AFw-u0019+AFw-u001a+AFw-u001b+AFw-u001c+AFw-u001d+AFw-u001e+AFw-u001f +ACEAXAAiACMAJAAlACY'()+ACoAKw,-./0123456789:+ADsAPAA9AD4?+AEA-ABCDEFGHIJKLMNOPQRSTUVWXYZ+AFsAXABcAF0AXgBfAGA-abcdefghijklmnopqrstuvwxyz+AHsAfAB9AH4AfwDHAPwA6QDiAOQA4ADlAOcA6gDrAOgA7wDuAOwAxADFAMkA5gDGAPQA9gDyAPsA+QD/ANYA3ACiAKMApSCnAZIA4QDtAPMA+gDxANEAqgC6AL8jEACsAL0AvAChAKsAuyWRJZIlkyUCJSQlYSViJVYlVSVjJVElVyVdJVwlWyUQJRQlNCUsJRwlACU8JV4lXyVaJVQlaSVmJWAlUCVsJWclaCVkJWUlWSVYJVIlUyVrJWolGCUMJYglhCWMJZAlgAOxAN8DkwPAA6MDwwC1A8QDpgOYA6kDtCIeA8YDtSIpImEAsSJlImQjICMhAPciSACwIhkAtyIaIH8AsiWgAKAAIg, D +AD0 +AFsAXQ, e +AD0 +AHsAfQA7 for(var i+AD0-0+ADs-i+ACEAPQ-d.length+ADsAKwAr-i) +AHs if(d.charCodeAt(i) +ACEAPQA9 0xFFFD) e+AFs-d.charAt(i)+AF0 +AD0 i+ADs D+AFs-i+AF0 +AD0 d.charAt(i)+ADs +AH0 return +AHsAIg-enc+ACI: e, +ACI-dec+ACI: D +AH0AOw +AH0)()+ADs cptable+AFs-500+AF0 +AD0 (function()+AHs var d +AD0 +ACIAXA-u0000+AFw-u0001+AFw-u0002+AFw-u0003+AJwAXA-t+AIYAfwCXAI0AjgBc-u000b+AFw-f+AFw-r+AFw-u000e+AFw-u000f+AFw-u0010+AFw-u0011+AFw-u0012+AFw-u0013+AJ0AhQBc-b+AIcAXA-u0018+AFw-u0019+AJIAjwBc-u001c+AFw-u001d+AFw-u001e+AFw-u001f+AIAAgQCCAIMAhABc-n+AFw-u0017+AFw-u001b+AIgAiQCKAIsAjABc-u0005+AFw-u0006+AFw-u0007+AJAAkQBc-u0016+AJMAlACVAJYAXA-u0004+AJgAmQCaAJsAXA-u0014+AFw-u0015+AJ4AXA-u001a +AKAA4gDkAOAA4QDjAOUA5wDxAFs.+ADw(+-+ACEAJgDpAOoA6wDoAO0A7gDvAOwA3wBdACQAKg)+ADsAXg--/+AMIAxADAAMEAwwDFAMcA0QCm,+ACUAXwA+?+APgAyQDKAMsAyADNAM4AzwDMAGA:+ACMAQA'+AD0AXAAiANg-abcdefghi+AKsAuwDwAP0A/gCxALA-jklmnopqr+AKoAugDmALgAxgCkALUAfg-stuvwxyz+AKEAvwDQAN0A3gCuAKIAowClALcAqQCnALYAvAC9AL4ArAB8AK8AqAC0ANcAew-ABCDEFGHI+AK0A9AD2APIA8wD1AH0-JKLMNOPQR+ALkA+wD8APkA+gD/AFwAXAD3-STUVWXYZ+ALIA1ADWANIA0wDV-0123456789+ALMA2wDcANkA2gCfACI, D +AD0 +AFsAXQ, e +AD0 +AHsAfQA7 for(var i+AD0-0+ADs-i+ACEAPQ-d.length+ADsAKwAr-i) +AHs if(d.charCodeAt(i) +ACEAPQA9 0xFFFD) e+AFs-d.charAt(i)+AF0 +AD0 i+ADs D+AFs-i+AF0 +AD0 d.charAt(i)+ADs +AH0 return +AHsAIg-enc+ACI: e, +ACI-dec+ACI: D +AH0AOw +AH0)()+ADs diff --git a/misc/cptable.js.utf8 b/misc/cptable.js.utf8 index 27d9734..99eb3ec 100644 --- a/misc/cptable.js.utf8 +++ b/misc/cptable.js.utf8 @@ -1,6 +1,6 @@ /* cptable.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W100 */ -var cptable = {version:"1.9.0"}; +var cptable = {version:"1.10.0"}; cptable[37] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ¢.<(+|&éêëèíîïìß!$*);¬-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[500] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ[.<(+!&éêëèíîïìß]$*);^-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®¢£¥·©§¶¼½¾¬|¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); diff --git a/misc/flow.js b/misc/flow.js index bcd3d7d..32beb08 100644 --- a/misc/flow.js +++ b/misc/flow.js @@ -1,14 +1,28 @@ /*:: +type EMap = {[e:string]:number}; +type DMap = Array; +type CPEntry = {enc:EMap, dec:DMap}; + +type Data = string | Array | Buffer; +type StrData = string | Array | Buffer; +type OutType = Data; + +type CPIndex = number|string; + type CPTable = { - [key: string|number]:any; + [key: CPIndex]:CPEntry; utils:{ decode:any; - encode:any; - hascp:any; + encode(cp:CPIndex, data:StrData, ofmt:?string):OutType; + hascp(cp:number):boolean; magic:any; cache:any; }; }; declare var cptable: CPTable; + +declare module './cptable' { + declare var exports: CPTable; +} */ diff --git a/misc/flowdeps.js b/misc/flowdeps.js index 9cdb1ee..b505490 100644 --- a/misc/flowdeps.js +++ b/misc/flowdeps.js @@ -7,4 +7,7 @@ declare module 'codepage' { declare var exports:CPTable; }; declare module '../' { declare var exports:CPTable; }; declare module 'commander' { declare var exports:any; }; + +type CPTableType = { [i:CPIndex]:CPEntry; }; +declare module './cptable' { declare var exports:CPTableType; }; */ diff --git a/package.json b/package.json index 0977162..8eaca21 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codepage", - "version": "1.9.0", + "version": "1.10.0", "author": "SheetJS", "description": "pure-JS library to handle codepages", "keywords": [ "codepage", "iconv", "convert", "strings" ], @@ -17,13 +17,13 @@ ], "main": "cputils.js", "dependencies": { - "voc":"", - "concat-stream":"", - "exit-on-epipe":"", - "commander":"" + "voc":"~1.0.0", + "concat-stream":"~1.6.0", + "exit-on-epipe":"~1.0.1", + "commander":"~2.11.0" }, "devDependencies": { - "mocha":"" + "mocha":"~2.5.3" }, "repository": { "type":"git", "url":"git://github.com/SheetJS/js-codepage.git"}, "scripts": { diff --git a/sbcs.js b/sbcs.js index c0ab800..e55680c 100644 --- a/sbcs.js +++ b/sbcs.js @@ -1,6 +1,6 @@ /* sbcs.js (C) 2013-present SheetJS -- http://sheetjs.com */ /*jshint -W100 */ -var cptable = {version:"1.9.0"}; +var cptable = {version:"1.10.0"}; cptable[37] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ¢.<(+|&éêëèíîïìß!$*);¬-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®^£¥·©§¶¼½¾[]¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[500] = (function(){ var d = "\u0000\u0001\u0002\u0003œ\t†—Ž\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013…\b‡\u0018\u0019’\u001c\u001d\u001e\u001f€‚ƒ„\n\u0017\u001bˆ‰Š‹Œ\u0005\u0006\u0007‘\u0016“”•–\u0004˜™š›\u0014\u0015ž\u001a  âäàáãåçñ[.<(+!&éêëèíîïìß]$*);^-/ÂÄÀÁÃÅÇѦ,%_>?øÉÊËÈÍÎÏÌ`:#@'=\"Øabcdefghi«»ðýþ±°jklmnopqrªºæ¸Æ¤µ~stuvwxyz¡¿ÐÝÞ®¢£¥·©§¶¼½¾¬|¯¨´×{ABCDEFGHI­ôöòóõ}JKLMNOPQR¹ûüùúÿ\\÷STUVWXYZ²ÔÖÒÓÕ0123456789³ÛÜÙڟ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })();