phonetic-alphabet-converter

NATO phonetic alphabet converter.

Usage no npm install needed!

<script type="module">
  import phoneticAlphabetConverter from 'https://cdn.skypack.dev/phonetic-alphabet-converter';
</script>

README

phonetic-alphabet-converter

NPM

NPM version Build Status Coverage Status

Converts string to NATO phonetic alphabet words:

PhoneticAlphabetConverter(string[, alphabet])

Example

import converter from 'phonetic-alphabet-converter';
converter('abc'); // ['alpha', 'bravo', 'charlie']

Site | JSFiddle | Repl.it

Install

NPM:

npm install phonetic-alphabet-converter --save

Yarn:

yarn add phonetic-alphabet-converter

CDN:

<script src="https://unpkg.com/phonetic-alphabet-converter@latest/umd/phonetic-alphabet-converter.min.js"></script>
<script>
  window.PhoneticAlphabetConverter.default(/* string */);
</script>

Usage

Import module:

// ES Modules
import converter from 'phonetic-alphabet-converter';

// CommonJS
const converter = require('phonetic-alphabet-converter').default;

Parse string:

converter('Hello, world!');
// ['hotel', 'echo', 'lima', 'lima', 'oscar', 'whiskey', 'oscar', 'romeo', 'lima', 'delta']

The string is lowercased and characters not found on the alphabet map are ignored.

If the string is blank, an empty array is returned:

converter('');
// []

If the first argument is not a string, then an error will be thrown:

converter();
// TypeError: First argument must be a string

Second Argument

By default, the converter uses a mapping of the NATO phonetic alphabet:

import { NATO_PHONETIC_ALPHABET } from 'phonetic-alphabet-converter';

To override that, you can pass a custom object to the second argument:

converter('abc', {
  a: 'Amsterdam',
  b: 'Baltimore',
  c: 'Casablanca',
});
// ['Amsterdam', 'Baltimore', 'Casablanca']

Or you can assign values to the default alphabet map:

import { NATO_PHONETIC_ALPHABET } from 'phonetic-alphabet-converter';

converter('abc', {
  ...NATO_PHONETIC_ALPHABET,
  a: 'alfa',
});
// ['alfa', 'bravo', 'charlie']

Testing

Run tests with coverage:

npm test

Run tests in watch mode:

npm run test:watch

Lint files:

npm run lint

Fix lint errors:

npm run lint:fix

Release

Only collaborators with credentials can release and publish:

npm run release
git push --follow-tags && npm publish

License

MIT