mirror of
https://github.com/astuto/astuto.git
synced 2025-12-15 19:27:52 +01:00
Add polyfill for padStart function
This commit is contained in:
20
app/javascript/helpers/padStart.js
Normal file
20
app/javascript/helpers/padStart.js
Normal file
@@ -0,0 +1,20 @@
|
||||
// padStart has been introduced in ES2017, but right now we're running on ES2016
|
||||
// This is a MDN polyfill used as an alternative
|
||||
// TODO: switch to ES2017 and remove this script
|
||||
|
||||
function padStart(str, targetLength, padString) {
|
||||
targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
|
||||
padString = String((typeof padString !== 'undefined' ? padString : ' '));
|
||||
if (str.length > targetLength) {
|
||||
return String(str);
|
||||
}
|
||||
else {
|
||||
targetLength = targetLength-str.length;
|
||||
if (targetLength > padString.length) {
|
||||
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
|
||||
}
|
||||
return padString.slice(0,targetLength) + String(str);
|
||||
}
|
||||
};
|
||||
|
||||
export default padStart;
|
||||
Reference in New Issue
Block a user