@mavogel/awscdk-rootmail 0.0.40 → 0.0.41

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 (66) 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/client-cloudwatch-logs/package.json +2 -2
  5. package/node_modules/@aws-sdk/client-route-53/package.json +2 -2
  6. package/node_modules/@aws-sdk/client-s3/package.json +2 -2
  7. package/node_modules/@aws-sdk/client-ses/package.json +2 -2
  8. package/node_modules/@aws-sdk/client-ssm/package.json +2 -2
  9. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +2 -2
  10. package/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js +1 -1
  11. package/node_modules/@aws-sdk/credential-provider-node/package.json +1 -1
  12. package/node_modules/cdk-nag/.jsii +2 -2
  13. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  14. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  15. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  16. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  17. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  18. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  19. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  20. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  21. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  22. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  23. package/node_modules/cdk-nag/package.json +1 -1
  24. package/node_modules/encoding-japanese/README.md +449 -212
  25. package/node_modules/encoding-japanese/encoding.js +2 -2
  26. package/node_modules/encoding-japanese/encoding.min.js +2 -3
  27. package/node_modules/encoding-japanese/package.json +7 -8
  28. package/node_modules/libmime/.ncurc.js +3 -1
  29. package/node_modules/libmime/CHANGELOG.md +7 -0
  30. package/node_modules/libmime/lib/get-charset-name.js +227 -0
  31. package/node_modules/libmime/package.json +3 -3
  32. package/node_modules/mailparser/.ncurc.js +8 -0
  33. package/node_modules/mailparser/CHANGELOG.md +7 -0
  34. package/node_modules/mailparser/lib/mail-parser.js +1 -1
  35. package/node_modules/mailparser/package.json +7 -7
  36. package/node_modules/mailsplit/node_modules/encoding-japanese/LICENSE +21 -0
  37. package/node_modules/mailsplit/node_modules/encoding-japanese/README.md +542 -0
  38. package/node_modules/mailsplit/node_modules/encoding-japanese/encoding.js +6077 -0
  39. package/node_modules/mailsplit/node_modules/encoding-japanese/encoding.min.js +8 -0
  40. package/node_modules/mailsplit/node_modules/encoding-japanese/package.json +70 -0
  41. package/node_modules/mailsplit/node_modules/encoding-japanese/src/banner.js +6 -0
  42. package/node_modules/mailsplit/node_modules/encoding-japanese/src/config.js +139 -0
  43. package/node_modules/mailsplit/node_modules/encoding-japanese/src/encoding-convert.js +1676 -0
  44. package/node_modules/mailsplit/node_modules/encoding-japanese/src/encoding-detect.js +502 -0
  45. package/node_modules/mailsplit/node_modules/encoding-japanese/src/encoding-table.js +4 -0
  46. package/node_modules/mailsplit/node_modules/encoding-japanese/src/index.js +593 -0
  47. package/node_modules/mailsplit/node_modules/encoding-japanese/src/jis-to-utf8-table.js +5 -0
  48. package/node_modules/mailsplit/node_modules/encoding-japanese/src/jisx0212-to-utf8-table.js +5 -0
  49. package/node_modules/mailsplit/node_modules/encoding-japanese/src/kana-case-table.js +41 -0
  50. package/node_modules/mailsplit/node_modules/encoding-japanese/src/utf8-to-jis-table.js +1493 -0
  51. package/node_modules/mailsplit/node_modules/encoding-japanese/src/utf8-to-jisx0212-table.js +1224 -0
  52. package/node_modules/mailsplit/node_modules/encoding-japanese/src/util.js +361 -0
  53. package/node_modules/nodemailer/CHANGELOG.md +14 -0
  54. package/node_modules/nodemailer/lib/mime-node/index.js +1 -1
  55. package/node_modules/nodemailer/lib/smtp-connection/index.js +13 -0
  56. package/node_modules/nodemailer/package.json +3 -3
  57. package/node_modules/{punycode → punycode.js}/package.json +1 -1
  58. package/node_modules/tlds/index.json +0 -2
  59. package/node_modules/tlds/package.json +1 -1
  60. package/package.json +8 -8
  61. /package/node_modules/{encoding-japanese → mailsplit/node_modules/encoding-japanese}/CHANGELOG.md +0 -0
  62. /package/node_modules/{encoding-japanese → mailsplit/node_modules/encoding-japanese}/encoding.min.js.map +0 -0
  63. /package/node_modules/{punycode → punycode.js}/LICENSE-MIT.txt +0 -0
  64. /package/node_modules/{punycode → punycode.js}/README.md +0 -0
  65. /package/node_modules/{punycode → punycode.js}/punycode.es6.js +0 -0
  66. /package/node_modules/{punycode → punycode.js}/punycode.js +0 -0
