@mavogel/awscdk-rootmail 0.1.37 → 0.1.39

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 (94) hide show
  1. package/.jsii +9 -9
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/checksums/package.json +2 -2
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +3 -2
  6. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/runtimeConfig.js +2 -1
  7. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.d.ts +1 -0
  8. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
  9. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +3 -3
  10. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +3 -2
  11. package/node_modules/@aws-sdk/client-route-53/dist-es/runtimeConfig.js +2 -1
  12. package/node_modules/@aws-sdk/client-route-53/dist-types/runtimeConfig.d.ts +1 -0
  13. package/node_modules/@aws-sdk/client-route-53/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
  14. package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
  15. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
  16. package/node_modules/@aws-sdk/client-s3/dist-types/S3Client.d.ts +1 -1
  17. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/S3Client.d.ts +1 -1
  18. package/node_modules/@aws-sdk/client-s3/package.json +6 -6
  19. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +3 -2
  20. package/node_modules/@aws-sdk/client-ses/dist-es/runtimeConfig.js +2 -1
  21. package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.d.ts +1 -0
  22. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
  23. package/node_modules/@aws-sdk/client-ses/package.json +3 -3
  24. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +3 -2
  25. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeConfig.js +2 -1
  26. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.d.ts +1 -0
  27. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
  28. package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
  29. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +12 -0
  30. package/node_modules/@aws-sdk/core/dist-es/submodules/client/getDefaultSocketTimeout.js +10 -0
  31. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +1 -0
  32. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
  33. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +1 -0
  34. package/node_modules/@aws-sdk/core/dist-types/submodules/client/getDefaultSocketTimeout.d.ts +11 -0
  35. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +1 -0
  36. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
  37. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +1 -0
  38. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/getDefaultSocketTimeout.d.ts +4 -0
  39. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +1 -0
  40. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
  41. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +1 -0
  42. package/node_modules/@aws-sdk/core/package.json +1 -1
  43. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  44. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  45. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  46. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  47. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  48. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  49. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  50. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  51. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
  52. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +3 -2
  53. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +3 -2
  54. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +3 -2
  55. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +3 -2
  56. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +3 -2
  57. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +2 -1
  58. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +2 -1
  59. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +2 -1
  60. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +2 -1
  61. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +2 -1
  62. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  63. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -0
  64. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -0
  65. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  66. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -0
  67. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  68. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -0
  69. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -0
  70. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  71. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -0
  72. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  73. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  74. package/node_modules/@zone-eu/mailsplit/package.json +5 -5
  75. package/node_modules/encoding-japanese/README.md +10 -5
  76. package/node_modules/encoding-japanese/encoding.js +761 -3168
  77. package/node_modules/encoding-japanese/encoding.min.js +3 -3
  78. package/node_modules/encoding-japanese/index.d.ts +39 -25
  79. package/node_modules/encoding-japanese/package.json +6 -6
  80. package/node_modules/encoding-japanese/src/config.js +7 -33
  81. package/node_modules/encoding-japanese/src/encoding-convert.js +332 -279
  82. package/node_modules/encoding-japanese/src/encoding-table.js +108 -5
  83. package/node_modules/encoding-japanese/src/index.js +61 -49
  84. package/node_modules/encoding-japanese/src/utf8-to-jis-alias-table.js +3 -1
  85. package/node_modules/encoding-japanese/src/utf8-to-jis-table.js +91 -1492
  86. package/node_modules/encoding-japanese/src/utf8-to-jisx0212-table.js +76 -1220
  87. package/node_modules/encoding-japanese/src/util.js +70 -62
  88. package/node_modules/libmime/CHANGELOG.md +7 -0
  89. package/node_modules/libmime/package.json +6 -6
  90. package/node_modules/mailparser/CHANGELOG.md +7 -0
  91. package/node_modules/mailparser/package.json +8 -5
  92. package/package.json +10 -10
  93. package/node_modules/encoding-japanese/src/jis-to-utf8-table.js +0 -5
  94. package/node_modules/encoding-japanese/src/jisx0212-to-utf8-table.js +0 -5
