1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| var upperCase = require('./upperCase');
| var invert = require('./invert');
| exports = {
| encode: function(txt) {
| var len = txt.length;
| var ret = Array(len);
| for (var i = 0; i < len; i++) {
| var c = upperCase(txt[i]);
| ret[i] = map[c] || '?';
| }
| return ret.join(' ');
| },
| decode: function(morse) {
| var ret = morse.split(' ');
| for (var i = 0, len = ret.length; i < len; i++) {
| ret[i] = decodeMap[ret[i]] || ' ';
| }
| return ret.join('');
| }
| };
|
| var map = {
| A: '.-',
| B: '-...',
| C: '-.-.',
| D: '-..',
| E: '.',
| F: '..-.',
| G: '--.',
| H: '....',
| I: '..',
| J: '.---',
| K: '-.-',
| L: '.-..',
| M: '--',
| N: '-.',
| O: '---',
| P: '.--.',
| Q: '--.-',
| R: '.-.',
| S: '...',
| T: '-',
| U: '..-',
| V: '...-',
| W: '.--',
| X: '-..-',
| Y: '-.--',
| Z: '--..',
| Á: '.--.-',
| Ä: '.-.-',
| É: '..-..',
| Ñ: '--.--',
| Ö: '---.',
| Ü: '..--',
| '1': '.----',
| '2': '..---',
| '3': '...--',
| '4': '....-',
| '5': '.....',
| '6': '-....',
| '7': '--...',
| '8': '---..',
| '9': '----.',
| '0': '-----',
| ',': '--..--',
| '.': '.-.-.-',
| '?': '..--..',
| ';': '-.-.-',
| ':': '---...',
| '/': '-..-.',
| '-': '-....-',
| "'": '.----.',
| '()': '-.--.-',
| _: '..--.-',
| '@': '.--.-.',
| ' ': '.......'
| };
| var decodeMap = invert(map);
|
| module.exports = exports;
|
|