invent-mots

2.0.0 • Public • Published

invent-mots

version Travis Codecov issues downloads license

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! 😄

License

MIT

Thanks

The idea for this module came from David Louapre's video and blog post on inventing new words.

Readme

Keywords

Package Sidebar

Install

npm i invent-mots

Weekly Downloads

5

Version

2.0.0

License

MIT

Unpacked Size

8.32 kB

Total Files

4

Last publish

Collaborators

  • antoniovdlc