@@ -1,5 +1,108 @@
1
- exports.UTF8_TO_JIS_TABLE = require('./utf8-to-jis-table');
2
- exports.UTF8_TO_JIS_ALIAS_TABLE = require('./utf8-to-jis-alias-table');
3
- exports.UTF8_TO_JISX0212_TABLE = require('./utf8-to-jisx0212-table');
4
- exports.JIS_TO_UTF8_TABLE = require('./jis-to-utf8-table');
5
- exports.JISX0212_TO_UTF8_TABLE = require('./jisx0212-to-utf8-table');
1
+ /**
2
+ * Conversion tables between UTF-8 and JIS
3
+ *
4
+ * The tables are stored in a compressed text format
5
+ * (see `src/utf8-to-jis-table.js`) and expanded into the *_TABLE objects.
6
+ */
7
+ var jisTableData = require('./utf8-to-jis-table');
8
+ var jisx0212TableData = require('./utf8-to-jisx0212-table');
9
+ var UTF8_TO_JIS_ALIAS_TABLE = require('./utf8-to-jis-alias-table');
10
+
11
+ var UTF8_TO_JIS_TABLE = {};
12
+ var JIS_TO_UTF8_TABLE = {};
13
+ var UTF8_TO_JISX0212_TABLE = {};
14
+ var JISX0212_TO_UTF8_TABLE = {};
15
+
16
+ // Unicode code point (BMP only) -> UTF-8 bytes packed into a number
17
+ // Same encoding as UNICODEToUTF8, but returns a number instead of an array
18
+ function toUTF8(c) {
19
+ if (c < 0x80) {
20
+ return c;
21
+ }
22
+ if (c < 0x800) {
23
+ return (0xC0 | (c >> 6)) << 8 |
24
+ (0x80 | (c & 0x3F));
25
+ }
26
+ return (0xE0 | (c >> 12)) << 16 |
27
+ (0x80 | ((c >> 6) & 0x3F)) << 8 |
28
+ (0x80 | (c & 0x3F));
29
+ }
30
+
31
+ /**
32
+ * Expand the compressed table data into the forward and reverse tables.
33
+ *
34
+ * Tokens are separated by ",":
35
+ * "LB=" start of lead byte 0xLB (hex): the trail byte restarts at 0x21
36
+ * "UUUU" Unicode code point (hex) for the current trail byte
37
+ * "UUUU+N" N consecutive code points starting at UUUU
38
+ * "-N" skip N trail bytes (unassigned)
39
+ *
40
+ * Example of compressed table data:
41
+ * '21=3000+3,ff0c,ff0e,30fb, ...' : lead byte 0x21
42
+ * '22=25c6,25a1,25a0,25b3,25b2, ...' : lead byte 0x22
43
+ * '23=-15,ff10+10,-7,ff21+26,-6, ...' : lead byte 0x23
44
+ */
45
+ function expandTable(data, utf8ToJisTable, jisToUtf8Table) {
46
+ var tokens = data.split(',');
47
+ var lead, trail, token, pos, cp, n, jis, utf8;
48
+
49
+ for (var i = 0, len = tokens.length; i < len; i++) {
50
+ token = tokens[i];
51
+
52
+ // The first token always contains "LB="
53
+ pos = token.indexOf('=');
54
+ if (pos !== -1) {
55
+ lead = parseInt(token.slice(0, pos), 16);
56
+ trail = 0x21; // the trail byte restarts at 0x21
57
+ token = token.slice(pos + 1);
58
+ }
59
+
60
+ if (token.charAt(0) === '-') {
61
+ // skip N trail bytes (e.g., "23=-15,ff10+10,-7, ...")
62
+ trail += parseInt(token.slice(1), 10);
63
+ continue;
64
+ }
65
+
66
+ // "UUUU" or "UUUU+N"
67
+ pos = token.indexOf('+');
68
+ if (pos === -1) {
69
+ cp = parseInt(token, 16);
70
+ n = 1;
71
+ } else {
72
+ cp = parseInt(token.slice(0, pos), 16);
73
+ n = parseInt(token.slice(pos + 1), 10);
74
+ }
75
+
76
+ while (n-- > 0) {
77
+ jis = (lead << 8) | trail++;
78
+ utf8 = toUTF8(cp++);
79
+ utf8ToJisTable[utf8] = jis;
80
+ jisToUtf8Table[jis] = utf8;
81
+ }
82
+ }
83
+ }
84
+
85
+ var expanded = false;
86
+
87
+ function initConversionTables() {
88
+ if (expanded) {
89
+ return;
90
+ }
91
+
92
+ expandTable(jisTableData, UTF8_TO_JIS_TABLE, JIS_TO_UTF8_TABLE);
93
+ expandTable(jisx0212TableData, UTF8_TO_JISX0212_TABLE, JISX0212_TO_UTF8_TABLE);
94
+
95
+ // Add Half-width katakana (not stored in the compressed data)
96
+ // U+FF61..U+FF9F -> 0x21..0x5F (forward table only)
97
+ for (var kana = 0xFF61, jisKana = 0x21; jisKana <= 0x5F; kana++, jisKana++) {
98
+ UTF8_TO_JIS_TABLE[toUTF8(kana)] = jisKana;
99
+ }
100
+ expanded = true;
101
+ }
102
+ exports.initConversionTables = initConversionTables;
103
+
104
+ exports.UTF8_TO_JIS_TABLE = UTF8_TO_JIS_TABLE;
105
+ exports.UTF8_TO_JIS_ALIAS_TABLE = UTF8_TO_JIS_ALIAS_TABLE;
106
+ exports.UTF8_TO_JISX0212_TABLE = UTF8_TO_JISX0212_TABLE;
107
+ exports.JIS_TO_UTF8_TABLE = JIS_TO_UTF8_TABLE;
108
+ exports.JISX0212_TO_UTF8_TABLE = JISX0212_TO_UTF8_TABLE;
@@ -6,6 +6,7 @@ var KanaCaseTable = require('./kana-case-table');
6
6
  var version = require('../package.json').version;
