import { captureError } from '../errors' import { createTimer, logTestResult, performanceLogger, hashSlice } from '../utils/helpers' import { HTMLNote, count, modal } from '../utils/html' export default function getHTMLElementVersion() { try { const timer = createTimer() timer.start() const keys = [] // eslint-disable-next-line guard-for-in for (const key in document.documentElement) { keys.push(key) } logTestResult({ time: timer.stop(), test: 'html element', passed: true }) return { keys } } catch (error) { logTestResult({ test: 'html element', passed: false }) captureError(error) return } } export function htmlElementVersionHTML(fp) { if (!fp.htmlElementVersion) { return `
HTMLElement
keys (0): ${HTMLNote.Blocked}
${HTMLNote.Blocked}
` } const { htmlElementVersion: { $hash, keys, }, } = fp return `
${performanceLogger.getLog()['html element']} HTMLElement${hashSlice($hash)}
keys (${count(keys)}): ${keys && keys.length ? modal('creep-html-element-version', keys.join(', ')) : HTMLNote.Blocked}
0% of engine
` }