'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
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;