7
7
 
8
8
  var hasOwnProperty = Object.prototype.hasOwnProperty;
9
+ var HEX_CHARS = util.stringToCode('0123456789ABCDEF');
9
10
 
10
11
  var Encoding = {
11
12
  version: version,
@@ -125,7 +126,7 @@ var Encoding = {
125
126
  result = EncodingConvert[method](data, options);
126
127
  } else {
127
128
  // Returns the raw data if the method is undefined
128
- result = data;
129
+ result = util.isArray(data) ? data.slice() : data;
129
130
  }
130
131
 
131
132
  switch (('' + type).toLowerCase()) {
@@ -149,8 +150,8 @@ var Encoding = {
149
150
  data = util.stringToBuffer(data);
150
151
  }
151
152
 
152
- var alpha = util.stringToCode('0123456789ABCDEF');
153
153
  var results = [];
154
+ var n = 0;
154
155
  var i = 0;
155
156
  var len = data && data.length;
156
157
  var b;
@@ -173,15 +174,15 @@ var Encoding = {
173
174
  b === 0x2D /*-*/ || b === 0x2E /*.*/ ||
174
175
  b === 0x5F /*_*/ || b === 0x7E /*~*/
175
176
  ) {
176
- results[results.length] = b;
177
+ results[n++] = b;
177
178
  } else {
178
- results[results.length] = 0x25; /*%*/
179
+ results[n++] = 0x25; /*%*/
179
180
  if (b < 0x10) {
180
- results[results.length] = 0x30; /*0*/
181
- results[results.length] = alpha[b];
181
+ results[n++] = 0x30; /*0*/
182
+ results[n++] = HEX_CHARS[b];
182
183
  } else {
183
- results[results.length] = alpha[b >> 4 & 0xF];
184
- results[results.length] = alpha[b & 0xF];
184
+ results[n++] = HEX_CHARS[b >> 4 & 0xF];
185
+ results[n++] = HEX_CHARS[b & 0xF];
185
186
  }
186
187
  }
187
188
  }
@@ -197,21 +198,22 @@ var Encoding = {
197
198
  * @return {Array.<number>} The decoded array
198
199
  */
199
200
  urlDecode: function(string) {
200
- var results = [];
201
201
  var i = 0;
202
- var len = string && string.length;
202
+ var len = (string && string.length) || 0;
203
+ var results = new Array(len);
204
+ var n = 0;
203
205
  var c;
204
206
 
205
207
  while (i < len) {
206
208
  c = string.charCodeAt(i++);
207
209
  if (c === 0x25 /*%*/) {
208
- results[results.length] = parseInt(
209
- string.charAt(i++) + string.charAt(i++), 16);
210
+ results[n++] = parseInt(string.charAt(i++) + string.charAt(i++), 16);
210
211
  } else {
211
- results[results.length] = c;
212
+ results[n++] = c;
212
213
  }
213
214
  }
214
215
 
216
+ results.length = n;
215
217
  return results;
216
218
  },
217
219
 
@@ -274,8 +276,9 @@ var Encoding = {
274
276
  data = util.stringToBuffer(data);
275
277
  }
276
278
 
277
- var results = [];
278
- var len = data && data.length;
279
+ var len = (data && data.length) || 0;
280
+ var results = new Array(len);
281
+ var n = 0;
279
282
  var i = 0;
280
283
  var c;
281
284
 
@@ -284,7 +287,7 @@ var Encoding = {
284
287
  if (c >= 0xFF01 && c <= 0xFF5E) {
285
288
  c -= 0xFEE0;
286
289
  }
287
- results[results.length] = c;
290
+ results[n++] = c;
288
291
  }
289
292
 
290
293
  return asString ? util.codeToString_fast(results) : results;
@@ -310,8 +313,9 @@ var Encoding = {
310
313
  data = util.stringToBuffer(data);
311
314
  }
312
315
 
313
- var results = [];
314
- var len = data && data.length;
316
+ var len = (data && data.length) || 0;
317
+ var results = new Array(len);
318
+ var n = 0;
315
319
  var i = 0;
316
320
  var c;
317
321
 
@@ -320,7 +324,7 @@ var Encoding = {
320
324
  if (c >= 0x21 && c <= 0x7E) {
321
325
  c += 0xFEE0;
322
326
  }
323
- results[results.length] = c;
327
+ results[n++] = c;
324
328
  }
325
329
 
326
330
  return asString ? util.codeToString_fast(results) : results;
@@ -345,8 +349,9 @@ var Encoding = {
345
349
  data = util.stringToBuffer(data);
346
350
  }
347
351
 
348
- var results = [];
349
- var len = data && data.length;
352
+ var len = (data && data.length) || 0;
353
+ var results = new Array(len);
354
+ var n = 0;
350
355
  var i = 0;
351
356
  var c;
352
357
 
@@ -356,22 +361,22 @@ var Encoding = {
356
361
  c -= 0x0060;
357
362
  // 「ワ゛」 => 「わ」 + 「゛」
358
363
  } else if (c === 0x30F7) {
359
- results[results.length] = 0x308F;
364
+ results[n++] = 0x308F;
360
365
  c = 0x309B;
361
366
  // 「ヰ゛」 => 「ゐ」 + 「゛」
362
367
  } else if (c === 0x30F8) {
363
- results[results.length] = 0x3090;
368
+ results[n++] = 0x3090;
364
369
  c = 0x309B;
365
370
  // 「ヱ゛」 => 「ゑ」 + 「゛」
366
371
  } else if (c === 0x30F9) {
367
- results[results.length] = 0x3091;
372
+ results[n++] = 0x3091;
368
373
  c = 0x309B;
369
374
  // 「ヲ゛」 => 「を」 + 「゛」
370
375
  } else if (c === 0x30FA) {
371
- results[results.length] = 0x3092;
376
+ results[n++] = 0x3092;
372
377
  c = 0x309B;
373
378
  }
374
- results[results.length] = c;
379
+ results[n++] = c;
375
380
  }
376
381
 
377
382
  return asString ? util.codeToString_fast(results) : results;
@@ -396,8 +401,9 @@ var Encoding = {
396
401
  data = util.stringToBuffer(data);
397
402
  }
398
403
 
399
- var results = [];
400
- var len = data && data.length;
404
+ var len = (data && data.length) || 0;
405
+ var results = new Array(len);
406
+ var n = 0;
401
407
  var i = 0;
402
408
  var c;
403
409
 
@@ -417,9 +423,10 @@ var Encoding = {
417
423
  c += 0x0060;
418
424
  }
419
425
  }
