nhb-anagram-generator
v1.2.4
Published
A JavaScript/TypeScript library to generate meaningful anagrams.
Maintainers
Readme
Anagram Generator
Anagram Generator is a utility package that efficiently generates unique anagrams of a given word. It supports filtering anagrams based on a dictionary (English; embedded in the package) and limiting the number of results.
Features
- Generates unique anagrams for a given word.
- Limits the number of anagrams returned (default: 100, unlimited option available).
- Supports filtering anagrams based on an embedded English dictionary.
- Ensures the original word is always included in the output as the first element.
Installation
Install via npm or yarn:
npm i nhb-anagram-generatorpnpm add nhb-anagram-generatoryarn add nhb-anagram-generatorUsage
Importing the function
import { generateAnagrams } from 'nhb-anagram-generator';Generating anagrams
const anagrams = generateAnagrams('listen');
console.log(anagrams);
// Example output: ["listen", "silent", "enlist", "tinsel", "inlets", "slinte"]Using options
You can specify options such as limiting results or filtering valid dictionary words. By default it generates valid anagrams found in the dictionary.
import { generateAnagrams } from 'nhb-anagram-generator';
const options = {
limit: 50, // Return a maximum of 50 anagrams
validWords: false, // Include all generated anagrams no matter valid or invalid (not found in dictionary)
};
const anagrams = generateAnagrams('brain', options);
console.log(anagrams);
// Example output: ['brain', 'brani', 'brian', 'brina', 'brnai', 'brnia', 'barin', ...]API Reference
generateAnagrams(word: string, options?: AnagramOptions): string[]
Parameters
word(string) - The input word to generate anagrams from.options(optional)limit(number | 'all') - The maximum number of anagrams to return. Default is100. Set to'all'for unlimited or any other limit (e.g.500) of your choice.validWords(boolean) - Iftrue, only words found in the dictionary will be returned. Default istrue.
Returns
- An array of generated anagrams (all lowercase). The first element is always the given word.
Dictionary Support
- The package includes a built-in dictionary to validate generated anagrams.
- To disable dictionary validation, set
{validWords: false}in options.
License
This package is licensed under the MIT License.
