@devsisters/console-easter-egg
Version:
Console easter egg libray at Devsisters Corp
60 lines (59 loc) • 3.16 kB
JavaScript
export var printImageEasterEgg = function (imageUrl, scale, messages) {
if (scale === void 0) { scale = 1; }
if (!/(http)?s?:?(\/\/[^"']*\.(?:png|jpg|jpeg|gif|png|svg))/g.test(imageUrl)) {
console.warn("Image URL is incorrect");
return;
}
var img = new Image();
img.onload = function () {
var imgStyle = getImgStyle(img.width, img.height, scale);
printFromImgStyle(imageUrl, imgStyle, messages);
};
img.src = imageUrl;
img.style.background = "url(" + imageUrl + ")";
};
export var printAsciiCIText = function (messages) {
if (messages === void 0) { messages = []; }
console.log("%c" +
"██████╗ ███████╗██╗ ██╗███████╗██╗███████╗████████╗███████╗██████╗ ███████╗\n" +
"██╔══██╗██╔════╝██║ ██║██╔════╝██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗██╔════╝\n" +
"██║ ██║█████╗ ██║ ██║███████╗██║███████╗ ██║ █████╗ ██████╔╝███████╗\n" +
"██║ ██║██╔══╝ ╚██╗ ██╔╝╚════██║██║╚════██║ ██║ ██╔══╝ ██╔══██╗╚════██║\n" +
"██████╔╝███████╗ ╚████╔╝ ███████║██║███████║ ██║ ███████╗██║ ██║███████║\n" +
"╚═════╝ ╚══════╝ ╚═══╝ ╚══════╝╚═╝╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝", "color: #fd7622;");
printExtraMessages(messages);
};
var getImgStyle = function (width, height, scale) {
if (scale === void 0) { scale = 1; }
return {
width: width * scale,
height: height * scale,
scale: scale,
string: "+",
style: "font-size: 1px; padding: " +
Math.floor((height * scale) / 2) +
"px " +
Math.floor((width * scale) / 2) +
"px; line-height: " +
height * scale +
"px;",
};
};
var printFromImgStyle = function (imageUrl, style, messages) {
if (messages === void 0) { messages = []; }
console.log("%c" + style.string, style.style +
"background-image: url(" +
imageUrl +
"); background-size: " +
style.width +
"px " +
style.height +
"px; background-size: 100% 100%; background-repeat: norepeat; color: transparent;");
printExtraMessages(messages);
};
var printExtraMessages = function (messages) {
if (messages === void 0) { messages = []; }
for (var i = 0; i < messages.length; i++) {
console.log(messages[i]);
}
};