420
- results[results.length] = c;
426
+ results[n++] = c;
421
427
  }
422
428
 
429
+ results.length = n;
423
430
  return asString ? util.codeToString_fast(results) : results;
424
431
  },
425
432
 
@@ -442,8 +449,9 @@ var Encoding = {
442
449
  data = util.stringToBuffer(data);
443
450
  }
444
451
 
445
- var results = [];
446
- var len = data && data.length;
452
+ var len = (data && data.length) || 0;
453
+ var results = new Array(len);
454
+ var n = 0;
447
455
  var i = 0;
448
456
  var c, d, t;
449
457
 
@@ -452,27 +460,27 @@ var Encoding = {
452
460
 
453
461
  if (c >= 0x3001 && c <= 0x30FC) {
454
462
  t = KanaCaseTable.HANKANA_TABLE[c];
455
- if (t !== void 0) {
456
- results[results.length] = t;
463
+ if (t != null) {
464
+ results[n++] = t;
457
465
  continue;
458
466
  }
459
467
  }
460
468
 
461
469
  // 「ヴ」, 「ワ」+「゛」, 「ヲ」+「゛」
462
470
  if (c === 0x30F4 || c === 0x30F7 || c === 0x30FA) {
463
- results[results.length] = KanaCaseTable.HANKANA_SONANTS[c];
464
- results[results.length] = 0xFF9E;
471
+ results[n++] = KanaCaseTable.HANKANA_SONANTS[c];
472
+ results[n++] = 0xFF9E;
465
473
  // 「カ」 - 「ド」
466
474
  } else if (c >= 0x30AB && c <= 0x30C9) {
467
- results[results.length] = KanaCaseTable.HANKANA_TABLE[c - 1];
468
- results[results.length] = 0xFF9E;
475
+ results[n++] = KanaCaseTable.HANKANA_TABLE[c - 1];
476
+ results[n++] = 0xFF9E;
469
477
  // 「ハ」 - 「ポ」
470
478
  } else if (c >= 0x30CF && c <= 0x30DD) {
471
479
  d = c % 3;
472
- results[results.length] = KanaCaseTable.HANKANA_TABLE[c - d];
473
- results[results.length] = KanaCaseTable.HANKANA_MARKS[d - 1];
480
+ results[n++] = KanaCaseTable.HANKANA_TABLE[c - d];
481
+ results[n++] = KanaCaseTable.HANKANA_MARKS[d - 1];
474
482
  } else {
475
- results[results.length] = c;
483
+ results[n++] = c;
476
484
  }
477
485
  }
478
486
 
@@ -498,8 +506,9 @@ var Encoding = {
498
506
  data = util.stringToBuffer(data);
499
507
  }
500
508
 
501
- var results = [];
502
- var len = data && data.length;
509
+ var len = (data && data.length) || 0;
510
+ var results = new Array(len);
511
+ var n = 0;
503
512
  var i = 0;
504
513
  var c, code, next;
505
514
 
@@ -537,9 +546,10 @@ var Encoding = {
537
546
  }
538
547
  c = code;
539
548
  }
