UNPKG

foop

Version:

interfaces that describe their intentions.

45 lines (43 loc) 3.45 kB
var slice = require('../native/arraySlice') var isString = require('../is/string') /** * Returns a new list or string with the elements or characters in reverse * order. * * @symb ⬅️ * @memberOf fp * @since 5.0.0-beta.5 * * @param {Array|String} x (list) string or array to reverse * @return {Array|String} * * @func * @ramda v0.1.0 * @category List * @sig [a] -> [a] * @sig String -> String * * {@link https://stackoverflow.com/a/26610963/2855712 stack-overflow-10-ways-to-reverse-string} * {@link https://github.com/ramda/ramda/blob/master/src/reverse.js ramda-reverse} * @see {@link ramda-reverse} * @see {@link stack-overflow-10-ways-to-reverse-string} * * @example * * reverse([1, 2, 3]); //=> [3, 2, 1] * reverse([1, 2]); //=> [2, 1] * reverse([1]); //=> [1] * reverse([]); //=> [] * * reverse('abc'); //=> 'cba' * reverse('ab'); //=> 'ba' * reverse('a'); //=> 'a' * reverse(''); //=> '' * */ module.exports = function reverse(x) { return isString(x) ? x.split('').reverse().join('') : slice.call(x, 0).reverse() } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZS5qcyIsInNvdXJjZXMiOlsicmV2ZXJzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzbGljZSA9IHJlcXVpcmUoJy4uL25hdGl2ZS9hcnJheVNsaWNlJylcbmNvbnN0IGlzU3RyaW5nID0gcmVxdWlyZSgnLi4vaXMvc3RyaW5nJylcblxuLyoqXG4gKiBSZXR1cm5zIGEgbmV3IGxpc3Qgb3Igc3RyaW5nIHdpdGggdGhlIGVsZW1lbnRzIG9yIGNoYXJhY3RlcnMgaW4gcmV2ZXJzZVxuICogb3JkZXIuXG4gKlxuICogQHN5bWIg4qyF77iPXG4gKiBAbWVtYmVyT2YgZnBcbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjVcbiAqXG4gKiBAcGFyYW0ge0FycmF5fFN0cmluZ30geCAobGlzdCkgc3RyaW5nIG9yIGFycmF5IHRvIHJldmVyc2VcbiAqIEByZXR1cm4ge0FycmF5fFN0cmluZ31cbiAqXG4gKiBAZnVuY1xuICogQHJhbWRhIHYwLjEuMFxuICogQGNhdGVnb3J5IExpc3RcbiAqIEBzaWcgW2FdIC0+IFthXVxuICogQHNpZyBTdHJpbmcgLT4gU3RyaW5nXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYxMDk2My8yODU1NzEyIHN0YWNrLW92ZXJmbG93LTEwLXdheXMtdG8tcmV2ZXJzZS1zdHJpbmd9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvbWFzdGVyL3NyYy9yZXZlcnNlLmpzIHJhbWRhLXJldmVyc2V9XG4gKiBAc2VlIHtAbGluayByYW1kYS1yZXZlcnNlfVxuICogQHNlZSB7QGxpbmsgc3RhY2stb3ZlcmZsb3ctMTAtd2F5cy10by1yZXZlcnNlLXN0cmluZ31cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgICAgcmV2ZXJzZShbMSwgMiwgM10pOyAgLy89PiBbMywgMiwgMV1cbiAqICAgICAgcmV2ZXJzZShbMSwgMl0pOyAgICAgLy89PiBbMiwgMV1cbiAqICAgICAgcmV2ZXJzZShbMV0pOyAgICAgICAgLy89PiBbMV1cbiAqICAgICAgcmV2ZXJzZShbXSk7ICAgICAgICAgLy89PiBbXVxuICpcbiAqICAgICAgcmV2ZXJzZSgnYWJjJyk7ICAgICAgLy89PiAnY2JhJ1xuICogICAgICByZXZlcnNlKCdhYicpOyAgICAgICAvLz0+ICdiYSdcbiAqICAgICAgcmV2ZXJzZSgnYScpOyAgICAgICAgLy89PiAnYSdcbiAqICAgICAgcmV2ZXJzZSgnJyk7ICAgICAgICAgLy89PiAnJ1xuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByZXZlcnNlKHgpIHtcbiAgcmV0dXJuIGlzU3RyaW5nKHgpXG4gICAgPyB4LnNwbGl0KCcnKS5yZXZlcnNlKCkuam9pbignJylcbiAgICA6IHNsaWNlLmNhbGwoeCwgMCkucmV2ZXJzZSgpXG59XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztBQUM3Q0EsR0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUN4QyxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsT0FBTyxDQUFDLENBQUMsRUFBRTtFQUNuQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUM7TUFDZCxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7TUFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQy9COyJ9