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/. */
|
|
|
|
|
2018-03-19 03:23:05 +00:00
|
|
|
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) {
|
2017-07-21 18:05:40 +00:00
|
|
|
array.push(value)
|
|
|
|
}
|
2017-04-22 22:49:49 +00:00
|
|
|
}
|
|
|
|
|
2017-04-25 22:21:31 +00:00
|
|
|
return array
|
2017-04-22 22:49:49 +00:00
|
|
|
}
|
2017-04-25 22:21:31 +00:00
|
|
|
}
|
2018-03-19 03:23:05 +00:00
|
|
|
|
|
|
|
module.exports = arrays
|