UNPKG

f-utility

Version:

functional utilities

53 lines (46 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.word = exports.wordSource = undefined; var _katsuCurry = require("katsu-curry"); var _randomTake = require("./random-take"); var _array = require("./array"); // const trace = curry((a, b) => { // console.log(a, b) // return b // }) var alphabet = "abcdefghijklmnopqrstuvwxyz".split(""); /** * generate a "word" of some known length * @function random.wordSource * @param {strings[]} source - which characters should be used? * @param {number} howLong - how many characters should be used? * @return {string} word * @public * @example * import {random} from 'f-utility' * const {wordSource} = random * const dna = wordSource([`g`, `a`, `t`, `c`]) * dna(7) // `gattaca` */ var wordSource = exports.wordSource = (0, _katsuCurry.curry)(function (source, howLong) { return (0, _katsuCurry.pipe)((0, _randomTake.allot)(howLong), // trace(`...`), (0, _array.join)(""))(source); }); /** * generate a "word" of some known length * @function random.word * @param {number} x - how many characters should be used? * @return {string} word * @public * @example * import {random} from 'f-utility' * const {word} = random * word(5) // `lrmbs` */ var word = exports.word = function word() { var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5; return wordSource(alphabet, x); };