fictional
Version:
Generate fake data deterministically from a given input
33 lines (26 loc) • 711 B
JavaScript
var hash = require('./hash')
var fit = require('./utils/fit')
function times(a, b, c) {
return b != null && c != null ? timesMain(a, b, c) : timesCurried(a, b)
}
function timesMain(input, range, maker) {
var ids = hash.sequence2(input, 'times')
var n =
typeof range === 'number'
? range
: fit(ids.next().value, range[0], range[1])
var i = -1
var results = []
if (typeof maker === 'function')
while (++i < n) {
results.push(maker(ids.next().value))
}
else while (++i < n) results.push(maker)
return results
}
function timesCurried(range, maker) {
return function timesCurriedFn(input) {
return timesMain(input, range, maker)
}
}
module.exports = times