simple Morse code library for node
Switch branches/tags
Nothing to show
Clone or download
Latest commit 346604e Jul 18, 2014
Permalink
Failed to load latest commit information.
bin Add CLI Jun 20, 2012
test Add array test Jun 20, 2012
.gitignore add gitignore Jun 20, 2012
LICENSE Create LICENSE Jul 18, 2014
README.md Fill in CLI part of readme Jun 20, 2012
map.js aliens Jun 20, 2012
morse.js Factor out dencoding recursion Jun 20, 2012
package.json Level up Jun 20, 2012
tree.js aliens Jun 20, 2012

README.md

#morse

A simple Morse code library for node

Samuel F.B. Morse

install

For use as a CLI:

npm install -g morse

For use as a library:

npm install morse

example usage as a CLI

$ morse -h
Usage: morse [options] string

Options:
  -d, --decode  Decode a string of Morse code  [boolean]
  -h, --help    Show this text  

$ morse hello > hello.txt
$ morse -d "`cat hello.txt`"
HELLO

example usage as a library

var morse = require('morse');

var encoded = morse.encode('Hello, world.');
// .... . .-.. .-.. --- --..-- ....... .-- --- .-. .-.. -.. .-.-.-

morse.decode(encoded);
// HELLO, WORLD.
var encoded = morse.encode([ 'hello', 'world' ]);
// [ '.... . .-.. .-.. ---', '.-- --- .-. .-.. -..' ]

morse.decode(encoded);
// [ 'HELLO', 'WORLD' ]

methods

morse.encode(obj)

Encodes and returns a given string or array

morse.decode(obj, dichotomic)

Decodes and returns a string or array

dichotomic defaults to false. If passed true, it will use a tree-based approach to decode the string or array. If false, a basic iteration of the map is used.

The dichotomic approach looks like this:

The implementation does not include spaces right now, so it fails its test. However, it is otherwise accurate.

morse.decode(
  morse.encode('Hello, world.'),
  true
);
// HELLO,5WORLD.

attributes

morse.map

An object containing letter: morse translations contained in map.js

morse.tree

A tree-modeled object contained in tree.js

license

MIT