UNPKG

ramda-adjunct

Version:

Ramda Adjunct is the most popular and most comprehensive set of utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.

26 lines (20 loc) 816 B
import isFunction from '../../isFunction'; import isNotUndefined from '../../isNotUndefined'; import repeat from './String.repeat'; const padEndPolyfill = (padString, targetLength, value) => { // eslint-disable-next-line no-bitwise let finalLength = targetLength >> 0; let finalPadString = String(isNotUndefined(padString) ? padString : ' '); if (value.length > finalLength) { return String(value); } finalLength -= value.length; if (finalLength > finalPadString.length) { const remainingLength = finalLength / finalPadString.length; finalPadString += isFunction(String.prototype.repeat) ? finalPadString.repeat(remainingLength) : repeat(finalPadString, remainingLength); } return String(value) + finalPadString.slice(0, finalLength); }; export default padEndPolyfill;