source: node_modules/ramda-adjunct/src/internal/ponyfills/String.padEnd.js@ d24f17c

main
Last change on this file since d24f17c was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 816 bytes
Line 
1import isFunction from '../../isFunction';
2import isNotUndefined from '../../isNotUndefined';
3import repeat from './String.repeat';
4
5const padEndPonyfill = (padString, targetLength, value) => {
6 // eslint-disable-next-line no-bitwise
7 let finalLength = targetLength >> 0;
8 let finalPadString = String(isNotUndefined(padString) ? padString : ' ');
9
10 if (value.length > finalLength) {
11 return String(value);
12 }
13
14 finalLength -= value.length;
15 if (finalLength > finalPadString.length) {
16 const remainingLength = finalLength / finalPadString.length;
17 finalPadString += isFunction(String.prototype.repeat)
18 ? finalPadString.repeat(remainingLength)
19 : repeat(finalPadString, remainingLength);
20 }
21
22 return String(value) + finalPadString.slice(0, finalLength);
23};
24
25export default padEndPonyfill;
Note: See TracBrowser for help on using the repository browser.