style-xlsx-m 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/LICENSE +201 -0
  3. package/README.md +145 -0
  4. package/bin/xlsx.njs +310 -0
  5. package/bower.json +22 -0
  6. package/dist/LICENSE +201 -0
  7. package/dist/cpexcel.full.mjs +1502 -0
  8. package/dist/cpexcel.js +1506 -0
  9. package/dist/shim.min.js +2 -0
  10. package/dist/xlsx.core.min.js +15 -0
  11. package/dist/xlsx.core.min.map +1 -0
  12. package/dist/xlsx.extendscript.js +24642 -0
  13. package/dist/xlsx.full.min.js +22 -0
  14. package/dist/xlsx.full.min.map +1 -0
  15. package/dist/xlsx.mini.min.js +9 -0
  16. package/dist/xlsx.mini.min.map +1 -0
  17. package/dist/xlsx.zahl.js +4 -0
  18. package/dist/xlsx.zahl.mjs +2 -0
  19. package/package.json +101 -0
  20. package/types/index.d.ts +900 -0
  21. package/types/tsconfig.json +15 -0
  22. package/xlsx-js-style/LICENSE +201 -0
  23. package/xlsx-js-style/bin/xlsx.njs +284 -0
  24. package/xlsx-js-style/dist/LICENSE +201 -0
  25. package/xlsx-js-style/dist/cpexcel.full.mjs +1502 -0
  26. package/xlsx-js-style/dist/cpexcel.js +1506 -0
  27. package/xlsx-js-style/dist/shim.min.js +2 -0
  28. package/xlsx-js-style/dist/xlsx.bundle.js +3 -0
  29. package/xlsx-js-style/dist/xlsx.bundle.js.map +1 -0
  30. package/xlsx-js-style/dist/xlsx.min.js +3 -0
  31. package/xlsx-js-style/dist/xlsx.min.js.map +1 -0
  32. package/xlsx-js-style/node_modules/.bin/adler32 +12 -0
  33. package/xlsx-js-style/node_modules/.bin/adler32.cmd +17 -0
  34. package/xlsx-js-style/node_modules/.bin/adler32.ps1 +28 -0
  35. package/xlsx-js-style/node_modules/.bin/codepage +12 -0
  36. package/xlsx-js-style/node_modules/.bin/codepage.cmd +17 -0
  37. package/xlsx-js-style/node_modules/.bin/codepage.ps1 +28 -0
  38. package/xlsx-js-style/node_modules/adler-32/LICENSE +14 -0
  39. package/xlsx-js-style/node_modules/adler-32/README.md +139 -0
  40. package/xlsx-js-style/node_modules/adler-32/adler32.js +92 -0
  41. package/xlsx-js-style/node_modules/adler-32/bin/adler32.njs +87 -0
  42. package/xlsx-js-style/node_modules/adler-32/package.json +42 -0
  43. package/xlsx-js-style/node_modules/adler-32/types/index.d.ts +14 -0
  44. package/xlsx-js-style/node_modules/adler-32/types/tsconfig.json +14 -0
  45. package/xlsx-js-style/node_modules/adler-32/types/tslint.json +11 -0
  46. package/xlsx-js-style/node_modules/codepage/LICENSE +14 -0
  47. package/xlsx-js-style/node_modules/codepage/README.md +347 -0
  48. package/xlsx-js-style/node_modules/codepage/bin/codepage.njs +98 -0
  49. package/xlsx-js-style/node_modules/codepage/bits/10000.js +2 -0
  50. package/xlsx-js-style/node_modules/codepage/bits/10001.js +115 -0
  51. package/xlsx-js-style/node_modules/codepage/bits/10002.js +253 -0
  52. package/xlsx-js-style/node_modules/codepage/bits/10003.js +183 -0
  53. package/xlsx-js-style/node_modules/codepage/bits/10004.js +2 -0
  54. package/xlsx-js-style/node_modules/codepage/bits/10005.js +2 -0
  55. package/xlsx-js-style/node_modules/codepage/bits/10006.js +2 -0
  56. package/xlsx-js-style/node_modules/codepage/bits/10007.js +2 -0
  57. package/xlsx-js-style/node_modules/codepage/bits/10008.js +167 -0
  58. package/xlsx-js-style/node_modules/codepage/bits/10010.js +2 -0
  59. package/xlsx-js-style/node_modules/codepage/bits/10017.js +2 -0
  60. package/xlsx-js-style/node_modules/codepage/bits/10021.js +2 -0
  61. package/xlsx-js-style/node_modules/codepage/bits/10029.js +2 -0
  62. package/xlsx-js-style/node_modules/codepage/bits/10079.js +2 -0
  63. package/xlsx-js-style/node_modules/codepage/bits/10081.js +2 -0
  64. package/xlsx-js-style/node_modules/codepage/bits/10082.js +2 -0
  65. package/xlsx-js-style/node_modules/codepage/bits/1010.js +2 -0
  66. package/xlsx-js-style/node_modules/codepage/bits/1026.js +2 -0
  67. package/xlsx-js-style/node_modules/codepage/bits/1047.js +2 -0
  68. package/xlsx-js-style/node_modules/codepage/bits/1132.js +2 -0
  69. package/xlsx-js-style/node_modules/codepage/bits/1140.js +2 -0
  70. package/xlsx-js-style/node_modules/codepage/bits/1141.js +2 -0
  71. package/xlsx-js-style/node_modules/codepage/bits/1142.js +2 -0
  72. package/xlsx-js-style/node_modules/codepage/bits/1143.js +2 -0
  73. package/xlsx-js-style/node_modules/codepage/bits/1144.js +2 -0
  74. package/xlsx-js-style/node_modules/codepage/bits/1145.js +2 -0
  75. package/xlsx-js-style/node_modules/codepage/bits/1146.js +2 -0
  76. package/xlsx-js-style/node_modules/codepage/bits/1147.js +2 -0
  77. package/xlsx-js-style/node_modules/codepage/bits/1148.js +2 -0
  78. package/xlsx-js-style/node_modules/codepage/bits/1149.js +2 -0
  79. package/xlsx-js-style/node_modules/codepage/bits/1250.js +2 -0
  80. package/xlsx-js-style/node_modules/codepage/bits/1251.js +2 -0
  81. package/xlsx-js-style/node_modules/codepage/bits/1252.js +2 -0
  82. package/xlsx-js-style/node_modules/codepage/bits/1253.js +2 -0
  83. package/xlsx-js-style/node_modules/codepage/bits/1254.js +2 -0
  84. package/xlsx-js-style/node_modules/codepage/bits/1255.js +2 -0
  85. package/xlsx-js-style/node_modules/codepage/bits/1256.js +2 -0
  86. package/xlsx-js-style/node_modules/codepage/bits/1257.js +2 -0
  87. package/xlsx-js-style/node_modules/codepage/bits/1258.js +2 -0
  88. package/xlsx-js-style/node_modules/codepage/bits/1361.js +231 -0
  89. package/xlsx-js-style/node_modules/codepage/bits/20000.js +193 -0
  90. package/xlsx-js-style/node_modules/codepage/bits/20001.js +217 -0
  91. package/xlsx-js-style/node_modules/codepage/bits/20002.js +167 -0
  92. package/xlsx-js-style/node_modules/codepage/bits/20003.js +213 -0
  93. package/xlsx-js-style/node_modules/codepage/bits/20004.js +193 -0
  94. package/xlsx-js-style/node_modules/codepage/bits/20005.js +223 -0
  95. package/xlsx-js-style/node_modules/codepage/bits/20105.js +2 -0
  96. package/xlsx-js-style/node_modules/codepage/bits/20106.js +2 -0
  97. package/xlsx-js-style/node_modules/codepage/bits/20107.js +2 -0
  98. package/xlsx-js-style/node_modules/codepage/bits/20108.js +2 -0
  99. package/xlsx-js-style/node_modules/codepage/bits/20261.js +31 -0
  100. package/xlsx-js-style/node_modules/codepage/bits/20269.js +2 -0
  101. package/xlsx-js-style/node_modules/codepage/bits/20273.js +2 -0
  102. package/xlsx-js-style/node_modules/codepage/bits/20277.js +2 -0
  103. package/xlsx-js-style/node_modules/codepage/bits/20278.js +2 -0
  104. package/xlsx-js-style/node_modules/codepage/bits/20280.js +2 -0
  105. package/xlsx-js-style/node_modules/codepage/bits/20284.js +2 -0
  106. package/xlsx-js-style/node_modules/codepage/bits/20285.js +2 -0
  107. package/xlsx-js-style/node_modules/codepage/bits/20290.js +2 -0
  108. package/xlsx-js-style/node_modules/codepage/bits/20297.js +2 -0
  109. package/xlsx-js-style/node_modules/codepage/bits/20420.js +2 -0
  110. package/xlsx-js-style/node_modules/codepage/bits/20423.js +2 -0
  111. package/xlsx-js-style/node_modules/codepage/bits/20424.js +2 -0
  112. package/xlsx-js-style/node_modules/codepage/bits/20833.js +2 -0
  113. package/xlsx-js-style/node_modules/codepage/bits/20838.js +2 -0
  114. package/xlsx-js-style/node_modules/codepage/bits/20866.js +2 -0
  115. package/xlsx-js-style/node_modules/codepage/bits/20871.js +2 -0
  116. package/xlsx-js-style/node_modules/codepage/bits/20880.js +2 -0
  117. package/xlsx-js-style/node_modules/codepage/bits/20905.js +2 -0
  118. package/xlsx-js-style/node_modules/codepage/bits/20924.js +2 -0
  119. package/xlsx-js-style/node_modules/codepage/bits/20932.js +189 -0
  120. package/xlsx-js-style/node_modules/codepage/bits/20936.js +167 -0
  121. package/xlsx-js-style/node_modules/codepage/bits/20949.js +183 -0
  122. package/xlsx-js-style/node_modules/codepage/bits/21025.js +2 -0
  123. package/xlsx-js-style/node_modules/codepage/bits/21027.js +2 -0
  124. package/xlsx-js-style/node_modules/codepage/bits/21866.js +2 -0
  125. package/xlsx-js-style/node_modules/codepage/bits/28591.js +2 -0
  126. package/xlsx-js-style/node_modules/codepage/bits/28592.js +2 -0
  127. package/xlsx-js-style/node_modules/codepage/bits/28593.js +2 -0
  128. package/xlsx-js-style/node_modules/codepage/bits/28594.js +2 -0
  129. package/xlsx-js-style/node_modules/codepage/bits/28595.js +2 -0
  130. package/xlsx-js-style/node_modules/codepage/bits/28596.js +2 -0
  131. package/xlsx-js-style/node_modules/codepage/bits/28597.js +2 -0
  132. package/xlsx-js-style/node_modules/codepage/bits/28598.js +2 -0
  133. package/xlsx-js-style/node_modules/codepage/bits/28599.js +2 -0
  134. package/xlsx-js-style/node_modules/codepage/bits/28600.js +2 -0
  135. package/xlsx-js-style/node_modules/codepage/bits/28601.js +2 -0
  136. package/xlsx-js-style/node_modules/codepage/bits/28603.js +2 -0
  137. package/xlsx-js-style/node_modules/codepage/bits/28604.js +2 -0
  138. package/xlsx-js-style/node_modules/codepage/bits/28605.js +2 -0
  139. package/xlsx-js-style/node_modules/codepage/bits/28606.js +2 -0
  140. package/xlsx-js-style/node_modules/codepage/bits/29001.js +2 -0
  141. package/xlsx-js-style/node_modules/codepage/bits/37.js +2 -0
  142. package/xlsx-js-style/node_modules/codepage/bits/38598.js +2 -0
  143. package/xlsx-js-style/node_modules/codepage/bits/437.js +2 -0
  144. package/xlsx-js-style/node_modules/codepage/bits/47451.js +2 -0
  145. package/xlsx-js-style/node_modules/codepage/bits/500.js +2 -0
  146. package/xlsx-js-style/node_modules/codepage/bits/50220.js +395 -0
  147. package/xlsx-js-style/node_modules/codepage/bits/50221.js +395 -0
  148. package/xlsx-js-style/node_modules/codepage/bits/50222.js +395 -0
  149. package/xlsx-js-style/node_modules/codepage/bits/50225.js +259 -0
  150. package/xlsx-js-style/node_modules/codepage/bits/50227.js +257 -0
  151. package/xlsx-js-style/node_modules/codepage/bits/51932.js +171 -0
  152. package/xlsx-js-style/node_modules/codepage/bits/51936.js +257 -0
  153. package/xlsx-js-style/node_modules/codepage/bits/51949.js +183 -0
  154. package/xlsx-js-style/node_modules/codepage/bits/52936.js +7 -0
  155. package/xlsx-js-style/node_modules/codepage/bits/54936.js +257 -0
  156. package/xlsx-js-style/node_modules/codepage/bits/57002.js +39 -0
  157. package/xlsx-js-style/node_modules/codepage/bits/57003.js +23 -0
  158. package/xlsx-js-style/node_modules/codepage/bits/57004.js +7 -0
  159. package/xlsx-js-style/node_modules/codepage/bits/57005.js +15 -0
  160. package/xlsx-js-style/node_modules/codepage/bits/57006.js +23 -0
  161. package/xlsx-js-style/node_modules/codepage/bits/57007.js +21 -0
  162. package/xlsx-js-style/node_modules/codepage/bits/57008.js +17 -0
  163. package/xlsx-js-style/node_modules/codepage/bits/57009.js +13 -0
  164. package/xlsx-js-style/node_modules/codepage/bits/57010.js +15 -0
  165. package/xlsx-js-style/node_modules/codepage/bits/57011.js +17 -0
  166. package/xlsx-js-style/node_modules/codepage/bits/620.js +2 -0
  167. package/xlsx-js-style/node_modules/codepage/bits/708.js +2 -0
  168. package/xlsx-js-style/node_modules/codepage/bits/720.js +2 -0
  169. package/xlsx-js-style/node_modules/codepage/bits/737.js +2 -0
  170. package/xlsx-js-style/node_modules/codepage/bits/775.js +2 -0
  171. package/xlsx-js-style/node_modules/codepage/bits/808.js +2 -0
  172. package/xlsx-js-style/node_modules/codepage/bits/850.js +2 -0
  173. package/xlsx-js-style/node_modules/codepage/bits/852.js +2 -0
  174. package/xlsx-js-style/node_modules/codepage/bits/855.js +2 -0
  175. package/xlsx-js-style/node_modules/codepage/bits/857.js +2 -0
  176. package/xlsx-js-style/node_modules/codepage/bits/858.js +2 -0
  177. package/xlsx-js-style/node_modules/codepage/bits/860.js +2 -0
  178. package/xlsx-js-style/node_modules/codepage/bits/861.js +2 -0
  179. package/xlsx-js-style/node_modules/codepage/bits/862.js +2 -0
  180. package/xlsx-js-style/node_modules/codepage/bits/863.js +2 -0
  181. package/xlsx-js-style/node_modules/codepage/bits/864.js +2 -0
  182. package/xlsx-js-style/node_modules/codepage/bits/865.js +2 -0
  183. package/xlsx-js-style/node_modules/codepage/bits/866.js +2 -0
  184. package/xlsx-js-style/node_modules/codepage/bits/869.js +2 -0
  185. package/xlsx-js-style/node_modules/codepage/bits/870.js +2 -0
  186. package/xlsx-js-style/node_modules/codepage/bits/872.js +2 -0
  187. package/xlsx-js-style/node_modules/codepage/bits/874.js +2 -0
  188. package/xlsx-js-style/node_modules/codepage/bits/875.js +2 -0
  189. package/xlsx-js-style/node_modules/codepage/bits/895.js +2 -0
  190. package/xlsx-js-style/node_modules/codepage/bits/932.js +95 -0
  191. package/xlsx-js-style/node_modules/codepage/bits/936.js +257 -0
  192. package/xlsx-js-style/node_modules/codepage/bits/949.js +253 -0
  193. package/xlsx-js-style/node_modules/codepage/bits/950.js +179 -0
  194. package/xlsx-js-style/node_modules/codepage/cptable.js +6347 -0
  195. package/xlsx-js-style/node_modules/codepage/cputils.js +528 -0
  196. package/xlsx-js-style/node_modules/codepage/dist/LICENSE +14 -0
  197. package/xlsx-js-style/node_modules/codepage/dist/cpexcel.full.js +1505 -0
  198. package/xlsx-js-style/node_modules/codepage/dist/cputils.js +528 -0
  199. package/xlsx-js-style/node_modules/codepage/dist/sbcs.full.js +639 -0
  200. package/xlsx-js-style/node_modules/codepage/node_modules/commander/CHANGELOG.md +350 -0
  201. package/xlsx-js-style/node_modules/codepage/node_modules/commander/LICENSE +22 -0
  202. package/xlsx-js-style/node_modules/codepage/node_modules/commander/Readme.md +408 -0
  203. package/xlsx-js-style/node_modules/codepage/node_modules/commander/index.js +1157 -0
  204. package/xlsx-js-style/node_modules/codepage/node_modules/commander/package.json +37 -0
  205. package/xlsx-js-style/node_modules/codepage/node_modules/commander/typings/index.d.ts +309 -0
  206. package/xlsx-js-style/node_modules/codepage/package.json +67 -0
  207. package/xlsx-js-style/node_modules/codepage/types/index.d.ts +39 -0
  208. package/xlsx-js-style/node_modules/codepage/types/tsconfig.json +14 -0
  209. package/xlsx-js-style/node_modules/codepage/types/tslint.json +11 -0
  210. package/xlsx-js-style/package.json +90 -0
  211. package/xlsx-js-style/types/index.d.ts +1065 -0
  212. package/xlsx-js-style/types/tsconfig.json +15 -0
  213. package/xlsx.js +24711 -0
  214. package/xlsx.mjs +24597 -0
  215. package/xlsxworker.js +14 -0
