DEV: Remove iOS 9.3 polyfills (#15343)

We're on iOS 15.2 now. 🙂
This commit is contained in:
Jarek Radosz 2021-12-17 02:47:13 +01:00 committed by GitHub
parent 5eab90e0f8
commit e6480bbb04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,71 +47,6 @@ if (!String.prototype.padEnd) {
};
}
// Needed for iOS 9.3
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
if (!Object.entries) {
Object.entries = function (obj) {
var ownProps = Object.keys(obj),
i = ownProps.length,
resArray = new Array(i); // preallocate the Array
while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]];
return resArray;
};
}
// Needed for iOS 9.3
// adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
if (!Object.values) {
Object.values = function (obj) {
var ownProps = Object.keys(obj),
i = ownProps.length,
resArray = new Array(i); // preallocate the Array
while (i--) resArray[i] = obj[ownProps[i]];
return resArray;
};
}
// Needed for iOS 9.3
// https://developer.mozilla.org/fr/docs/Web/API/NodeList/forEach
if (window.NodeList && !NodeList.prototype.forEach) {
NodeList.prototype.forEach = function (callback, thisArg) {
thisArg = thisArg || window;
for (var i = 0; i < this.length; i++) {
callback.call(thisArg, this[i], i, this);
}
};
}
// Needed for iOS 9.3
// from: https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/before()/before().md
(function (arr) {
arr.forEach(function (item) {
if (item.hasOwnProperty("before")) {
return;
}
Object.defineProperty(item, "before", {
configurable: true,
enumerable: true,
writable: true,
value: function before() {
var argArr = Array.prototype.slice.call(arguments),
docFrag = document.createDocumentFragment();
argArr.forEach(function (argItem) {
var isNode = argItem instanceof Node;
docFrag.appendChild(
isNode ? argItem : document.createTextNode(String(argItem))
);
});
this.parentNode.insertBefore(docFrag, this);
},
});
});
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
// Needed for Safari 15.2 and below
// from: https://github.com/iamdustan/smoothscroll
(function () {