540
- results[results.length] = c;
549
+ results[n++] = c;
541
550
  }
542
551
 
552
+ results.length = n;
543
553
  return asString ? util.codeToString_fast(results) : results;
544
554
  },
545
555
 
@@ -556,8 +566,9 @@ var Encoding = {
556
566
  return data.replace(/\u3000/g, ' ');
557
567
  }
558
568
 
559
- var results = [];
560
- var len = data && data.length;
569
+ var len = (data && data.length) || 0;
570
+ var results = new Array(len);
571
+ var n = 0;
561
572
  var i = 0;
562
573
  var c;
563
574
 
@@ -566,7 +577,7 @@ var Encoding = {
566
577
  if (c === 0x3000) {
567
578
  c = 0x20;
568
579
  }
569
- results[results.length] = c;
580
+ results[n++] = c;
570
581
  }
571
582
 
572
583
  return results;
@@ -585,8 +596,9 @@ var Encoding = {
585
596
  return data.replace(/\u0020/g, '\u3000');
586
597
  }
587
598
 
588
- var results = [];
589
- var len = data && data.length;
599
+ var len = (data && data.length) || 0;
600
+ var results = new Array(len);
601
+ var n = 0;
590
602
  var i = 0;
591
603
  var c;
592
604
 
@@ -595,7 +607,7 @@ var Encoding = {
595
607
  if (c === 0x20) {
596
608
  c = 0x3000;
597
609
  }
598
- results[results.length] = c;
610
+ results[n++] = c;
599
611
  }
600
612
 
601
613
  return results;
@@ -10,5 +10,7 @@ module.exports = {
10
10
  0xE28892: 0x215D, // − U+2212 MINUS SIGN same cell as - U+FF0D (0xEFBC8D) -> SJIS 0x817C
11
11
  0xE3809C: 0x2141, // 〜 U+301C WAVE DASH same cell as ~ U+FF5E (0xEFBD9E) -> SJIS 0x8160
12
12
  0xC2A2: 0x2171, // ¢ U+00A2 CENT SIGN same cell as ¢ U+FFE0 (0xEFBFA0) -> SJIS 0x8191
13
- 0xC2A3: 0x2172 // £ U+00A3 POUND SIGN same cell as £ U+FFE1 (0xEFBFA1) -> SJIS 0x8192
13
+ 0xC2A3: 0x2172, // £ U+00A3 POUND SIGN same cell as £ U+FFE1 (0xEFBFA1) -> SJIS 0x8192
14
+ 0xC2AC: 0x224C, // ¬ U+00AC NOT SIGN same cell as ¬ U+FFE2 (0xEFBFA2) -> SJIS 0x81CA
15
+ 0xE28096: 0x2142 // ‖ U+2016 DOUBLE VERTICAL LINE same cell as ∥ U+2225 (0xE288A5) -> SJIS 0x8161
14
16
  };