string/reverseStr.ts

/** @module String */

import { isStr } from './isStr'

/**
 * Reverses string
 * @function
 * @param {String} str - string to reverse
 * @return {String} reversed str
 * @example
 * reverseStr('foo') // 'oof'
 */
export const reverseStr = <T extends string = string>(str: string): T => {
  if (!isStr(str)) return undefined
  let reversed = ''
  for (let char of str) {
    reversed = char + reversed
  }
  return reversed as T
}