source: node_modules/ramda-adjunct/es/internal/ponyfills/String.padStart.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: 1012 bytes
Line 
1import isFunction from '../../isFunction';
2import isNotUndefined from '../../isNotUndefined';
3import repeat from './String.repeat';
4var padStartPonyfill = function padStartPonyfill(padString, targetLength, value) {
5 // eslint-disable-next-line no-bitwise
6 var finalLength = targetLength >> 0; // truncate if number, or convert non-number to 0;
7 var finalPadString = String(isNotUndefined(padString) ? padString : ' ');
8
9 // return the original string, if targeted length is less than original strings length
10 if (value.length >= finalLength) {
11 return String(value);
12 }
13 finalLength -= value.length;
14 if (finalLength > finalPadString.length) {
15 var lenghtToPad = finalLength / finalPadString.length;
16 // append to original to ensure we are longer than needed
17 finalPadString += isFunction(String.prototype.repeat) ? finalPadString.repeat(lenghtToPad) : repeat(finalPadString, lenghtToPad);
18 }
19 return finalPadString.slice(0, finalLength) + String(value);
20};
21export default padStartPonyfill;
Note: See TracBrowser for help on using the repository browser.