invent-mots
v2.0.0
Published
Generates random words from a given language.
Downloads
8
Readme
invent-mots
Generates random words from a given language.
Installation
This package is distributed via npm:
npm install invent-mots
- or -
Download the file src/index.js
and add it to your ES6 project.
Usage
Setting up a language
Before generating any word, you need to set a language.
You can pass it an Array or Set of strings defining the language ...
var invent = require("invent-mots");
// - or - import invent from "invent-mots";
var language = ["hello", "world"];
invent.set(language);
... or directly an Array of strings defining the alphabet and a 2D Array defining the probabilites of each letter being followed by another.
var invent = require("invent-mots");
// - or - import invent from "invent-mots";
var language = {
alphabet: ["d", "e", "h", "l", "o", "r", "w"],
matrix: [
[0, 0.5, 0, 0 , 0.5, 0, 0],
[0, 0, 0, 1 , 0, 0, 0],
[0, 1, 0, 0 , 0, 0, 0],
[0.33333, 0, 0, 0.33333, 0.33333, 0, 0],
[0, 0, 0, 0 , 0, 1, 0],
[0, 0, 0, 1 , 0, 0, 0],
[0, 0, 0, 0 , 1, 0, 0]
]
};
invent.set(language);
Generating words
Once a language is set, you have different options to generate words.
var options = {
size: <int>, // Length of the words to be generated
number: <int>, // Number of words to generate
start: <string>, // String that will start every word
end: <string> // String that will end every word
};
None of those options are mandatory, so you can generate different sets of words, or just let it be plain random by not giving any options.
To generate a set of words, simply call:
invent.mots({
size: 3,
number: 1
});
// ["lor"]
Yay! I have created a piece of code that speaks Singlish lor! :smile:
License
MIT
Thanks
The idea for this module came from David Louapre's video and blog post on inventing new words.