@@ -0,0 +1,593 @@
1
+ var config = require('./config');
2
+ var util = require('./util');
3
+ var EncodingDetect = require('./encoding-detect');
4
+ var EncodingConvert = require('./encoding-convert');
5
+ var KanaCaseTable = require('./kana-case-table');
6
+ var version = require('../package.json').version;
7
+
8
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
9
+
10
+ var Encoding = {
11
+ version: version,
12
+
13
+ /**
14
+ * Encoding orders
15
+ */
16
+ orders: config.EncodingOrders,
17
+
18
+ /**
19
+ * Detects character encoding
20
+ *
21
+ * If encodings is "AUTO", or the encoding-list as an array, or
22
+ * comma separated list string it will be detected automatically
23
+ *
24
+ * @param {Array.<number>|TypedArray|string} data The data being detected
25
+ * @param {(Object|string|Array.<string>)=} [encodings] The encoding-list of
26
+ * character encoding
27
+ * @return {string|boolean} The detected character encoding, or false
28
+ */
29
+ detect: function(data, encodings) {
30
+ if (data == null || data.length === 0) {
31
+ return false;
32
+ }
33
+
34
+ if (util.isObject(encodings) && !util.isArray(encodings)) {
35
+ encodings = encodings.encoding;
36
+ }
37
+
38
+ if (util.isString(data)) {
39
+ data = util.stringToBuffer(data);
40
+ }
41
+
42
+ if (encodings == null) {
43
+ encodings = Encoding.orders;
44
+ } else {
45
+ if (util.isString(encodings)) {
46
+ encodings = encodings.toUpperCase();
47
+ if (encodings === 'AUTO') {
48
+ encodings = Encoding.orders;
49
+ } else if (~encodings.indexOf(',')) {
50
+ encodings = encodings.split(/\s*,\s*/);
51
+ } else {
52
+ encodings = [encodings];
53
+ }
54
+ }
55
+ }
56
+
57
+ var len = encodings.length;
58
+ var e, encoding, method;
59
+ for (var i = 0; i < len; i++) {
60
+ e = encodings[i];
61
+ encoding = util.canonicalizeEncodingName(e);
62
+ if (!encoding) {
63
+ continue;
64
+ }
65
+
66
+ method = 'is' + encoding;
67
+ if (!hasOwnProperty.call(EncodingDetect, method)) {
68
+ throw new Error('Undefined encoding: ' + e);
69
+ }
70
+
71
+ if (EncodingDetect[method](data)) {
72
+ return encoding;
73
+ }
74
+ }
75
+
76
+ return false;
77
+ },
78
+
79
+ /**
80
+ * Convert character encoding
81
+ *
82
+ * If `from` is "AUTO", or the encoding-list as an array, or
83
+ * comma separated list string it will be detected automatically
84
+ *
85
+ * @param {Array.<number>|TypedArray|string} data The data being converted
86
+ * @param {(string|Object)} to The name of encoding to
87
+ * @param {(string|Array.<string>)=} [from] The encoding-list of
88
+ * character encoding
89
+ * @return {Array|TypedArray|string} The converted data
90
+ */
91
+ convert: function(data, to, from) {
92
+ var result, type, options;
93
+
94
+ if (!util.isObject(to)) {
95
+ options = {};
96
+ } else {
97
+ options = to;
98
+ from = options.from;
99
+ to = options.to;
100
+
101
+ if (options.type) {
102
+ type = options.type;
103
+ }
104
+ }
105
+
106
+ if (util.isString(data)) {
107
+ type = type || 'string';
108
+ data = util.stringToBuffer(data);
109
+ } else if (data == null || data.length === 0) {
110
+ data = [];
111
+ }
112
+
113
+ var encodingFrom;
114
+ if (from != null && util.isString(from) &&
115
+ from.toUpperCase() !== 'AUTO' && !~from.indexOf(',')) {
116
+ encodingFrom = util.canonicalizeEncodingName(from);
117
+ } else {
118
+ encodingFrom = Encoding.detect(data);
119
+ }
120
+
121
+ var encodingTo = util.canonicalizeEncodingName(to);
122
+ var method = encodingFrom + 'To' + encodingTo;
123
+
124
+ if (hasOwnProperty.call(EncodingConvert, method)) {
125
+ result = EncodingConvert[method](data, options);
126
+ } else {
127
+ // Returns the raw data if the method is undefined
128
+ result = data;
129
+ }
130
+
131
+ switch (('' + type).toLowerCase()) {
132
+ case 'string':
133
+ return util.codeToString_fast(result);
134
+ case 'arraybuffer':
135
+ return util.codeToBuffer(result);
136
+ default: // array
137
+ return util.bufferToCode(result);
138
+ }
139
+ },
140
+
141
+ /**
142
+ * Encode a character code array to URL string like encodeURIComponent
143
+ *
144
+ * @param {Array.<number>|TypedArray} data The data being encoded
145
+ * @return {string} The percent encoded string
146
+ */
147
+ urlEncode: function(data) {
148
+ if (util.isString(data)) {
149
+ data = util.stringToBuffer(data);
150
+ }
151
+
152
+ var alpha = util.stringToCode('0123456789ABCDEF');
153
+ var results = [];
154
+ var i = 0;
155
+ var len = data && data.length;
156
+ var b;
157
+
158
+ for (; i < len; i++) {
159
+ b = data[i];
160
+
161
+ // urlEncode is for an array of numbers in the range 0-255 (Uint8Array), but if an array
162
+ // of numbers greater than 255 is passed (Unicode code unit i.e. charCodeAt range),
163
+ // it will be tentatively encoded as UTF-8 using encodeURIComponent.
164
+ if (b > 0xFF) {
165
+ return encodeURIComponent(util.codeToString_fast(data));
166
+ }
167
+
168
+ if ((b >= 0x61 /*a*/ && b <= 0x7A /*z*/) ||
169
+ (b >= 0x41 /*A*/ && b <= 0x5A /*Z*/) ||
170
+ (b >= 0x30 /*0*/ && b <= 0x39 /*9*/) ||
171
+ b === 0x21 /*!*/ ||
172
+ (b >= 0x27 /*'*/ && b <= 0x2A /***/) ||
173
+ b === 0x2D /*-*/ || b === 0x2E /*.*/ ||
174
+ b === 0x5F /*_*/ || b === 0x7E /*~*/
175
+ ) {
176
+ results[results.length] = b;
177
+ } else {
178
+ results[results.length] = 0x25; /*%*/
179
+ if (b < 0x10) {
180
+ results[results.length] = 0x30; /*0*/
181
+ results[results.length] = alpha[b];
182
+ } else {
183
+ results[results.length] = alpha[b >> 4 & 0xF];
184
+ results[results.length] = alpha[b & 0xF];
185
+ }
186
+ }
187
+ }
188
+
189
+ return util.codeToString_fast(results);
190
+ },
191
+
192
+ /**
193
+ * Decode a percent encoded string to
194
+ * character code array like decodeURIComponent
195
+ *
196
+ * @param {string} string The data being decoded
197
+ * @return {Array.<number>} The decoded array
198
+ */
199
+ urlDecode: function(string) {
200
+ var results = [];
201
+ var i = 0;
202
+ var len = string && string.length;
203
+ var c;
204
+
205
+ while (i < len) {
206
+ c = string.charCodeAt(i++);
207
+ if (c === 0x25 /*%*/) {
208
+ results[results.length] = parseInt(
209
+ string.charAt(i++) + string.charAt(i++), 16);
210
+ } else {
211
+ results[results.length] = c;
212
+ }
213
+ }
214
+
215
+ return results;
216
+ },
217
+
218
+ /**
219
+ * Encode a character code array to Base64 encoded string
220
+ *
221
+ * @param {Array.<number>|TypedArray} data The data being encoded
222
+ * @return {string} The Base64 encoded string
223
+ */
224
+ base64Encode: function(data) {
225
+ if (util.isString(data)) {
226
+ data = util.stringToBuffer(data);
227
+ }
228
+ return util.base64encode(data);
229
+ },
230
+
231
+ /**
232
+ * Decode a Base64 encoded string to character code array
233
+ *
234
+ * @param {string} string The data being decoded
235
+ * @return {Array.<number>} The decoded array
236
+ */
237
+ base64Decode: function(string) {
238
+ return util.base64decode(string);
239
+ },
240
+
241
+ /**
242
+ * Joins a character code array to string
243
+ *
244
+ * @param {Array.<number>|TypedArray} data The data being joined
245
+ * @return {String} The joined string
246
+ */
247
+ codeToString: util.codeToString_fast,
248
+
249
+ /**
250
+ * Splits string to an array of character codes
251
+ *
252
+ * @param {string} string The input string
253
+ * @return {Array.<number>} The character code array
254
+ */
255
+ stringToCode: util.stringToCode,
256
+
257
+ /**
258
+ * 全角英数記号文字を半角英数記号文字に変換
259
+ *
260
+ * Convert the ascii symbols and alphanumeric characters to
261
+ * the zenkaku symbols and alphanumeric characters
262
+ *
263
+ * @example
264
+ * console.log(Encoding.toHankakuCase('Hello World! 12345'));
265
+ * // 'Hello World! 12345'
266
+ *
267
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
268
+ * @return {Array.<number>|string} The conveted data
269
+ */
270
+ toHankakuCase: function(data) {
271
+ var asString = false;
272
+ if (util.isString(data)) {
273
+ asString = true;
274
+ data = util.stringToBuffer(data);
275
+ }
276
+
277
+ var results = [];
278
+ var len = data && data.length;
279
+ var i = 0;
280
+ var c;
281
+
282
+ while (i < len) {
283
+ c = data[i++];
284
+ if (c >= 0xFF01 && c <= 0xFF5E) {
285
+ c -= 0xFEE0;
286
+ }
287
+ results[results.length] = c;
288
+ }
289
+
290
+ return asString ? util.codeToString_fast(results) : results;
291
+ },
292
+
293
+ /**
294
+ * 半角英数記号文字を全角英数記号文字に変換
295
+ *
296
+ * Convert to the zenkaku symbols and alphanumeric characters
297
+ * from the ascii symbols and alphanumeric characters
298
+ *
299
+ * @example
300
+ * console.log(Encoding.toZenkakuCase('Hello World! 12345'));
301
+ * // 'Hello World! 12345'
302
+ *
303
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
304
+ * @return {Array.<number>|string} The conveted data
305
+ */
306
+ toZenkakuCase: function(data) {
307
+ var asString = false;
308
+ if (util.isString(data)) {
309
+ asString = true;
310
+ data = util.stringToBuffer(data);
311
+ }
312
+
313
+ var results = [];
314
+ var len = data && data.length;
315
+ var i = 0;
316
+ var c;
317
+
318
+ while (i < len) {
319
+ c = data[i++];
320
+ if (c >= 0x21 && c <= 0x7E) {
321
+ c += 0xFEE0;
322
+ }
323
+ results[results.length] = c;
324
+ }
325
+
326
+ return asString ? util.codeToString_fast(results) : results;
327
+ },
328
+
329
+ /**
330
+ * 全角カタカナを全角ひらがなに変換
331
+ *
332
+ * Convert to the zenkaku hiragana from the zenkaku katakana
333
+ *
334
+ * @example
335
+ * console.log(Encoding.toHiraganaCase('ボポヴァアィイゥウェエォオ'));
336
+ * // 'ぼぽう゛ぁあぃいぅうぇえぉお'
337
+ *
338
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
339
+ * @return {Array.<number>|string} The conveted data
340
+ */
341
+ toHiraganaCase: function(data) {
342
+ var asString = false;
343
+ if (util.isString(data)) {
344
+ asString = true;
345
+ data = util.stringToBuffer(data);
346
+ }
347
+
348
+ var results = [];
349
+ var len = data && data.length;
350
+ var i = 0;
351
+ var c;
352
+
353
+ while (i < len) {
354
+ c = data[i++];
355
+ if (c >= 0x30A1 && c <= 0x30F6) {
356
+ c -= 0x0060;
357
+ // 「ワ゛」 => 「わ」 + 「゛」
358
+ } else if (c === 0x30F7) {
359
+ results[results.length] = 0x308F;
360
+ c = 0x309B;
361
+ // 「ヲ゛」 => 「を」 + 「゛」
362
+ } else if (c === 0x30FA) {
363
+ results[results.length] = 0x3092;
364
+ c = 0x309B;
365
+ }
366
+ results[results.length] = c;
367
+ }
368
+
369
+ return asString ? util.codeToString_fast(results) : results;
370
+ },
371
+
372
+ /**
373
+ * 全角ひらがなを全角カタカナに変換
374
+ *
375
+ * Convert to the zenkaku katakana from the zenkaku hiragana
376
+ *
377
+ * @example
378
+ * console.log(Encoding.toKatakanaCase('ぼぽう゛ぁあぃいぅうぇえぉお'));
379
+ * // 'ボポヴァアィイゥウェエォオ'
380
+ *
381
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
382
+ * @return {Array.<number>|string} The conveted data
383
+ */
384
+ toKatakanaCase: function(data) {
385
+ var asString = false;
386
+ if (util.isString(data)) {
387
+ asString = true;
388
+ data = util.stringToBuffer(data);
389
+ }
390
+
391
+ var results = [];
392
+ var len = data && data.length;
393
+ var i = 0;
394
+ var c;
395
+
396
+ while (i < len) {
397
+ c = data[i++];
398
+ if (c >= 0x3041 && c <= 0x3096) {
399
+ if ((c === 0x308F || // 「わ」 + 「゛」 => 「ワ゛」
400
+ c === 0x3092) && // 「を」 + 「゛」 => 「ヲ゛」
401
+ i < len && data[i] === 0x309B) {
402
+ c = c === 0x308F ? 0x30F7 : 0x30FA;
403
+ i++;
404
+ } else {
405
+ c += 0x0060;
406
+ }
407
+ }
408
+ results[results.length] = c;
409
+ }
410
+
411
+ return asString ? util.codeToString_fast(results) : results;
412
+ },
413
+
414
+ /**
415
+ * 全角カタカナを半角カタカナに変換
416
+ *
417
+ * Convert to the hankaku katakana from the zenkaku katakana
418
+ *
419
+ * @example
420
+ * console.log(Encoding.toHankanaCase('ボポヴァアィイゥウェエォオ'));
421
+ * // 'ボポヴァアィイゥウェエォオ'
422
+ *
423
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
424
+ * @return {Array.<number>|string} The conveted data
425
+ */
426
+ toHankanaCase: function(data) {
427
+ var asString = false;
428
+ if (util.isString(data)) {
429
+ asString = true;
430
+ data = util.stringToBuffer(data);
431
+ }
432
+
433
+ var results = [];
434
+ var len = data && data.length;
435
+ var i = 0;
436
+ var c, d, t;
437
+
438
+ while (i < len) {
439
+ c = data[i++];
440
+
441
+ if (c >= 0x3001 && c <= 0x30FC) {
442
+ t = KanaCaseTable.HANKANA_TABLE[c];
443
+ if (t !== void 0) {
444
+ results[results.length] = t;
445
+ continue;
446
+ }
447
+ }
448
+
449
+ // 「ヴ」, 「ワ」+「゛」, 「ヲ」+「゛」
450
+ if (c === 0x30F4 || c === 0x30F7 || c === 0x30FA) {
451
+ results[results.length] = KanaCaseTable.HANKANA_SONANTS[c];
452
+ results[results.length] = 0xFF9E;
453
+ // 「カ」 - 「ド」
454
+ } else if (c >= 0x30AB && c <= 0x30C9) {
455
+ results[results.length] = KanaCaseTable.HANKANA_TABLE[c - 1];
456
+ results[results.length] = 0xFF9E;
457
+ // 「ハ」 - 「ポ」
458
+ } else if (c >= 0x30CF && c <= 0x30DD) {
459
+ d = c % 3;
460
+ results[results.length] = KanaCaseTable.HANKANA_TABLE[c - d];
461
+ results[results.length] = KanaCaseTable.HANKANA_MARKS[d - 1];
462
+ } else {
463
+ results[results.length] = c;
464
+ }
465
+ }
466
+
467
+ return asString ? util.codeToString_fast(results) : results;
468
+ },
469
+
470
+ /**
471
+ * 半角カタカナを全角カタカナに変換 (濁音含む)
472
+ *
473
+ * Convert to the zenkaku katakana from the hankaku katakana
474
+ *
475
+ * @example
476
+ * console.log(Encoding.toZenkanaCase('ボポヴァアィイゥウェエォオ'));
477
+ * // 'ボポヴァアィイゥウェエォオ'
478
+ *
479
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
480
+ * @return {Array.<number>|string} The conveted data
481
+ */
482
+ toZenkanaCase: function(data) {
483
+ var asString = false;
484
+ if (util.isString(data)) {
485
+ asString = true;
486
+ data = util.stringToBuffer(data);
487
+ }
488
+
489
+ var results = [];
490
+ var len = data && data.length;
491
+ var i = 0;
492
+ var c, code, next;
493
+
494
+ for (i = 0; i < len; i++) {
495
+ c = data[i];
496
+ // Hankaku katakana
497
+ if (c > 0xFF60 && c < 0xFFA0) {
498
+ code = KanaCaseTable.ZENKANA_TABLE[c - 0xFF61];
499
+ if (i + 1 < len) {
500
+ next = data[i + 1];
501
+ // 「゙」 + 「ヴ」
502
+ if (next === 0xFF9E && c === 0xFF73) {
503
+ code = 0x30F4;
504
+ i++;
505
+ // 「゙」 + 「ワ゛」
506
+ } else if (next === 0xFF9E && c === 0xFF9C) {
507
+ code = 0x30F7;
508
+ i++;
509
+ // 「゙」 + 「ヲ゛」
510
+ } else if (next === 0xFF9E && c === 0xFF66) {
511
+ code = 0x30FA;
512
+ i++;
513
+ // 「゙」 + 「カ」 - 「コ」 or 「ハ」 - 「ホ」
514
+ } else if (next === 0xFF9E &&
515
+ ((c > 0xFF75 && c < 0xFF85) ||
516
+ (c > 0xFF89 && c < 0xFF8F))) {
517
+ code++;
518
+ i++;
519
+ // 「゚」 + 「ハ」 - 「ホ」
520
+ } else if (next === 0xFF9F &&
521
+ (c > 0xFF89 && c < 0xFF8F)) {
522
+ code += 2;
523
+ i++;
524
+ }
525
+ }
526
+ c = code;
527
+ }
528
+ results[results.length] = c;
529
+ }
530
+
531
+ return asString ? util.codeToString_fast(results) : results;
532
+ },
533
+
534
+ /**
535
+ * 全角スペースを半角スペースに変換
536
+ *
537
+ * Convert the em space(U+3000) to the single space(U+0020)
538
+ *
539
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
540
+ * @return {Array.<number>|string} The conveted data
541
+ */
542
+ toHankakuSpace: function(data) {
543
+ if (util.isString(data)) {
544
+ return data.replace(/\u3000/g, ' ');
545
+ }
546
+
547
+ var results = [];
548
+ var len = data && data.length;
549
+ var i = 0;
550
+ var c;
551
+
552
+ while (i < len) {
553
+ c = data[i++];
554
+ if (c === 0x3000) {
555
+ c = 0x20;
556
+ }
557
+ results[results.length] = c;
558
+ }
559
+
560
+ return results;
561
+ },
562
+
563
+ /**
564
+ * 半角スペースを全角スペースに変換
565
+ *
566
+ * Convert the single space(U+0020) to the em space(U+3000)
567
+ *
568
+ * @param {Array.<number>|TypedArray|string} data The input unicode data
569
+ * @return {Array.<number>|string} The conveted data
570
+ */
571
+ toZenkakuSpace: function(data) {
572
+ if (util.isString(data)) {
573
+ return data.replace(/\u0020/g, '\u3000');
574
+ }
575
+
576
+ var results = [];
577
+ var len = data && data.length;
578
+ var i = 0;
579
+ var c;
580
+
581
+ while (i < len) {
582
+ c = data[i++];
583
+ if (c === 0x20) {
584
+ c = 0x3000;
585
+ }
586
+ results[results.length] = c;
587
+ }
588
+
589
+ return results;
590
+ }
591
+ };
592
+
593
+ module.exports = Encoding;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Encoding conversion table for JIS to UTF-8
3
+ */
4
+ var JIS_TO_UTF8_TABLE = null;
5
+ module.exports = JIS_TO_UTF8_TABLE;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Encoding conversion table for JIS X 0212:1990 (Hojo-Kanji) to UTF-8
3
+ */
4
+ var JISX0212_TO_UTF8_TABLE = null;
5
+ module.exports = JISX0212_TO_UTF8_TABLE;
@@ -0,0 +1,41 @@
1
+ /* eslint-disable key-spacing */
2
+ /**
3
+ * Katakana table
4
+ */
5
+ exports.HANKANA_TABLE = {
6
+ 0x3001:0xFF64,0x3002:0xFF61,0x300C:0xFF62,0x300D:0xFF63,0x309B:0xFF9E,
7
+ 0x309C:0xFF9F,0x30A1:0xFF67,0x30A2:0xFF71,0x30A3:0xFF68,0x30A4:0xFF72,
8
+ 0x30A5:0xFF69,0x30A6:0xFF73,0x30A7:0xFF6A,0x30A8:0xFF74,0x30A9:0xFF6B,
9
+ 0x30AA:0xFF75,0x30AB:0xFF76,0x30AD:0xFF77,0x30AF:0xFF78,0x30B1:0xFF79,
10
+ 0x30B3:0xFF7A,0x30B5:0xFF7B,0x30B7:0xFF7C,0x30B9:0xFF7D,0x30BB:0xFF7E,
11
+ 0x30BD:0xFF7F,0x30BF:0xFF80,0x30C1:0xFF81,0x30C3:0xFF6F,0x30C4:0xFF82,
12
+ 0x30C6:0xFF83,0x30C8:0xFF84,0x30CA:0xFF85,0x30CB:0xFF86,0x30CC:0xFF87,
13
+ 0x30CD:0xFF88,0x30CE:0xFF89,0x30CF:0xFF8A,0x30D2:0xFF8B,0x30D5:0xFF8C,
14
+ 0x30D8:0xFF8D,0x30DB:0xFF8E,0x30DE:0xFF8F,0x30DF:0xFF90,0x30E0:0xFF91,
15
+ 0x30E1:0xFF92,0x30E2:0xFF93,0x30E3:0xFF6C,0x30E4:0xFF94,0x30E5:0xFF6D,
16
+ 0x30E6:0xFF95,0x30E7:0xFF6E,0x30E8:0xFF96,0x30E9:0xFF97,0x30EA:0xFF98,
17
+ 0x30EB:0xFF99,0x30EC:0xFF9A,0x30ED:0xFF9B,0x30EF:0xFF9C,0x30F2:0xFF66,
18
+ 0x30F3:0xFF9D,0x30FB:0xFF65,0x30FC:0xFF70
19
+ };
20
+
21
+ exports.HANKANA_SONANTS = {
22
+ 0x30F4:0xFF73,
23
+ 0x30F7:0xFF9C,
24
+ 0x30FA:0xFF66
25
+ };
26
+
27
+ exports.HANKANA_MARKS = [0xFF9E, 0xFF9F];
28
+
29
+ /**
30
+ * Zenkaku table [U+FF61] - [U+FF9F]
31
+ */
32
+ exports.ZENKANA_TABLE = [
33
+ 0x3002, 0x300C, 0x300D, 0x3001, 0x30FB, 0x30F2, 0x30A1, 0x30A3,
34
+ 0x30A5, 0x30A7, 0x30A9, 0x30E3, 0x30E5, 0x30E7, 0x30C3, 0x30FC,
35
+ 0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, 0x30AB, 0x30AD, 0x30AF,
36
+ 0x30B1, 0x30B3, 0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD, 0x30BF,
37
+ 0x30C1, 0x30C4, 0x30C6, 0x30C8, 0x30CA, 0x30CB, 0x30CC, 0x30CD,
38
+ 0x30CE, 0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, 0x30DE, 0x30DF,
39
+ 0x30E0, 0x30E1, 0x30E2, 0x30E4, 0x30E6, 0x30E8, 0x30E9, 0x30EA,
40
+ 0x30EB, 0x30EC, 0x30ED, 0x30EF, 0x30F3, 0x309B, 0x309C
41
+ ];