UNPKG

foop

Version:

interfaces that describe their intentions.

40 lines (38 loc) 2.83 kB
var curry = require('./curry') var always = require('./always') var times = require('./times') /** * Returns a fixed list of size `n` containing a specified identical value. * @since 5.0.0-beta.7 * @memberOf fp * * @param {*} value The value to repeat. * @param {Number} n The desired size of the output list. * @return {Array} A new array containing `n` `value`s. * * @TODO what about string.repeat?! * * @func * @fork v0.1.1 * @category List * @sig a -> n -> [a] * * @see fp/times * * @symb repeat(a, 0) = [] * @symb repeat(a, 1) = [a] * @symb repeat(a, 2) = [a, a] * * @example * * repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi'] * * var obj = {}; * var repeatedObjs = repeat(obj, 5); //=> [{}, {}, {}, {}, {}] * repeatedObjs[0] === repeatedObjs[1]; //=> true * */ module.exports = curry(2, function repeat(value, n) { return times(n, always(value)) }) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlcyI6WyJyZXBlYXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY3VycnkgPSByZXF1aXJlKCcuL2N1cnJ5JylcbmNvbnN0IGFsd2F5cyA9IHJlcXVpcmUoJy4vYWx3YXlzJylcbmNvbnN0IHRpbWVzID0gcmVxdWlyZSgnLi90aW1lcycpXG5cbi8qKlxuICogUmV0dXJucyBhIGZpeGVkIGxpc3Qgb2Ygc2l6ZSBgbmAgY29udGFpbmluZyBhIHNwZWNpZmllZCBpZGVudGljYWwgdmFsdWUuXG4gKiBAc2luY2UgNS4wLjAtYmV0YS43XG4gKiBAbWVtYmVyT2YgZnBcbiAqXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXBlYXQuXG4gKiBAcGFyYW0ge051bWJlcn0gbiBUaGUgZGVzaXJlZCBzaXplIG9mIHRoZSBvdXRwdXQgbGlzdC5cbiAqIEByZXR1cm4ge0FycmF5fSBBIG5ldyBhcnJheSBjb250YWluaW5nIGBuYCBgdmFsdWVgcy5cbiAqXG4gKiBAVE9ETyB3aGF0IGFib3V0IHN0cmluZy5yZXBlYXQ/IVxuICpcbiAqIEBmdW5jXG4gKiBAZm9yayB2MC4xLjFcbiAqIEBjYXRlZ29yeSBMaXN0XG4gKiBAc2lnIGEgLT4gbiAtPiBbYV1cbiAqXG4gKiBAc2VlIGZwL3RpbWVzXG4gKlxuICogQHN5bWIgcmVwZWF0KGEsIDApID0gW11cbiAqIEBzeW1iIHJlcGVhdChhLCAxKSA9IFthXVxuICogQHN5bWIgcmVwZWF0KGEsIDIpID0gW2EsIGFdXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICAgIHJlcGVhdCgnaGknLCA1KTsgLy89PiBbJ2hpJywgJ2hpJywgJ2hpJywgJ2hpJywgJ2hpJ11cbiAqXG4gKiAgICAgIHZhciBvYmogPSB7fTtcbiAqICAgICAgdmFyIHJlcGVhdGVkT2JqcyA9IHJlcGVhdChvYmosIDUpOyAvLz0+IFt7fSwge30sIHt9LCB7fSwge31dXG4gKiAgICAgIHJlcGVhdGVkT2Jqc1swXSA9PT0gcmVwZWF0ZWRPYmpzWzFdOyAvLz0+IHRydWVcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gY3VycnkoMiwgZnVuY3Rpb24gcmVwZWF0KHZhbHVlLCBuKSB7XG4gIHJldHVybiB0aW1lcyhuLCBhbHdheXModmFsdWUpKVxufSlcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztBQUNoQ0EsR0FBSyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ2xDQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7RUFDbEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUMvQixDQUFDOyJ9