octo-deno/lib/make/arrays.js

30 lines
798 B
JavaScript
Raw Normal View History

2017-04-22 22:49:49 +00:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const make = require('../make')
const random = require('../random')
class arrays extends make {
2018-08-20 16:20:36 +00:00
/**
* Returns an array containing random values generated by the supplied function
* @param {Function} fn - Function used to generate values
* @param {number} limit - Length of the array
* @returns {Array}
*/
static filledArray (fn, limit = make.number.tiny()) {
const array = []
2017-04-22 22:49:49 +00:00
2018-08-20 16:20:36 +00:00
for (let i = 0; i < limit; i++) {
const value = random.pick(fn)
if (value !== null) {
array.push(value)
}
2017-04-22 22:49:49 +00:00
}
return array
2017-04-22 22:49:49 +00:00
}
}
module.exports = arrays