From f34e520a64cdc4ab45d64628a1b6223d79b01030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 17 Feb 2020 23:15:55 +0100 Subject: [PATCH] Add polyfill for padStart and padEnd issue9067 review266821004 --- src/sao.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/sao.js b/src/sao.js index 2db5d5004c..b81a17dce1 100644 --- a/src/sao.js +++ b/src/sao.js @@ -35,6 +35,40 @@ var Sao = {}; } }); } + if (!String.prototype.padEnd) { + String.prototype.padEnd = function padEnd(targetLength, padString) { + targetLength = targetLength >> 0; + padString = String( + typeof padString !== 'undefined' ? padString : ' '); + if (this.length > targetLength) { + return String(this); + } else { + targetLength = targetLength - this.length; + if (targetLength > padString.length) { + padString += padString.repeat( + targetLength / padString.length); + } + return String(this) + padString.slice(0, targetLength); + } + }; + } + if (!String.prototype.padStart) { + String.prototype.padStart = function padStart(targetLength, padString) { + targetLength = targetLength >> 0; + padString = String( + typeof padString !== 'undefined' ? padString : ' '); + if (this.length > targetLength) { + return String(this); + } else { + targetLength = targetLength - this.length; + if (targetLength > padString.length) { + padString += padString.repeat( + targetLength / padString.length); + } + return padString.slice(0, targetLength) + String(this); + } + }; + } if (!Array.prototype.some) { Array.prototype.some = function(fun /*, thisp */) { if (this === null) {