UNPKG

gulp-avif-css-fix

Version:

Gulp plugin to use webp & avif in CSS

59 lines (58 loc) 2.13 kB
const detect = function (A = []) { var t = [ { type: 'webp', url: 'data:image/webp;base64,UklGRhwAAABXRUJQVlA4TBAAAAAvAAAAEAfQpv5HmQMR0f8A', }, { type: 'avif', url: 'data:image/avif;base64,AAAAHGZ0eXBtaWYxAAAAAG1pZjFhdmlmbWlhZgAAAPFtZXRhAAAAAAAAACFoZGxyAAAAAAAAAABwaWN0AAAAAAAAAAAAAAAAAAAAAA5waXRtAAAAAAABAAAAHmlsb2MAAAAABEAAAQABAAAAAAEVAAEAAAAeAAAAKGlpbmYAAAAAAAEAAAAaaW5mZQIAAAAAAQAAYXYwMUltYWdlAAAAAHBpcHJwAAAAUWlwY28AAAAUaXNwZQAAAAAAAAABAAAAAQAAABBwYXNwAAAAAQAAAAEAAAAVYXYxQ4EgAAAKBzgABpAQ0AIAAAAQcGl4aQAAAAADCAgIAAAAF2lwbWEAAAAAAAAAAQABBAECg4QAAAAmbWRhdAoHOAAGkBDQAjITFkAAAEgAAAB5TNw9UxdXU6F6oA == ', }, ].concat(A), e = {}, o = [], a = document.querySelector('html'); return ( t.map((A, t) => { !(function (A) { let t = new Image(); (t.src = A.url), (t.onerror = function (t) { var s = new Set( a.getAttribute('class') ? a.getAttribute('class').split(' ') : [] ); o.push( new Promise(function (t, o) { (e[A.type.toLowerCase()] = !1), t({ [A.type.toLowerCase()]: !1 }); }) ), s.add('no-' + A.type.toLowerCase()), a.setAttribute('class', [...s].join(' ')), console.log( A.type.toUpperCase() + ' not supported in this browser', t ); }), (t.onload = function (t) { var s = new Set( a.getAttribute('class') ? a.getAttribute('class').split(' ') : [] ); o.push( new Promise(function (t, o) { (e[A.type.toLowerCase()] = !0), t({ [A.type.toLowerCase()]: !0 }); }) ), s.add(A.type.toLowerCase()), a.setAttribute('class', [...s].join(' ')), console.log(A.type.toUpperCase() + ' supported in this browser'); }); })(A); }), Promise.all(o).then(function () { return e; }) ); }; detect();