UNPKG

max-say

Version:

A fun console library that displays a cute text dog with 'Я собаня' message

115 lines 6.82 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.MaxSay = void 0; const figlet = __importStar(require("figlet")); class MaxSay { constructor(options = {}) { this.options = options; this.defaultMessage = 'Я собаня'; this.defaultFont = 'Standard'; } getDogArt() { return ` /\\___/\\ :%@+ @@.#* =*=. =@@@@@* . @ @ *@@+#=@@* = *@@@@@@* . @@. *@@@+:#@@@@ :. @@@@@@@. * =. # @@ -@@@*-@@*#=+#.@@@. *@@@@. .@@@ =: @@@@+. @@@+ .*..: @ . @#*@@. : @* .@@@@@@ * . @@ @ @@@%*. .:+=. * *@@.@@ @ @@@.* :#%@-- @@@@@ @@@@ @ @ @@.:*#@@@= @:. +@@#. @* * #@@@ @@@ @-* @@@@@@@@@@@@ . @@@@ +@ @ @@@@ = . *@ @ @@@@@@@@@@@ #@@@. @@@ #@@@@ @@ .@ .@@% ++@=% -@@@@ .+ @ @@ @@@@@@@@@@@+ + @@@@@. @ . %@= @- =# +@@@ @ @#. * @%=@@@ @ . - @@*%-@@@# @@@@@ -@- @= @= . @# @@@@#@@@ @% @*@@@* . .. @@ + %. .*. @@ @ @@@@ *= @*@#.. *@*@@@@: . . @@@@ .* .@ *@ -@@@@@@@ @@- @@@@@ +@ @@@@= @%+= .@@*.*@@@@% @ +@@@@ .@= : @@@ @@@ *#. @#@@@@. @ @@=@--@= .@#: @% @*@@@@@@@ @@@@@* = @@@@@@@@@@@@: . #@@@=@@@@ @@@#*.@@@#@#. : : +@::#@@@@@@@ @@@@@@. - =. . .*@@@@@@@@.-.@ .@* @*%%-*#+-@@..@@@@@..@%-@@* *+@*+#@#@@@@@@@ @@ @@@ .. @@*@..=@# . @@++. =-@@% @@@*+=-#+..=: @#: #@# .@ .@@@@ %@@. :=@@@%*@. @@@@ - .*: *-@.@@.@.. :-% :@@@@@**:.@@*@@ @@ =@. . =@@@@@@@@@#@+#+@ @@ - :% @*%#.. -=* == -:.-@++@:#@@@ .+.- @ #-:. =@@@@@@@ .. @ . *@=.+.@@.*- %# :@@@*@-:@@@ .@*@# .% %== @ +@.*=.:. @%@*-.-= .. @* @:-%:@@@@@@ . -@@@@@@@%@@=@=.@@*+ +@* . :@. # +% * @.@@@@*#@@ :%@..*- = ..:#@% @@@@@ :%@* *##@.-@@#@@@ %%@# :=::+%:+. @ @@@%@@@@@@@.. +-+:. . .. @@%=. .+% -:@@:@@@@@. @@@@@@ .@#.: %#- .@%@@- -#% @ :@@#*@@@ .@@@@@@. :+. .+@@- .%.@ **- @@%*@@@@ =@@@@@# .. +@. %= - . @@@@@@@@@@ . .#@@+ -:. -.** @@@@@@@@@@@ . +@@. : -=@@* +. . : @@@@@@@%.@@ +@@@%. -: .@@@@ . %#@*=. =+ *@@+*.=@@@. @*@@#%: @@#@@@@%= -+==. .@@-@@@@@@ .= -#+@@+@@ -@@@@ -:@@@@. @%-@*% `; } getMessageBox(message) { const lines = message.split('\n'); const maxLength = Math.max(...lines.map((line) => line.length)); const border = '─'.repeat(maxLength + 2); const messageLines = lines.map((line) => `│ ${line.padEnd(maxLength)} │`); return [`┌${border}┐`, ...messageLines, `└${border}┘`].join('\n'); } say(message) { const finalMessage = message || this.options.message || this.defaultMessage; const dogArt = this.getDogArt(); const messageBox = this.getMessageBox(finalMessage); return `${messageBox}\n${dogArt}`; } sayWithFont(message, font) { const finalMessage = message || this.options.message || this.defaultMessage; const finalFont = font || this.options.font || this.defaultFont; try { const styledMessage = figlet.textSync(finalMessage, { font: finalFont, }); const dogArt = this.getDogArt(); return `${styledMessage}\n${dogArt}`; } catch (error) { console.warn(`Font '${finalFont}' not available, using default`); return this.say(finalMessage); } } } exports.MaxSay = MaxSay; exports.default = MaxSay; //# sourceMappingURL=index.js.map