mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 04:23:49 +08:00
f10078eab4
Multiple users are on chrome 56 when this is only supported on chrome 57. Given it's only few lines of code, it makes sense to keep supporting this.
53 lines
2.0 KiB
JavaScript
53 lines
2.0 KiB
JavaScript
/* eslint-disable */
|
|
|
|
// Any IE only polyfill should be moved in discourse-internet-explorer plugin
|
|
|
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags#Polyfill
|
|
// IE and EDGE
|
|
if (RegExp.prototype.flags === undefined) {
|
|
Object.defineProperty(RegExp.prototype, "flags", {
|
|
configurable: true,
|
|
get: function() {
|
|
return this.toString().match(/[gimsuy]*$/)[0];
|
|
}
|
|
});
|
|
}
|
|
|
|
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
|
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
|
|
if (!String.prototype.padStart) {
|
|
String.prototype.padStart = function padStart(targetLength, padString) {
|
|
targetLength = targetLength >> 0; //truncate if number, or convert non-number to 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); //append to original to ensure we are longer than needed
|
|
}
|
|
return padString.slice(0, targetLength) + String(this);
|
|
}
|
|
};
|
|
}
|
|
|
|
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
|
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd
|
|
if (!String.prototype.padEnd) {
|
|
String.prototype.padEnd = function padEnd(targetLength, padString) {
|
|
targetLength = targetLength >> 0; //floor if number or convert non-number to 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); //append to original to ensure we are longer than needed
|
|
}
|
|
return String(this) + padString.slice(0, targetLength);
|
|
}
|
|
};
|
|
}
|
|
|
|
/* eslint-enable */
|