@@ -0,0 +1,528 @@
1
+ /* cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
2
+ /* vim: set ft=javascript: */
3
+ /*jshint newcap: false */
4
+ (function(root, factory) {
5
+ /*jshint ignore:start */
6
+ /*eslint-disable */
7
+ "use strict";
8
+ if(typeof cptable === "undefined") {
9
+ if(typeof require !== "undefined"){
10
+ var cpt = require('./cptable');
11
+ if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);
12
+ else root.cptable = factory(cpt);
13
+ } else throw new Error("cptable not found");
14
+ } else cptable = factory(cptable);
15
+ /*eslint-enable */
16
+ /*jshint ignore:end */
17
+ }(this, function(cpt){
18
+ "use strict";
19
+ /*global module, Buffer */
20
+ var magic = {
21
+ "1200":"utf16le",
22
+ "1201":"utf16be",
23
+ "12000":"utf32le",
24
+ "12001":"utf32be",
25
+ "16969":"utf64le",
26
+ "20127":"ascii",
27
+ "65000":"utf7",
28
+ "65001":"utf8"
29
+ };
30
+
31
+ var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];
32
+ var dbcs_cache = [932,936,949,950];
33
+ var magic_cache = [65001];
34
+ var magic_decode = {};
35
+ var magic_encode = {};
36
+ var cpdcache = {};
37
+ var cpecache = {};
38
+
39
+ var sfcc = function sfcc(x) { return String.fromCharCode(x); };
40
+ var cca = function cca(x) { return x.charCodeAt(0); };
41
+
42
+ var has_buf = (typeof Buffer !== 'undefined');
43
+ var Buffer_from = function(){};
44
+ if(has_buf) {
45
+ var nbfs = !Buffer.from;
46
+ if(!nbfs) try { Buffer.from("foo", "utf8"); } catch(e) { nbfs = true; }
47
+ Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);
48
+ // $FlowIgnore
49
+ if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };
50
+
51
+ var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);
52
+ var make_EE = function make_EE(E){
53
+ var EE = Buffer.allocUnsafe(65536);
54
+ for(var i = 0; i < 65536;++i) EE[i] = 0;
55
+ var keys = Object.keys(E), len = keys.length;
56
+ for(var ee = 0, e = keys[ee]; ee < len; ++ee) {
57
+ if(!(e = keys[ee])) continue;
58
+ EE[e.charCodeAt(0)] = E[e];
59
+ }
60
+ return EE;
61
+ };
62
+ var sbcs_encode = function make_sbcs_encode(cp) {
63
+ var EE = make_EE(cpt[cp].enc);
64
+ return function sbcs_e(data, ofmt) {
65
+ var len = data.length;
66
+ var out, i=0, j=0, D=0, w=0;
67
+ if(typeof data === 'string') {
68
+ out = Buffer.allocUnsafe(len);
69
+ for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];
70
+ } else if(Buffer.isBuffer(data)) {
71
+ out = Buffer.allocUnsafe(2*len);
72
+ j = 0;
73
+ for(i = 0; i < len; ++i) {
74
+ D = data[i];
75
+ if(D < 128) out[j++] = EE[D];
76
+ else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }
77
+ else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }
78
+ else {
79
+ w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;
80
+ if(w < 65536) out[j++] = EE[w];
81
+ else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }
82
+ }
83
+ }
84
+ out = out.slice(0,j);
85
+ } else {
86
+ out = Buffer.allocUnsafe(len);
87
+ for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];
88
+ }
89
+ if(!ofmt || ofmt === 'buf') return out;
90
+ if(ofmt !== 'arr') return out.toString('binary');
91
+ return [].slice.call(out);
92
+ };
93
+ };
94
+ var sbcs_decode = function make_sbcs_decode(cp) {
95
+ var D = cpt[cp].dec;
96
+ var DD = Buffer.allocUnsafe(131072), d=0, c="";
97
+ for(d=0;d<D.length;++d) {
98
+ if(!(c=D[d])) continue;
99
+ var w = c.charCodeAt(0);
100
+ DD[2*d] = w&255; DD[2*d+1] = w>>8;
101
+ }
102
+ return function sbcs_d(data) {
103
+ var len = data.length, i=0, j=0;
104
+ if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }
105
+ if(Buffer.isBuffer(data)) {
106
+ for(i = 0; i < len; i++) {
107
+ j = 2*data[i];
108
+ mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];
109
+ }
110
+ } else if(typeof data === "string") {
111
+ for(i = 0; i < len; i++) {
112
+ j = 2*data.charCodeAt(i);
113
+ mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];
114
+ }
115
+ } else {
116
+ for(i = 0; i < len; i++) {
117
+ j = 2*data[i];
118
+ mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];
119
+ }
120
+ }
121
+ return mdb.slice(0, 2 * len).toString('ucs2');
122
+ };
123
+ };
124
+ var dbcs_encode = function make_dbcs_encode(cp) {
125
+ var E = cpt[cp].enc;
126
+ var EE = Buffer.allocUnsafe(131072);
127
+ for(var i = 0; i < 131072; ++i) EE[i] = 0;
128
+ var keys = Object.keys(E);
129
+ for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {
130
+ if(!(e = keys[ee])) continue;
131
+ var f = e.charCodeAt(0);
132
+ EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;
133
+ }
134
+ return function dbcs_e(data, ofmt) {
135
+ var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;
136
+ if(typeof data === 'string') {
137
+ for(i = k = 0; i < len; ++i) {
138
+ j = data.charCodeAt(i)*2;
139
+ out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];
140
+ }
141
+ out = out.slice(0,k);
142
+ } else if(Buffer.isBuffer(data)) {
143
+ for(i = k = 0; i < len; ++i) {
144
+ D = data[i];
145
+ if(D < 128) j = D;
146
+ else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }
147
+ else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }
148
+ else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }
149
+ if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }
150
+ else { jj = j-65536;
151
+ j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];
152
+ j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];
153
+ }
154
+ }
155
+ out = out.slice(0,k);
156
+ } else {
157
+ for(i = k = 0; i < len; i++) {
158
+ j = data[i].charCodeAt(0)*2;
159
+ out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];
160
+ }
161
+ }
162
+ if(!ofmt || ofmt === 'buf') return out;
163
+ if(ofmt !== 'arr') return out.toString('binary');
164
+ return [].slice.call(out);
165
+ };
166
+ };
167
+ var dbcs_decode = function make_dbcs_decode(cp) {
168
+ var D = cpt[cp].dec;
169
+ var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;
170
+ for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}
171
+ for(d = 0; d < D.length; ++d) {
172
+ if(!(c=D[d])) continue;
173
+ w = c.charCodeAt(0);
174
+ j = 2*d;
175
+ DD[j] = w&255; DD[j+1] = w>>8;
176
+ }
177
+ return function dbcs_d(data) {
178
+ var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;
179
+ if(Buffer.isBuffer(data)) {
180
+ for(i = 0; i < len; i++) {
181
+ j = 2*data[i];
182
+ if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }
183
+ out[k++] = DD[j]; out[k++] = DD[j+1];
184
+ }
185
+ } else if(typeof data === "string") {
186
+ for(i = 0; i < len; i++) {
187
+ j = 2*data.charCodeAt(i);
188
+ if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }
189
+ out[k++] = DD[j]; out[k++] = DD[j+1];
190
+ }
191
+ } else {
192
+ for(i = 0; i < len; i++) {
193
+ j = 2*data[i];
194
+ if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }
195
+ out[k++] = DD[j]; out[k++] = DD[j+1];
196
+ }
197
+ }
198
+ return out.slice(0,k).toString('ucs2');
199
+ };
200
+ };
201
+ magic_decode[65001] = function utf8_d(data) {
202
+ if(typeof data === "string") return utf8_d(data.split("").map(cca));
203
+ var len = data.length, w = 0, ww = 0;
204
+ if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }
205
+ var i = 0;
206
+ if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;
207
+ for(var j = 1, k = 0, D = 0; i < len; i+=j) {
208
+ j = 1; D = data[i];
209
+ if(D < 128) w = D;
210
+ else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }
211
+ else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }
212
+ else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }
213
+ if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }
214
+ else {
215
+ w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);
216
+ mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;
217
+ }
218
+ }
219
+ return mdb.slice(0,k).toString('ucs2');
220
+ };
221
+ magic_encode[65001] = function utf8_e(data, ofmt) {
222
+ if(has_buf && Buffer.isBuffer(data)) {
223
+ if(!ofmt || ofmt === 'buf') return data;
224
+ if(ofmt !== 'arr') return data.toString('binary');
225
+ return [].slice.call(data);
226
+ }
227
+ var len = data.length, w = 0, ww = 0, j = 0;
228
+ var direct = typeof data === "string";
229
+ if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }
230
+ for(var i = 0; i < len; ++i) {
231
+ w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);
232
+ if(w <= 0x007F) mdb[j++] = w;
233
+ else if(w <= 0x07FF) {
234
+ mdb[j++] = 192 + (w >> 6);
235
+ mdb[j++] = 128 + (w&63);
236
+ } else if(w >= 0xD800 && w <= 0xDFFF) {
237
+ w -= 0xD800; ++i;
238
+ ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);
239
+ mdb[j++] = 240 + ((ww>>>18) & 0x07);
240
+ mdb[j++] = 144 + ((ww>>>12) & 0x3F);
241
+ mdb[j++] = 128 + ((ww>>>6) & 0x3F);
242
+ mdb[j++] = 128 + (ww & 0x3F);
243
+ } else {
244
+ mdb[j++] = 224 + (w >> 12);
245
+ mdb[j++] = 128 + ((w >> 6)&63);
246
+ mdb[j++] = 128 + (w&63);
247
+ }
248
+ }
249
+ if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);
250
+ if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');
251
+ return [].slice.call(mdb, 0, j);
252
+ };
253
+ }
254
+
255
+ var encache = function encache() {
256
+ if(has_buf) {
257
+ if(cpdcache[sbcs_cache[0]]) return;
258
+ var i=0, s=0;
259
+ for(i = 0; i < sbcs_cache.length; ++i) {
260
+ s = sbcs_cache[i];
261
+ if(cpt[s]) {
262
+ cpdcache[s] = sbcs_decode(s);
263
+ cpecache[s] = sbcs_encode(s);
264
+ }
265
+ }
266
+ for(i = 0; i < dbcs_cache.length; ++i) {
267
+ s = dbcs_cache[i];
268
+ if(cpt[s]) {
269
+ cpdcache[s] = dbcs_decode(s);
270
+ cpecache[s] = dbcs_encode(s);
271
+ }
272
+ }
273
+ for(i = 0; i < magic_cache.length; ++i) {
274
+ s = magic_cache[i];
275
+ if(magic_decode[s]) cpdcache[s] = magic_decode[s];
276
+ if(magic_encode[s]) cpecache[s] = magic_encode[s];
277
+ }
278
+ }
279
+ };
280
+ var null_enc = function(data, ofmt) { void ofmt; return ""; };
281
+ var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };
282
+ var decache = function decache() {
283
+ if(has_buf) {
284
+ if(!cpdcache[sbcs_cache[0]]) return;
285
+ sbcs_cache.forEach(cp_decache);
286
+ dbcs_cache.forEach(cp_decache);
287
+ magic_cache.forEach(cp_decache);
288
+ }
289
+ last_enc = null_enc; last_cp = 0;
290
+ };
291
+ var cache = {
292
+ encache: encache,
293
+ decache: decache,
294
+ sbcs: sbcs_cache,
295
+ dbcs: dbcs_cache
296
+ };
297
+
298
+ encache();
299
+
300
+ var BM = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
301
+ var SetD = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?";
302
+ var last_enc = null_enc, last_cp = 0;
303
+ var encode = function encode(cp, data, ofmt) {
304
+ if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }
305
+ if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }
306
+ if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');
307
+ var len = data.length;
308
+ var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;
309
+ var C = cpt[cp], E, M = "";
310
+ var isstr = typeof data === 'string';
311
+ if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {
312
+ w = E[isstr? data.charAt(i) : data[i]];
313
+ if(w > 255) {
314
+ out[j] = w>>8;
315
+ out[++j] = w&255;
316
+ } else out[j] = w&255;
317
+ }
318
+ else if((M=magic[cp])) switch(M) {
319
+ case "utf8":
320
+ if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }
321
+ for(i = 0; i < len; ++i, ++j) {
322
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
323
+ if(w <= 0x007F) out[j] = w;
324
+ else if(w <= 0x07FF) {
325
+ out[j] = 192 + (w >> 6);
326
+ out[++j] = 128 + (w&63);
327
+ } else if(w >= 0xD800 && w <= 0xDFFF) {
328
+ w -= 0xD800;
329
+ ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);
330
+ out[j] = 240 + ((ww>>>18) & 0x07);
331
+ out[++j] = 144 + ((ww>>>12) & 0x3F);
332
+ out[++j] = 128 + ((ww>>>6) & 0x3F);
333
+ out[++j] = 128 + (ww & 0x3F);
334
+ } else {
335
+ out[j] = 224 + (w >> 12);
336
+ out[++j] = 128 + ((w >> 6)&63);
337
+ out[++j] = 128 + (w&63);
338
+ }
339
+ }
340
+ break;
341
+ case "ascii":
342
+ if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; }
343
+ for(i = 0; i < len; ++i, ++j) {
344
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
345
+ if(w <= 0x007F) out[j] = w;
346
+ else throw new Error("bad ascii " + w);
347
+ }
348
+ break;
349
+ case "utf16le":
350
+ if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; }
351
+ for(i = 0; i < len; ++i) {
352
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
353
+ out[j++] = w&255;
354
+ out[j++] = w>>8;
355
+ }
356
+ break;
357
+ case "utf16be":
358
+ for(i = 0; i < len; ++i) {
359
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
360
+ out[j++] = w>>8;
361
+ out[j++] = w&255;
362
+ }
363
+ break;
364
+ case "utf32le":
365
+ for(i = 0; i < len; ++i) {
366
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
367
+ if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);
368
+ out[j++] = w&255; w >>= 8;
369
+ out[j++] = w&255; w >>= 8;
370
+ out[j++] = w&255; w >>= 8;
371
+ out[j++] = w&255;
372
+ }
373
+ break;
374
+ case "utf32be":
375
+ for(i = 0; i < len; ++i) {
376
+ w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
377
+ if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);
378
+ out[j+3] = w&255; w >>= 8;
379
+ out[j+2] = w&255; w >>= 8;
380
+ out[j+1] = w&255; w >>= 8;
381
+ out[j] = w&255;
382
+ j+=4;
383
+ }
384
+ break;
385
+ case "utf7":
386
+ for(i = 0; i < len; i++) {
387
+ var c = isstr ? data.charAt(i) : data[i].charAt(0);
388
+ if(c === "+") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }
389
+ if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }
390
+ var tt = encode(1201, c);
391
+ out[j++] = 0x2b;
392
+ out[j++] = BM.charCodeAt(tt[0]>>2);
393
+ out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));
394
+ out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));
395
+ out[j++] = 0x2d;
396
+ }
397
+ break;
398
+ default: throw new Error("Unsupported magic: " + cp + " " + magic[cp]);
399
+ }
400
+ else throw new Error("Unrecognized CP: " + cp);
401
+ out = out.slice(0,j);
402
+ if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join("") : out;
403
+ if(!ofmt || ofmt === 'buf') return out;
404
+ if(ofmt !== 'arr') return out.toString('binary');
405
+ return [].slice.call(out);
406
+ };
407
+ var decode = function decode(cp, data) {
408
+ var F; if((F=cpdcache[cp])) return F(data);
409
+ if(typeof data === "string") return decode(cp, data.split("").map(cca));
410
+ var len = data.length, out = new Array(len), s="", w=0, i=0, j=1, k=0, ww=0;
411
+ var C = cpt[cp], D, M="";
412
+ if(C && (D=C.dec)) {
413
+ for(i = 0; i < len; i+=j) {
414
+ j = 2;
415
+ s = D[(data[i]<<8)+ data[i+1]];
416
+ if(!s) {
417
+ j = 1;
418
+ s = D[data[i]];
419
+ }
420
+ if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);
421
+ out[k++] = s;
422
+ }
423
+ }
424
+ else if((M=magic[cp])) switch(M) {
425
+ case "utf8":
426
+ if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;
427
+ for(; i < len; i+=j) {
428
+ j = 1;
429
+ if(data[i] < 128) w = data[i];
430
+ else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }
431
+ else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }
432
+ else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }
433
+ if(w < 65536) { out[k++] = String.fromCharCode(w); }
434
+ else {
435
+ w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);
436
+ out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);
437
+ }
438
+ }
439
+ break;
440
+ case "ascii":
441
+ if(has_buf && Buffer.isBuffer(data)) return data.toString(M);
442
+ for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);
443
+ k = len; break;
444
+ case "utf16le":
445
+ if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;
446
+ if(has_buf && Buffer.isBuffer(data)) return data.toString(M);
447
+ j = 2;
448
+ for(; i+1 < len; i+=j) {
449
+ out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);
450
+ }
451
+ break;
452
+ case "utf16be":
453
+ if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;
454
+ j = 2;
455
+ for(; i+1 < len; i+=j) {
456
+ out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);
457
+ }
458
+ break;
459
+ case "utf32le":
460
+ if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;
461
+ j = 4;
462
+ for(; i < len; i+=j) {
463
+ w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);
464
+ if(w > 0xFFFF) {
465
+ w -= 0x10000;
466
+ out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));
467
+ out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));
468
+ }
469
+ else out[k++] = String.fromCharCode(w);
470
+ }
471
+ break;
472
+ case "utf32be":
473
+ if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;
474
+ j = 4;
475
+ for(; i < len; i+=j) {
476
+ w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);
477
+ if(w > 0xFFFF) {
478
+ w -= 0x10000;
479
+ out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));
480
+ out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));
481
+ }
482
+ else out[k++] = String.fromCharCode(w);
483
+ }
484
+ break;
485
+ case "utf7":
486
+ if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {
487
+ if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;
488
+ else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;
489
+ }
490
+ for(; i < len; i+=j) {
491
+ if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }
492
+ j=1;
493
+ if(data[i+1] === 0x2d) { j = 2; out[k++] = "+"; continue; }
494
+ // eslint-disable-next-line no-useless-escape
495
+ while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\/]/)) j++;
496
+ var dash = 0;
497
+ if(data[i+j] === 0x2d) { ++j; dash=1; }
498
+ var tt = [];
499
+ var o64 = "";
500
+ var c1=0, c2=0, c3=0;
501
+ var e1=0, e2=0, e3=0, e4=0;
502
+ for(var l = 1; l < j - dash;) {
503
+ e1 = BM.indexOf(String.fromCharCode(data[i+l++]));
504
+ e2 = BM.indexOf(String.fromCharCode(data[i+l++]));
505
+ c1 = e1 << 2 | e2 >> 4;
506
+ tt.push(c1);
507
+ e3 = BM.indexOf(String.fromCharCode(data[i+l++]));
508
+ if(e3 === -1) break;
509
+ c2 = (e2 & 15) << 4 | e3 >> 2;
510
+ tt.push(c2);
511
+ e4 = BM.indexOf(String.fromCharCode(data[i+l++]));
512
+ if(e4 === -1) break;
513
+ c3 = (e3 & 3) << 6 | e4;
514
+ if(e4 < 64) tt.push(c3);
515
+ }
516
+ o64 = decode(1201, tt);
517
+ for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);
518
+ }
519
+ break;
520
+ default: throw new Error("Unsupported magic: " + cp + " " + magic[cp]);
521
+ }
522
+ else throw new Error("Unrecognized CP: " + cp);
523
+ return out.slice(0,k).join("");
524
+ };
525
+ var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };
526
+ cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };
527
+ return cpt;
528
+ }));