1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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;
|