neuralyzer-flash
Version:
π₯ MIB-style flash effect to forget all frontend errors
44 lines (42 loc) β’ 1.3 kB
JavaScript
const MESSAGES = {
en: 'There was no error.',
ru: 'ΠΠ΅ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.',
};
const PHRASES = {
en: `
π₯ *FLASH*
π Please remove your glasses.
π§ `,
ru: `
π₯ *ΠΠ‘ΠΠ«Π¨ΠΠ*
π Π‘Π½ΠΈΠΌΠΈΡΠ΅ ΠΎΡΠΊΠΈ.
π§ `,
};
class Neuralyzer {
static configure(config) {
var _a, _b;
// Use default message for lang if no message explicitly passed
const lang = (_a = config.lang) !== null && _a !== void 0 ? _a : this.config.lang;
this.config = Object.assign(Object.assign(Object.assign({}, this.config), config), { message: (_b = config.message) !== null && _b !== void 0 ? _b : MESSAGES[lang] });
}
static flash(customMessage) {
const { message, duration, cssClass, log, lang } = this.config;
const flashEl = document.createElement('div');
flashEl.classList.add(cssClass);
document.body.appendChild(flashEl);
setTimeout(() => {
flashEl.remove();
if (log) {
console.debug(`${PHRASES[lang]}${customMessage || message}`);
}
}, duration);
}
}
Neuralyzer.config = {
message: MESSAGES.en,
duration: 1000,
cssClass: 'neuralyzer-flash',
log: true,
lang: 'en',
};
export { Neuralyzer as default };