snappymail/dev/polyfill.js

34 lines
753 B
JavaScript
Raw Normal View History

(w=>{
Array.prototype.flat || Object.defineProperty(Array.prototype, 'flat', {
configurable: true,
value: function flat(depth) {
depth = isNaN(depth) ? 1 : Number(depth);
return depth ? Array.prototype.reduce.call(this, (acc, cur) => {
if (Array.isArray(cur)) {
acc.push.apply(acc, flat.call(cur, depth - 1));
} else {
acc.push(cur);
}
return acc;
}, []) : this.slice();
},
writable: true
});
w.ResizeObserver || (w.ResizeObserver = class {
constructor(callback) {
this.observer = new MutationObserver(callback.debounce(250));
}
disconnect() {
this.observer.disconnect();
}
observe(target) {
this.observer.observe(target, { attributes: true, subtree: true, attributeFilter: ['style'] });
}
});
})(window);