changeset a2029b8fb4a3 in sao:5.0
details: https://hg.tryton.org/sao?cmd=changeset;node=a2029b8fb4a3
description:
        Add polyfill for padStart and padEnd

        issue9067
        review266821004
        (grafted from 7e3abe856f6709ea5c5c435d0c2bcfe9e0b691e6)
diffstat:

 src/sao.js |  34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diffs (44 lines):

diff -r 14cffcb4529e -r a2029b8fb4a3 src/sao.js
--- a/src/sao.js        Mon Feb 10 23:40:51 2020 +0100
+++ b/src/sao.js        Mon Feb 17 23:15:55 2020 +0100
@@ -35,6 +35,40 @@
             }
         });
     }
+    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) {

Reply via email to