Phase 1 PWA: prayer times, qibla, quran, hijri, tasbih, 99 names
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
'use strict';
|
||||
|
||||
var callBound = require('call-bound');
|
||||
|
||||
var toStr = callBound('Object.prototype.toString');
|
||||
|
||||
var isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, no-magic-numbers
|
||||
|
||||
var objectClass = '[object Object]';
|
||||
var ddaClass = '[object HTMLAllCollection]';
|
||||
|
||||
/** @type {(() => false) | ((value: unknown) => value is HTMLAllCollection)} */
|
||||
var isDDA = function isDocumentDotAll() {
|
||||
return /** @type {const} */ (false);
|
||||
};
|
||||
if (typeof document === 'object') {
|
||||
// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly
|
||||
var all = document.all;
|
||||
if (toStr(all) === toStr(document.all)) {
|
||||
isDDA = /** @type {import('.')} */ (function isDocumentDotAll(value) {
|
||||
/* globals document: false */
|
||||
// in IE 6-8, typeof document.all is "object" and it's truthy
|
||||
if ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {
|
||||
try {
|
||||
// @ts-expect-error nullish will throw
|
||||
var str = toStr(value);
|
||||
// IE 6-8 uses `objectClass`
|
||||
return (str === ddaClass || str === objectClass)
|
||||
&& /** @type {Function} */ (value)('') == null; // eslint-disable-line eqeqeq
|
||||
} catch (e) { /**/ }
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = isDDA;
|
||||
Reference in New Issue
Block a user