New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

awesome-logging

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

awesome-logging - npm Package Compare versions

Comparing version 0.1.3 to 0.2.0

lib/logger/logger-base.d.ts

20

lib/awesome-logger.d.ts

@@ -1,21 +0,11 @@

import { TextObject, TextValue } from './models/text-object';
import { AwesomeLoggerType, LoggerConfig, LoggerReturnType } from './logger/types/logger-type';
import { AwesomeLoggerBase } from './logger/models/logger-base';
import { AwesomeLoggerTextControl } from './logger/models/config/text';
import { AwesomePromptType, PromptConfig, PromptReturnType } from './interaction/types/prompt-type';
import { AwesomeLoggerType, LoggerConfig, LoggerReturnType } from './logger/logger-type';
import { AwesomePromptType, PromptConfig, PromptReturnType } from './prompt/prompt-type';
export declare class AwesomeLogger {
private static activeLogger?;
private static _lastRenderedLines;
private static _maxLinesInTerminal;
static restrictedLogging: boolean;
static get maxLinesInTerminal(): number;
static set maxLinesInTerminal(value: number);
static logText(text: string | TextValue): AwesomeLoggerTextControl;
static create<T extends AwesomeLoggerType>(type: T, config?: LoggerConfig<T>): LoggerReturnType<T>;
static visibleLineCount(allLines: TextObject[]): number;
private static renderScrollWindow;
static log<T extends 'text'>(text: string): LoggerReturnType<T>;
static log<T extends AwesomeLoggerType>(logger: LoggerReturnType<T>): LoggerReturnType<T>;
static log<T extends AwesomeLoggerType>(type: T, config: LoggerConfig<T>): LoggerReturnType<T>;
static interrupt<T extends AwesomeLoggerType>(type: T, config: LoggerConfig<T>): void;
static loggerChanged(calledFrom: AwesomeLoggerBase): void;
static prompt<T extends AwesomePromptType>(type: T, config: PromptConfig<T>): PromptReturnType<T>;
static interrupt(text: string): void;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeLogger = void 0;
var text_object_1 = require("./models/text-object");
var multi_logger_1 = require("./logger/models/multi-logger");
var progress_logger_1 = require("./logger/models/progress-logger");
var spinner_logger_1 = require("./logger/models/spinner-logger");
var text_logger_1 = require("./logger/models/text-logger");
var ansi_utils_1 = require("./utils/ansi-utils");
var text_prompt_1 = require("./interaction/models/text-prompt");
var toggle_prompt_1 = require("./interaction/models/toggle-prompt");
var checklist_logger_1 = require("./logger/models/checklist-logger");
var AwesomeLogger = /** @class */ (function () {
function AwesomeLogger() {
const logger_creator_1 = require("./logger/logger-creator");
const logger_manager_1 = require("./logger/logger-manager");
const prompt_creator_1 = require("./prompt/prompt-creator");
logger_manager_1.LoggerManager.getInstance();
class AwesomeLogger {
static create(type, config) {
const loggerReturnType = logger_creator_1.LoggerCreator.create(type, config);
return loggerReturnType;
}
Object.defineProperty(AwesomeLogger, "maxLinesInTerminal", {
get: function () {
var _a, _b, _c;
var terminalSize = (_b = (_a = process.stdout) === null || _a === void 0 ? void 0 : _a.getWindowSize) === null || _b === void 0 ? void 0 : _b.call(_a);
var maxPrintHeight = (_c = terminalSize === null || terminalSize === void 0 ? void 0 : terminalSize[1]) !== null && _c !== void 0 ? _c : this._maxLinesInTerminal;
return Math.min(maxPrintHeight, this._maxLinesInTerminal);
},
set: function (value) {
this._maxLinesInTerminal = value;
},
enumerable: false,
configurable: true
});
AwesomeLogger.logText = function (text) {
return this.log('text', { text: text });
};
AwesomeLogger.create = function (type, config) {
var logger = undefined;
switch (type) {
case 'text': {
logger = new text_logger_1.AwesomeTextLogger(config);
break;
}
case 'progress': {
logger = new progress_logger_1.AwesomeProgressLogger(config);
break;
}
case 'spinner': {
logger = new spinner_logger_1.AwesomeSpinnerLogger(config);
break;
}
case 'multi': {
logger = new multi_logger_1.AwesomeMultiLogger(config);
break;
}
case 'checklist': {
logger = new checklist_logger_1.AwesomeChecklistLogger(config);
break;
}
}
if (!logger) {
throw new Error("Logger type '" + type + "' not found");
}
static log(param1, param2) {
const logger = typeof param1 === 'object'
? param1
: !!param2
? logger_creator_1.LoggerCreator.create(param1, param2)
: AwesomeLogger.create('text', { text: param1 });
logger_manager_1.LoggerManager.getInstance().log(logger);
return logger;
};
AwesomeLogger.visibleLineCount = function (allLines) {
return Math.min(allLines.length, this.maxLinesInTerminal);
};
AwesomeLogger.renderScrollWindow = function (allLines, scrollAmount, needsScroll) {
var _a, _b;
if (this.maxLinesInTerminal > allLines.length) {
needsScroll = false;
}
if (!needsScroll) {
for (var i = 0; i < allLines.length; i++) {
if (i !== 0) {
ansi_utils_1.INSERT_LINE();
}
else {
ansi_utils_1.MOVE_LEFT();
}
var line = allLines[i];
process.stdout.write(line.toLineString((_a = this._lastRenderedLines) === null || _a === void 0 ? void 0 : _a[i]));
}
this._lastRenderedLines = allLines;
return;
}
if (scrollAmount === 1) {
scrollAmount = 0;
}
var maxScrollAmount = allLines.length - this.maxLinesInTerminal + 1;
if (scrollAmount > maxScrollAmount && maxScrollAmount > 0) {
scrollAmount = maxScrollAmount;
}
var preDots = scrollAmount > 0;
var postDots = scrollAmount <= allLines.length - this.maxLinesInTerminal;
var acutalLines = new Array(this.maxLinesInTerminal);
var lineRenderCount = this.maxLinesInTerminal - (preDots ? 1 : 0) - (postDots ? 1 : 0);
if (preDots) {
acutalLines[0] = new text_object_1.TextObject(' ↑ ...', 'GRAY');
}
if (postDots) {
acutalLines[acutalLines.length - 1] = new text_object_1.TextObject(' ↓ ...', 'GRAY');
}
for (var i = 0; i < lineRenderCount; i++) {
var line = allLines[i + scrollAmount];
acutalLines[i + (preDots ? 1 : 0)] = line;
}
for (var i = 0; i < acutalLines.length; i++) {
var line = acutalLines[i];
if (i !== 0) {
ansi_utils_1.INSERT_LINE();
}
else {
ansi_utils_1.MOVE_LEFT();
}
var text = line.toLineString((_b = this._lastRenderedLines) === null || _b === void 0 ? void 0 : _b[i]);
process.stdout.write(text);
}
this._lastRenderedLines = acutalLines;
};
AwesomeLogger.log = function (type, config) {
var loggerReturnType = this.create(type, config);
var logger = loggerReturnType;
var renderedLines = logger.render().allLines();
this.renderScrollWindow(renderedLines, logger.scrollAmount, logger.needsScroll());
this.activeLogger = logger;
return loggerReturnType;
};
AwesomeLogger.interrupt = function (type, config) {
if (!this.activeLogger || !this._lastRenderedLines) {
var noActiveLogger = !this.activeLogger;
var noLastRenderedLines = !this._lastRenderedLines;
this.log(type, config);
if (noLastRenderedLines) {
this._lastRenderedLines = undefined;
}
if (noActiveLogger) {
this.activeLogger = undefined;
}
return;
}
var logger = this.create(type, config);
var interruptText = logger.render().toString();
if (!interruptText) {
return;
}
this._lastRenderedLines = undefined;
var renderedLines = this.activeLogger.render().allLines();
if (!AwesomeLogger.restrictedLogging) {
this.activeLogger.clean();
}
ansi_utils_1.INSERT_LINE();
process.stdout.write(interruptText);
if (!AwesomeLogger.restrictedLogging) {
this.renderScrollWindow(renderedLines, this.activeLogger.scrollAmount, this.activeLogger.needsScroll());
}
};
AwesomeLogger.loggerChanged = function (calledFrom) {
var _a, _b, _c, _d, _e;
var validCaller = this.activeLogger.canBeCalledFrom(calledFrom);
if (!validCaller) {
throw new Error('This logger is not active anymore');
}
ansi_utils_1.HIDE_CURSOR();
var renderedLines = this.activeLogger.render().allLines();
if (!renderedLines) {
return;
}
if (AwesomeLogger.restrictedLogging) {
for (var i = 0; i < renderedLines.length; i++) {
var line = renderedLines[i];
var changedLine = line.toLineString((_a = this._lastRenderedLines) === null || _a === void 0 ? void 0 : _a[i]);
if (changedLine) {
console.log(line.toLineString());
}
if (this._lastRenderedLines) {
this._lastRenderedLines[i] = line;
}
}
return;
}
var lastLineCount = (_c = (_b = this._lastRenderedLines) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
var newLineCount = (_d = renderedLines.length) !== null && _d !== void 0 ? _d : 0;
var visibleLines = this.visibleLineCount((_e = this._lastRenderedLines) !== null && _e !== void 0 ? _e : []);
if (visibleLines < this.maxLinesInTerminal) {
var moreLines = newLineCount - lastLineCount;
if (moreLines > 0) {
for (var i = 0; i < moreLines; i++) {
ansi_utils_1.INSERT_LINE();
}
}
}
if (newLineCount < this.maxLinesInTerminal) {
var lessLines = lastLineCount - newLineCount;
if (lessLines > 0) {
ansi_utils_1.MOVE_UP(lessLines - 1);
for (var i = 0; i < lessLines; i++) {
ansi_utils_1.DELETE_LINE();
}
ansi_utils_1.MOVE_UP(1);
}
}
ansi_utils_1.MOVE_UP(this.visibleLineCount(renderedLines) - 1);
this.renderScrollWindow(renderedLines, this.activeLogger.scrollAmount, this.activeLogger.needsScroll());
};
AwesomeLogger.prompt = function (type, config) {
var prompt = undefined;
switch (type) {
case 'text': {
prompt = new text_prompt_1.AwesomeTextPromt(config);
break;
}
case 'toggle': {
prompt = new toggle_prompt_1.AwesomeTogglePromt(config);
break;
}
}
if (!prompt) {
throw new Error("Logger type '" + type + "' not found");
}
this.activeLogger = prompt;
if (AwesomeLogger.restrictedLogging) {
throw new Error('Restricted logging is enabled. Cannot use propmts');
}
var renderedLines = prompt.render().allLines();
this.renderScrollWindow(renderedLines, prompt.scrollAmount, prompt.needsScroll());
prompt.init();
prompt.waitForUserInput();
}
static prompt(type, config) {
const prompt = prompt_creator_1.PromptCreator.create(type, config);
logger_manager_1.LoggerManager.getInstance().prompt(prompt);
return prompt;
};
AwesomeLogger._maxLinesInTerminal = 25;
AwesomeLogger.restrictedLogging = false;
return AwesomeLogger;
}());
}
static interrupt(text) {
logger_manager_1.LoggerManager.getInstance().interrupt(text);
}
}
exports.AwesomeLogger = AwesomeLogger;
AwesomeLogger.restrictedLogging = false;
//# sourceMappingURL=awesome-logger.js.map
export * from './awesome-logger';
export * from './types/logger-color';
export * from './models/text-object';
export * from './logger/types/logger-definitions';
export * from './logger/types/logger-type';
export * from './logger/models/logger-base';
export * from './logger/models/checklist-logger';
export * from './logger/models/multi-logger';
export * from './logger/models/progress-logger';
export * from './logger/models/spinner-logger';
export * from './logger/models/text-logger';
export * from './logger/models/config/checklist';
export * from './logger/models/config/multi';
export * from './logger/models/config/progress';
export * from './logger/models/config/spinner';
export * from './logger/models/config/text';
export * from './interaction/types/prompt-definitions';
export * from './interaction/types/prompt-type';
export * from './interaction/models/prompt-base';
export * from './interaction/models/text-prompt';
export * from './interaction/models/toggle-prompt';
export * from './interaction/models/config/base';
export * from './interaction/models/config/text';
export * from './interaction/models/config/toggle';
export * from './utils/ansi-utils';

@@ -14,26 +14,2 @@ "use strict";

__exportStar(require("./awesome-logger"), exports);
__exportStar(require("./types/logger-color"), exports);
__exportStar(require("./models/text-object"), exports);
__exportStar(require("./logger/types/logger-definitions"), exports);
__exportStar(require("./logger/types/logger-type"), exports);
__exportStar(require("./logger/models/logger-base"), exports);
__exportStar(require("./logger/models/checklist-logger"), exports);
__exportStar(require("./logger/models/multi-logger"), exports);
__exportStar(require("./logger/models/progress-logger"), exports);
__exportStar(require("./logger/models/spinner-logger"), exports);
__exportStar(require("./logger/models/text-logger"), exports);
__exportStar(require("./logger/models/config/checklist"), exports);
__exportStar(require("./logger/models/config/multi"), exports);
__exportStar(require("./logger/models/config/progress"), exports);
__exportStar(require("./logger/models/config/spinner"), exports);
__exportStar(require("./logger/models/config/text"), exports);
__exportStar(require("./interaction/types/prompt-definitions"), exports);
__exportStar(require("./interaction/types/prompt-type"), exports);
__exportStar(require("./interaction/models/prompt-base"), exports);
__exportStar(require("./interaction/models/text-prompt"), exports);
__exportStar(require("./interaction/models/toggle-prompt"), exports);
__exportStar(require("./interaction/models/config/base"), exports);
__exportStar(require("./interaction/models/config/text"), exports);
__exportStar(require("./interaction/models/config/toggle"), exports);
__exportStar(require("./utils/ansi-utils"), exports);
//# sourceMappingURL=index.js.map

@@ -1,3 +0,2 @@

import { TextObject } from '../../models/text-object';
import { AwesomeLoggerBase } from '../models/logger-base';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeChecklistLoggerConfig, AwesomeChecklistLoggerControl, AwesomeChecklistLoggerState } from './config/checklist';

@@ -8,5 +7,6 @@ export declare class AwesomeChecklistLogger extends AwesomeLoggerBase implements AwesomeChecklistLoggerControl {

constructor(options?: Partial<AwesomeChecklistLoggerConfig>);
end(): void;
hasChanges(): boolean;
canBeCalledFrom(calledFrom: AwesomeLoggerBase): boolean;
getNextLine(): TextObject;
getNextLine(): string;
needsScroll(): boolean;

@@ -13,0 +13,0 @@ changeState(index: number, state: AwesomeChecklistLoggerState, newText?: string): void;

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeChecklistLogger = void 0;
var awesome_logger_1 = require("../../awesome-logger");
var text_object_1 = require("../../models/text-object");
var logger_base_1 = require("../models/logger-base");
var AwesomeChecklistLogger = /** @class */ (function (_super) {
__extends(AwesomeChecklistLogger, _super);
function AwesomeChecklistLogger(options) {
var _this = _super.call(this) || this;
const chalk_1 = __importDefault(require("chalk"));
const awesome_logger_1 = require("../../awesome-logger");
const logger_base_1 = require("../logger-base");
class AwesomeChecklistLogger extends logger_base_1.AwesomeLoggerBase {
constructor(options) {
super();
if (!(options === null || options === void 0 ? void 0 : options.items)) {
throw new Error('Cannot initiate AwesomeChecklistLogger without any items');
}
_this._options = { items: options.items };
var lineChildren = [];
for (var i = 0; i < _this._options.items.length; i++) {
lineChildren.push(awesome_logger_1.AwesomeLogger.create('text', { text: _this.calculateLine(i) }));
this._options = { items: options.items };
const lineChildren = [];
for (let i = 0; i < this._options.items.length; i++) {
lineChildren.push(awesome_logger_1.AwesomeLogger.create('text', { text: this.calculateLine(i) }));
}
_this._multiLine = awesome_logger_1.AwesomeLogger.create('multi', { children: lineChildren });
return _this;
this._multiLine = awesome_logger_1.AwesomeLogger.create('multi', { children: lineChildren });
}
AwesomeChecklistLogger.prototype.hasChanges = function () {
end() { }
hasChanges() {
return this._multiLine.hasChanges();
};
AwesomeChecklistLogger.prototype.canBeCalledFrom = function (calledFrom) {
}
canBeCalledFrom(calledFrom) {
return calledFrom === this || this._multiLine.canBeCalledFrom(calledFrom);
};
AwesomeChecklistLogger.prototype.getNextLine = function () {
}
getNextLine() {
return this._multiLine.getNextLine();
};
AwesomeChecklistLogger.prototype.needsScroll = function () {
}
needsScroll() {
return true;
};
AwesomeChecklistLogger.prototype.changeState = function (index, state, newText) {
var item = this._options.items[index];
}
changeState(index, state, newText) {
const item = this._options.items[index];
if (!item) {

@@ -59,4 +48,4 @@ throw new Error('item index out of range');

}
var scroll = 0;
var firstUnfinishedOptionIndex = this._options.items.findIndex(function (x) { return x.state === 'inProgress' || x.state === 'pending'; });
let scroll = 0;
const firstUnfinishedOptionIndex = this._options.items.findIndex(x => x.state === 'inProgress' || x.state === 'pending');
if (firstUnfinishedOptionIndex !== -1) {

@@ -72,32 +61,31 @@ scroll = firstUnfinishedOptionIndex;

this._multiLine.getChild(index).setText(this.calculateLine(index));
};
AwesomeChecklistLogger.prototype.calculateLine = function (index) {
var item = this._options.items[index];
var prefix = this.getPrefix(item.state);
prefix.append(" " + item.text);
// No need to call restrictedChanged here, because the textlogger does already handle that.
}
calculateLine(index) {
const item = this._options.items[index];
const prefix = `${this.getPrefix(item.state)} ${item.text}`;
return prefix;
};
AwesomeChecklistLogger.prototype.getPrefix = function (state) {
}
getPrefix(state) {
switch (state) {
case 'done':
return new text_object_1.TextObject(' √', 'GREEN');
return chalk_1.default.green(' √');
case 'failed':
return new text_object_1.TextObject(' X', 'RED');
return chalk_1.default.red(' X');
case 'inProgress':
return new text_object_1.TextObject(' >', 'BLUE');
return chalk_1.default.blue(' >');
case 'partiallySucceeded':
return new text_object_1.TextObject(' !', 'YELLOW');
return chalk_1.default.yellow(' !');
case 'skipped':
return new text_object_1.TextObject(' ■', 'GREEN');
return chalk_1.default.green(' ■');
case 'pending':
return new text_object_1.TextObject(' ■', 'GRAY');
return chalk_1.default.gray(' ■');
case 'succeeded':
return new text_object_1.TextObject(' √', 'GREEN');
return chalk_1.default.green(' √');
default:
return new text_object_1.TextObject(' ?', 'GRAY');
return chalk_1.default.gray(' ?');
}
};
return AwesomeChecklistLogger;
}(logger_base_1.AwesomeLoggerBase));
}
}
exports.AwesomeChecklistLogger = AwesomeChecklistLogger;
//# sourceMappingURL=checklist-logger.js.map

@@ -0,1 +1,2 @@

import { AwesomeLoggerBase } from '../../logger-base';
export interface AwesomeChecklistLoggerItem {

@@ -9,4 +10,4 @@ state: AwesomeChecklistLoggerState;

}
export interface AwesomeChecklistLoggerControl {
export interface AwesomeChecklistLoggerControl extends AwesomeLoggerBase {
changeState(index: number, state: AwesomeChecklistLoggerState, newText?: string): void;
}

@@ -1,7 +0,7 @@

import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerBase } from '../../logger-base';
export interface AwesomeLoggerMultiConfig {
children: AwesomeLoggerBase[];
}
export interface AwesomeLoggerMultiControl {
export interface AwesomeLoggerMultiControl extends AwesomeLoggerBase {
getChild<T extends AwesomeLoggerBase>(index: number): T;
}

@@ -1,8 +0,7 @@

import { TextObject, TextValue } from '../../../models/text-object';
import { AwesomeLoggerColor } from '../../../types/logger-color';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerColor } from '../../../utils/logger-color';
import { AwesomeLoggerBase } from '../../logger-base';
export interface AwesomeProgressLoggerConfig {
totalProgress: number;
text: string | TextValue;
completedText: string | TextValue;
text: string;
completedText: string;
unfilledChar: string;

@@ -17,3 +16,3 @@ filledChar: string;

export interface AwesomeProgressLoggerControl extends AwesomeLoggerBase {
setProgress(progress: number, text?: string | TextValue | TextObject): void;
setProgress(progress: number, text?: string): void;
}

@@ -1,9 +0,6 @@

import { TextValue } from '../../../models/text-object';
import { AwesomeLoggerColor } from '../../../types/logger-color';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerBase } from '../../logger-base';
export interface AwesomeLoggerSpinnerConfig {
spinnerFrames: string[];
text: string | TextValue;
text: string;
spinnerDelay: number;
spinnerColor: AwesomeLoggerColor;
}

@@ -10,0 +7,0 @@ export interface AwesomeLoggerSpinnerControl extends AwesomeLoggerBase {

@@ -1,8 +0,7 @@

import { TextObject, TextValue } from '../../../models/text-object';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerBase } from '../../logger-base';
export interface AwesomeLoggerTextConfig {
text: string | TextValue | TextObject;
text: string;
}
export interface AwesomeLoggerTextControl extends AwesomeLoggerBase {
setText(text: string | TextValue | TextObject): void;
setText(text: string): void;
}

@@ -1,3 +0,2 @@

import { TextObject } from '../../models/text-object';
import { AwesomeLoggerBase } from '../models/logger-base';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerMultiControl, AwesomeLoggerMultiConfig } from './config/multi';

@@ -7,2 +6,3 @@ export declare class AwesomeMultiLogger extends AwesomeLoggerBase implements AwesomeLoggerMultiControl {

constructor(config?: Partial<AwesomeLoggerMultiConfig>);
end(): void;
needsScroll(): boolean;

@@ -12,3 +12,3 @@ hasChanges(): boolean;

getChild<T extends AwesomeLoggerBase>(index: number): T;
getNextLine(): TextObject;
getNextLine(): string;
}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeMultiLogger = void 0;
var logger_base_1 = require("../models/logger-base");
var AwesomeMultiLogger = /** @class */ (function (_super) {
__extends(AwesomeMultiLogger, _super);
function AwesomeMultiLogger(config) {
const logger_base_1 = require("../logger-base");
class AwesomeMultiLogger extends logger_base_1.AwesomeLoggerBase {
constructor(config) {
var _a;
var _this = _super.call(this) || this;
_this._children = (_a = config === null || config === void 0 ? void 0 : config.children) !== null && _a !== void 0 ? _a : [];
return _this;
super();
this._children = (_a = config === null || config === void 0 ? void 0 : config.children) !== null && _a !== void 0 ? _a : [];
}
AwesomeMultiLogger.prototype.needsScroll = function () {
end() {
this._children.forEach(x => x.end());
}
needsScroll() {
return true;
};
AwesomeMultiLogger.prototype.hasChanges = function () {
return this._children.some(function (x) { return x.hasChanges(); });
};
AwesomeMultiLogger.prototype.canBeCalledFrom = function (calledFrom) {
return calledFrom === this || this._children.some(function (x) { return x.canBeCalledFrom(calledFrom); });
};
AwesomeMultiLogger.prototype.getChild = function (index) {
}
hasChanges() {
return this._children.some(x => x.hasChanges());
}
canBeCalledFrom(calledFrom) {
return calledFrom === this || this._children.some(x => x.canBeCalledFrom(calledFrom));
}
getChild(index) {
return this._children[index];
};
AwesomeMultiLogger.prototype.getNextLine = function () {
var res = this._children[0].render();
var latestChild = this._children[0].render();
var first = true;
this._children.forEach(function (child) {
if (!first) {
latestChild = latestChild.appendLine(child.render());
}
else {
first = false;
}
});
}
getNextLine() {
const res = this._children.map(c => c.render()).join('\n');
return res;
};
return AwesomeMultiLogger;
}(logger_base_1.AwesomeLoggerBase));
}
}
exports.AwesomeMultiLogger = AwesomeMultiLogger;
//# sourceMappingURL=multi-logger.js.map

@@ -1,3 +0,2 @@

import { TextObject } from '../../models/text-object';
import { AwesomeLoggerBase } from '../models/logger-base';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeProgressLoggerControl, AwesomeProgressLoggerConfig } from './config/progress';

@@ -7,8 +6,9 @@ export declare class AwesomeProgressLogger extends AwesomeLoggerBase implements AwesomeProgressLoggerControl {

private _currentProgress;
constructor(options?: Partial<AwesomeProgressLoggerConfig>);
end(): void;
needsScroll(): boolean;
constructor(options?: Partial<AwesomeProgressLoggerConfig>);
hasChanges(): boolean;
canBeCalledFrom(calledFrom: AwesomeLoggerBase): boolean;
getNextLine(): TextObject;
getNextLine(): string;
setProgress(progress: number): void;
}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeProgressLogger = void 0;
var text_object_1 = require("../../models/text-object");
var logger_base_1 = require("../models/logger-base");
var AwesomeProgressLogger = /** @class */ (function (_super) {
__extends(AwesomeProgressLogger, _super);
function AwesomeProgressLogger(options) {
const logger_color_1 = require("../../utils/logger-color");
const logger_base_1 = require("../logger-base");
class AwesomeProgressLogger extends logger_base_1.AwesomeLoggerBase {
constructor(options) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
var _this = _super.call(this) || this;
_this._currentProgress = 0;
_this._options = {
super();
this._currentProgress = 0;
this._options = {
totalProgress: (_a = options === null || options === void 0 ? void 0 : options.totalProgress) !== null && _a !== void 0 ? _a : 100,

@@ -31,37 +17,38 @@ text: (_b = options === null || options === void 0 ? void 0 : options.text) !== null && _b !== void 0 ? _b : '',

filledChar: (_e = options === null || options === void 0 ? void 0 : options.filledChar) !== null && _e !== void 0 ? _e : '■',
borderChar: (_f = options === null || options === void 0 ? void 0 : options.borderChar) !== null && _f !== void 0 ? _f : '▮',
borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : 'GRAY',
unfilledColor: (_h = options === null || options === void 0 ? void 0 : options.unfilledColor) !== null && _h !== void 0 ? _h : 'GRAY',
filledColor: (_j = options === null || options === void 0 ? void 0 : options.filledColor) !== null && _j !== void 0 ? _j : 'WHITE',
maxWidth: (_k = options === null || options === void 0 ? void 0 : options.maxWidth) !== null && _k !== void 0 ? _k : 999999
borderChar: (_f = options === null || options === void 0 ? void 0 : options.borderChar) !== null && _f !== void 0 ? _f : '■',
maxWidth: (_g = options === null || options === void 0 ? void 0 : options.maxWidth) !== null && _g !== void 0 ? _g : 999999,
borderColor: (_h = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _h !== void 0 ? _h : 'GRAY',
unfilledColor: (_j = options === null || options === void 0 ? void 0 : options.unfilledColor) !== null && _j !== void 0 ? _j : 'GRAY',
filledColor: (_k = options === null || options === void 0 ? void 0 : options.filledColor) !== null && _k !== void 0 ? _k : 'WHITE'
};
return _this;
}
AwesomeProgressLogger.prototype.needsScroll = function () {
end() { }
needsScroll() {
return false;
};
AwesomeProgressLogger.prototype.hasChanges = function () {
}
hasChanges() {
return this._hasChanges;
};
AwesomeProgressLogger.prototype.canBeCalledFrom = function (calledFrom) {
}
canBeCalledFrom(calledFrom) {
return calledFrom === this;
};
AwesomeProgressLogger.prototype.getNextLine = function () {
var totalLength = Math.min(process.stdout.columns - 2, this._options.maxWidth);
var finnishedLength = Math.round((this._currentProgress / this._options.totalProgress) * totalLength);
var unFinnishedLength = totalLength - finnishedLength;
return new text_object_1.TextObject(this._options.borderChar, this._options.borderColor)
.append(this._options.filledChar.repeat(finnishedLength), this._options.filledColor)
.append(this._options.unfilledChar.repeat(unFinnishedLength), this._options.unfilledColor)
.append(this._options.borderChar, this._options.borderColor);
};
AwesomeProgressLogger.prototype.setProgress = function (progress) {
}
getNextLine() {
const totalLength = Math.min(process.stdout.columns - 2, this._options.maxWidth);
const finnishedLength = Math.round((this._currentProgress / this._options.totalProgress) * totalLength);
const unFinnishedLength = totalLength - finnishedLength;
const res = logger_color_1.colorize(this._options.borderColor)(this._options.borderChar) +
logger_color_1.colorize(this._options.filledColor)(this._options.filledChar.repeat(finnishedLength)) +
logger_color_1.colorize(this._options.unfilledColor)(this._options.unfilledChar.repeat(unFinnishedLength)) +
logger_color_1.colorize(this._options.borderColor)(this._options.borderChar);
return res;
}
setProgress(progress) {
if (progress !== this._currentProgress) {
this._currentProgress = progress;
this.changed();
this.restrictedChanged(this.getNextLine());
}
};
return AwesomeProgressLogger;
}(logger_base_1.AwesomeLoggerBase));
}
}
exports.AwesomeProgressLogger = AwesomeProgressLogger;
//# sourceMappingURL=progress-logger.js.map

@@ -1,3 +0,2 @@

import { TextObject } from '../../models/text-object';
import { AwesomeLoggerBase } from '../models/logger-base';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerSpinnerConfig, AwesomeLoggerSpinnerControl } from './config/spinner';

@@ -7,3 +6,3 @@ export declare class AwesomeSpinnerLogger extends AwesomeLoggerBase implements AwesomeLoggerSpinnerControl {

private readonly _text;
private readonly _animationInterval;
private readonly _animationInterval?;
private _animationIndex;

@@ -15,6 +14,7 @@ private _stopped;

constructor(options?: Partial<AwesomeLoggerSpinnerConfig>);
end(): void;
hasChanges(): boolean;
canBeCalledFrom(calledFrom: AwesomeLoggerBase): boolean;
needsScroll(): boolean;
getNextLine(): TextObject;
getNextLine(): string;
stop(options: {

@@ -21,0 +21,0 @@ succeeded?: boolean;

"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeSpinnerLogger = void 0;
var awesome_logger_1 = require("../../awesome-logger");
var text_object_1 = require("../../models/text-object");
var logger_base_1 = require("../models/logger-base");
var AwesomeSpinnerLogger = /** @class */ (function (_super) {
__extends(AwesomeSpinnerLogger, _super);
function AwesomeSpinnerLogger(options) {
const chalk_1 = __importDefault(require("chalk"));
const logger_base_1 = require("../logger-base");
class AwesomeSpinnerLogger extends logger_base_1.AwesomeLoggerBase {
constructor(options) {
var _a, _b, _c;
var _this = _super.call(this) || this;
_this._animationIndex = 0;
_this._text = (options === null || options === void 0 ? void 0 : options.text) ? text_object_1.TextObject.ensureTextValue(options.text) : { text: '' };
_this._options = {
super();
this._animationIndex = 0;
this._stopped = false;
this._cleared = false;
this._text = (_a = options === null || options === void 0 ? void 0 : options.text) !== null && _a !== void 0 ? _a : '';
this._options = {
text: '',
spinnerFrames: (_a = options === null || options === void 0 ? void 0 : options.spinnerFrames) !== null && _a !== void 0 ? _a : ['. ', '.. ', '...', '.. '],
spinnerDelay: (_b = options === null || options === void 0 ? void 0 : options.spinnerDelay) !== null && _b !== void 0 ? _b : 500,
spinnerColor: (_c = options === null || options === void 0 ? void 0 : options.spinnerColor) !== null && _c !== void 0 ? _c : 'WHITE'
spinnerFrames: (_b = options === null || options === void 0 ? void 0 : options.spinnerFrames) !== null && _b !== void 0 ? _b : ['. ', '.. ', '...', '.. '],
spinnerDelay: (_c = options === null || options === void 0 ? void 0 : options.spinnerDelay) !== null && _c !== void 0 ? _c : 500
};
if (!awesome_logger_1.AwesomeLogger.restrictedLogging) {
_this._animationInterval = setInterval(function () {
_this._animationIndex++;
if (_this._animationIndex >= _this._options.spinnerFrames.length) {
_this._animationIndex = 0;
}
_this.changed();
}, _this._options.spinnerDelay);
this._animationInterval = setInterval(() => {
this._animationIndex++;
if (this._animationIndex >= this._options.spinnerFrames.length) {
this._animationIndex = 0;
}
this.changed();
}, this._options.spinnerDelay);
}
end() {
if (this._animationInterval) {
clearInterval(this._animationInterval);
}
return _this;
this._stopped = true;
}
AwesomeSpinnerLogger.prototype.hasChanges = function () {
hasChanges() {
return this._hasChanges;
};
AwesomeSpinnerLogger.prototype.canBeCalledFrom = function (calledFrom) {
}
canBeCalledFrom(calledFrom) {
return calledFrom === this;
};
AwesomeSpinnerLogger.prototype.needsScroll = function () {
}
needsScroll() {
return false;
};
AwesomeSpinnerLogger.prototype.getNextLine = function () {
}
getNextLine() {
var _a, _b, _c;
if (this._stopped) {
if (this._cleared) {
return text_object_1.TextObject.empty;
return '';
}
if (this._succeed === true) {
return new text_object_1.TextObject('√', 'GREEN').append((_a = this._stoppedText) !== null && _a !== void 0 ? _a : this._text.text, this._text.color);
return (_a = chalk_1.default.green('√') + this._stoppedText) !== null && _a !== void 0 ? _a : this._text;
}
else if (this._succeed === false) {
return new text_object_1.TextObject('X', 'RED').append((_b = this._stoppedText) !== null && _b !== void 0 ? _b : this._text.text, this._text.color);
return (_b = chalk_1.default.red('X') + this._stoppedText) !== null && _b !== void 0 ? _b : this._text;
}
else {
return new text_object_1.TextObject((_c = this._stoppedText) !== null && _c !== void 0 ? _c : this._text.text, this._text.color);
return (_c = this._stoppedText) !== null && _c !== void 0 ? _c : this._text;
}
}
return new text_object_1.TextObject(this._options.spinnerFrames[this._animationIndex], this._options.spinnerColor).append(this._text.text, this._text.color);
};
AwesomeSpinnerLogger.prototype.stop = function (options) {
clearInterval(this._animationInterval);
this._stopped = true;
return this._options.spinnerFrames[this._animationIndex] + this._text;
}
stop(options) {
this.end();
if (options.removeLine) {

@@ -81,6 +72,6 @@ this._cleared = true;

this.changed();
};
return AwesomeSpinnerLogger;
}(logger_base_1.AwesomeLoggerBase));
this.restrictedChanged(this.getNextLine());
}
}
exports.AwesomeSpinnerLogger = AwesomeSpinnerLogger;
//# sourceMappingURL=spinner-logger.js.map

@@ -1,3 +0,2 @@

import { TextObject, TextValue } from '../../models/text-object';
import { AwesomeLoggerBase } from '../models/logger-base';
import { AwesomeLoggerBase } from '../logger-base';
import { AwesomeLoggerTextConfig, AwesomeLoggerTextControl } from './config/text';

@@ -7,7 +6,8 @@ export declare class AwesomeTextLogger extends AwesomeLoggerBase implements AwesomeLoggerTextControl {

constructor(config?: Partial<AwesomeLoggerTextConfig>);
end(): void;
hasChanges(): boolean;
needsScroll(): boolean;
canBeCalledFrom(calledFrom: AwesomeLoggerBase): boolean;
getNextLine(): TextObject;
setText(text: string | TextValue | TextObject): void;
getNextLine(): string;
setText(text: string): void;
}
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwesomeTextLogger = void 0;
var text_object_1 = require("../../models/text-object");
var logger_base_1 = require("../models/logger-base");
var AwesomeTextLogger = /** @class */ (function (_super) {
__extends(AwesomeTextLogger, _super);
function AwesomeTextLogger(config) {
var _this = _super.call(this) || this;
_this._text = (config === null || config === void 0 ? void 0 : config.text) ? text_object_1.TextObject.create(config.text) : new text_object_1.TextObject('');
return _this;
const logger_base_1 = require("../logger-base");
class AwesomeTextLogger extends logger_base_1.AwesomeLoggerBase {
constructor(config) {
var _a;
super();
this._text = (_a = config === null || config === void 0 ? void 0 : config.text) !== null && _a !== void 0 ? _a : '';
}
AwesomeTextLogger.prototype.hasChanges = function () {
end() { }
hasChanges() {
return this._hasChanges;
};
AwesomeTextLogger.prototype.needsScroll = function () {
}
needsScroll() {
return false;
};
AwesomeTextLogger.prototype.canBeCalledFrom = function (calledFrom) {
}
canBeCalledFrom(calledFrom) {
return calledFrom === this;
};
AwesomeTextLogger.prototype.getNextLine = function () {
}
getNextLine() {
return this._text;
};
AwesomeTextLogger.prototype.setText = function (text) {
}
setText(text) {
if (text !== this._text) {
this._text = text_object_1.TextObject.create(text);
this._text = text;
this.changed();
this.restrictedChanged(text);
}
};
return AwesomeTextLogger;
}(logger_base_1.AwesomeLoggerBase));
}
}
exports.AwesomeTextLogger = AwesomeTextLogger;
//# sourceMappingURL=text-logger.js.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var awesome_logger_1 = require("./awesome-logger");
// AwesomeLogger.log('text', { text: { text: 'awd', color: 'CYAN' } });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
// AwesomeLogger.logText({ text: 'awd', color: 'GREEN' });
var line1 = awesome_logger_1.AwesomeLogger.create('text', {
text: { text: '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15', color: 'GREEN' }
});
var line2 = awesome_logger_1.AwesomeLogger.create('text', { text: { text: 'awd\nawd2awd3', color: 'GREEN' } });
var prog1 = awesome_logger_1.AwesomeLogger.create('progress', { totalProgress: 100, filledColor: 'GREEN', maxWidth: 100 });
var spin1 = awesome_logger_1.AwesomeLogger.create('spinner', {
text: ' My text',
spinnerDelay: 75,
spinnerFrames: ['▄', '■', '▀', '▀', '■'],
spinnerColor: 'MAGENTA'
});
awesome_logger_1.AwesomeLogger.log('multi', {
children: [line1, line2, prog1, spin1]
});
// const line2 = AwesomeLogger.create('text', { text: [{ text: 'awd\nawd2awd3', color: 'GREEN' }] });
const chalk_1 = __importDefault(require("chalk"));
const awesome_logger_1 = require("./awesome-logger");
awesome_logger_1.AwesomeLogger.log('this is awesome logging!');
setInterval(() => {
awesome_logger_1.AwesomeLogger.interrupt('interrupt' + Math.random());
}, 4000);
const promptForLog = () => {
const a = awesome_logger_1.AwesomeLogger.prompt('choice', {
options: ['text', 'spinner', 'progressbar', 'placeholder1', 'placeholder2', 'placeholder3', 'placeholder4', 'placeholder5']
});
a.result.then(x => {
const logger = createExampleLogger(x);
awesome_logger_1.AwesomeLogger.log(logger);
setTimeout(() => {
promptForLog();
}, 2000);
});
};
promptForLog();
const createExampleLogger = (type) => {
switch (type) {
case 'text': {
return awesome_logger_1.AwesomeLogger.create('text', { text: chalk_1.default.red('Example text') });
}
case 'spinner': {
return awesome_logger_1.AwesomeLogger.create('spinner', {
text: ' My text',
spinnerDelay: 75,
spinnerFrames: [
chalk_1.default.magenta('■'),
chalk_1.default.magenta('▄'),
chalk_1.default.magenta('■'),
chalk_1.default.magenta('▀'),
chalk_1.default.magenta('▀'),
chalk_1.default.yellow('■'),
chalk_1.default.yellow('▄'),
chalk_1.default.yellow('■'),
chalk_1.default.yellow('▀'),
chalk_1.default.yellow('▀')
]
});
}
case 'progressbar': {
return awesome_logger_1.AwesomeLogger.create('progress', { totalProgress: 100, filledColor: 'GREEN', maxWidth: 100 });
}
}
};
// const line1 = AwesomeLogger.create('text', { text: chalk.green('awd\nawd2awd3') });
// const prog1 = AwesomeLogger.create('progress', { totalProgress: 100, filledColor: 'GREEN', maxWidth: 100 });
// const spin1 = AwesomeLogger.create('spinner', {
// text: ' My text',
// spinnerDelay: 75,
// spinnerFrames: [chalk.magenta('▄'), chalk.magenta('■'), chalk.magenta('▀'), chalk.magenta('▀'), chalk.magenta('■')]
// });
// const line2 = AwesomeLogger.create('text', { text: chalk.green('awd\nawd2awd3') });
// const prog2 = AwesomeLogger.create('progress', { totalProgress: 100, filledColor: 'GREEN', maxWidth: 100 });

@@ -30,78 +65,66 @@ // const spin2 = AwesomeLogger.create('spinner', {

// spinnerDelay: 75,
// spinnerFrames: ['▄', '■', '▀', '▀', '■'],
// spinnerColor: 'MAGENTA'
// spinnerFrames: ['▄', '■', '▀', '▀', '■']
// });
// AwesomeLogger.restrictedLogging = true;
// const multi1 = AwesomeLogger.log('multi', { children: [line1, line2, prog1, spin1] });
// const multi2 = AwesomeLogger.log('multi', { children: [line2, prog2, spin2] });
// const multi1 = AwesomeLogger.create('multi', { children: [spin1, line1, line2, prog1] });
// const multi2 = AwesomeLogger.create('multi', { children: [line2, prog2, spin2] });
// const multi = AwesomeLogger.log('multi', { children: [multi1, multi2] });
// line2.setText('\n\n\n\n\ntest');
setInterval(function () {
prog1.setProgress(Math.round(Math.random() * 100));
// prog2.setProgress(Math.round(Math.random() * 100));
}, 1000);
var i = 1;
setInterval(function () {
line1.setText("awdNew" + ("\nline" + i).repeat(i));
i++;
if (i > 5) {
i = 0;
}
}, 2000);
// let i2 = 1;
// const sendkeys = require('sendkeys');
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yaaas\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yaaas\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.green(' yaaas\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yaaas\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yaaas\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yeees\nnext line\n\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yeees\nnext line\neven one more') });
// AwesomeLogger.log('text', { text: chalk.red('yee') + chalk.yellow(' yeees\nnext line\neven \none \nmore') });
// AwesomeLogger.log('text', { text: chalk.red('awdawd\nsecondline') + chalk.yellow(' awdawdawd') });
// const ctrl = AwesomeLogger.log('text', { text: chalk.red('yee') });
// setInterval(() => {
// line2.setText(`awdNew${`\nline${i2}`.repeat(i2)}`);
// i2++;
// if (i2 > 5) {
// i2 = 0;
// }
// }, 3000);
var i3 = 0;
setInterval(function () {
awesome_logger_1.AwesomeLogger.interrupt('text', { text: { text: "bla" + i3, color: 'RED' } });
i3++;
}, 1000);
// const res = AwesomeLogger.prompt('text', {
// text: 'yeeeeeeeeeee',
// autoComplete: ['yeeeeee', 'awdware', 'nice story'],
// fuzzyAutoComplete: true,
// validator: (a: string) => a.endsWith('yee')
// ctrl.setText(
// `1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9`
// );
// setTimeout(() => {
// ctrl.setText(
// `A
// B
// C
// D
// E
// F
// G
// H
// I`
// );
// }, 500);
// }, 1000);
// const spin1 = AwesomeLogger.create('spinner', {
// text: ' My text',
// spinnerDelay: 75,
// spinnerFrames: ['▄', '■', '▀', '▀', '■']
// });
// res.result.then(r => AwesomeLogger.logText({ text: r, color: 'RED' }));
// const a = AwesomeLogger.prompt('toggle', {
// options: ['first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth', 'nineth', 'tenth']
// });
// a.result.then(x => {
// AwesomeLogger.logText(x[0]);
// });
// const checklistLogger = AwesomeLogger.log('checklist', {
// const prog1 = AwesomeLogger.create('progress', { totalProgress: 100, maxWidth: 100 });
// AwesomeLogger.log('multi', { children: [spin1, prog1] });
// setInterval(() => {
// prog1.setProgress(Math.random() * 100);
// }, 100);
// const checklistLogger = AwesomeLogger.create('checklist', {
// items: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(x => {
// return { text: `item${x}`, state: 'pending' as AwesomeChecklistLoggerState };
// return { text: `item${x}`, state: 'pending' } as AwesomeChecklistLoggerItem;
// })
// });
// AwesomeLogger.log('multi', { children: [checklistLogger, ctrl] });
// setInterval(() => {
// checklistLogger.changeState(Math.round(Math.random() * 9), 'succeeded');
// ctrl.setText(`nope${Math.random()}`);
// }, 100);
// setInterval(() => {
// AwesomeLogger.interrupt('text', { text: { text: 'hi\nthis\nis\na\ntest' } });
// }, 200);
// let i = 0;
// const prog = AwesomeLogger.log('progress', {
// text: { text: 'Installing stuff', color: 'BLUE' },
// completedText: { text: 'Stuff installed successfully', color: 'GREEN' },
// maxWidth: 30
// });
// const interval2 = setInterval(() => {
// AwesomeLogger.interrupt('text', {
// text: { text: `Installing chunk ${Math.random()}`, color: 'GRAY' }
// });
// }, 40);
// const interval1 = setInterval(() => {
// i += Math.floor(Math.random() * 10);
// if (i >= 100) {
// clearInterval(interval2);
// clearInterval(interval1);
// }
// prog.setProgress(i >= 100 ? 100 : i);
// }, 100);
// const a = AwesomeLogger.prompt('text', { text: 'yee' });
// a.result.then(x => console.log('result = ' + x));
//# sourceMappingURL=test.js.map
export declare const CONTROL_PREFIX: string;
export declare const MOVE_LEFT: () => boolean;
export declare const MOVE_UP: (i: number) => {};
export declare const MOVE_DOWN: (i: number) => {};
export declare const MOVE_UP: (i?: number) => {};
export declare const MOVE_DOWN: (i?: number) => {};
export declare const INSERT_LINE: () => boolean;

@@ -6,0 +6,0 @@ export declare const INSERT_NEW_LINE: () => boolean;

@@ -7,23 +7,27 @@ "use strict";

exports.KEY_ARROW_LEFT = exports.KEY_ARROW_RIGHT = exports.KEY_ARROW_DOWN = exports.KEY_ARROW_UP = exports.RESTORE_CURSOR = exports.SAVE_CURSOR = exports.STOP_BLINK_CURSOR = exports.START_BLINK_CURSOR = exports.SHOW_CURSOR = exports.HIDE_CURSOR = exports.CLEAR_LINE = exports.DELETE_LINE = exports.INSERT_NEW_LINE = exports.INSERT_LINE = exports.MOVE_DOWN = exports.MOVE_UP = exports.MOVE_LEFT = exports.CONTROL_PREFIX = void 0;
var restore_cursor_1 = __importDefault(require("restore-cursor"));
const restore_cursor_1 = __importDefault(require("restore-cursor"));
restore_cursor_1.default();
exports.CONTROL_PREFIX = '\u001b[';
var cursorVisible = true;
var MOVE_LEFT = function () { return process.stdout.write(exports.CONTROL_PREFIX + "1000D"); };
let cursorVisible = true;
let debug = false;
const MOVE_LEFT = () => process.stdout.write(`${exports.CONTROL_PREFIX}1000D`);
exports.MOVE_LEFT = MOVE_LEFT;
var MOVE_UP = function (i) { return (i > 0 ? process.stdout.write("" + exports.CONTROL_PREFIX + i + "A") : {}); };
const MOVE_UP = (i = 1) => (i > 0 ? process.stdout.write(`${exports.CONTROL_PREFIX}${i}A`) : {});
exports.MOVE_UP = MOVE_UP;
var MOVE_DOWN = function (i) { return (i > 0 ? process.stdout.write("" + exports.CONTROL_PREFIX + i + "B") : {}); };
const MOVE_DOWN = (i = 1) => (i > 0 ? process.stdout.write(`${exports.CONTROL_PREFIX}${i}B`) : {});
exports.MOVE_DOWN = MOVE_DOWN;
var INSERT_LINE = function () { return process.stdout.write('\n'); };
const INSERT_LINE = () => process.stdout.write('\n');
exports.INSERT_LINE = INSERT_LINE;
var INSERT_NEW_LINE = function () { return process.stdout.write(exports.CONTROL_PREFIX + "1L"); };
const INSERT_NEW_LINE = () => process.stdout.write(`${exports.CONTROL_PREFIX}1L`);
exports.INSERT_NEW_LINE = INSERT_NEW_LINE;
var DELETE_LINE = function () { return process.stdout.write(exports.CONTROL_PREFIX + "1M"); };
const DELETE_LINE = () => process.stdout.write(`${exports.CONTROL_PREFIX}1M`);
exports.DELETE_LINE = DELETE_LINE;
var CLEAR_LINE = function () { return process.stdout.write(exports.CONTROL_PREFIX + "0K"); };
const CLEAR_LINE = () => process.stdout.write(`${exports.CONTROL_PREFIX}0K`);
exports.CLEAR_LINE = CLEAR_LINE;
var HIDE_CURSOR = function () {
const HIDE_CURSOR = () => {
if (debug) {
return;
}
if (cursorVisible) {
process.stdout.write(exports.CONTROL_PREFIX + "?25l");
process.stdout.write(`${exports.CONTROL_PREFIX}?25l`);
cursorVisible = false;

@@ -33,5 +37,5 @@ }

exports.HIDE_CURSOR = HIDE_CURSOR;
var SHOW_CURSOR = function () {
const SHOW_CURSOR = () => {
if (!cursorVisible) {
process.stdout.write(exports.CONTROL_PREFIX + "?25h");
process.stdout.write(`${exports.CONTROL_PREFIX}?25h`);
cursorVisible = true;

@@ -41,14 +45,14 @@ }

exports.SHOW_CURSOR = SHOW_CURSOR;
var START_BLINK_CURSOR = function () { return process.stdout.write(exports.CONTROL_PREFIX + "?12h"); };
const START_BLINK_CURSOR = () => process.stdout.write(`${exports.CONTROL_PREFIX}?12h`);
exports.START_BLINK_CURSOR = START_BLINK_CURSOR;
var STOP_BLINK_CURSOR = function () { return process.stdout.write(exports.CONTROL_PREFIX + "?12l"); };
const STOP_BLINK_CURSOR = () => process.stdout.write(`${exports.CONTROL_PREFIX}?12l`);
exports.STOP_BLINK_CURSOR = STOP_BLINK_CURSOR;
var SAVE_CURSOR = function () { return process.stdout.write(exports.CONTROL_PREFIX + "s"); };
const SAVE_CURSOR = () => process.stdout.write(`${exports.CONTROL_PREFIX}s`);
exports.SAVE_CURSOR = SAVE_CURSOR;
var RESTORE_CURSOR = function () { return process.stdout.write(exports.CONTROL_PREFIX + "u"); };
const RESTORE_CURSOR = () => process.stdout.write(`${exports.CONTROL_PREFIX}u`);
exports.RESTORE_CURSOR = RESTORE_CURSOR;
exports.KEY_ARROW_UP = exports.CONTROL_PREFIX + "A";
exports.KEY_ARROW_DOWN = exports.CONTROL_PREFIX + "B";
exports.KEY_ARROW_RIGHT = exports.CONTROL_PREFIX + "C";
exports.KEY_ARROW_LEFT = exports.CONTROL_PREFIX + "D";
exports.KEY_ARROW_UP = `${exports.CONTROL_PREFIX}A`;
exports.KEY_ARROW_DOWN = `${exports.CONTROL_PREFIX}B`;
exports.KEY_ARROW_RIGHT = `${exports.CONTROL_PREFIX}C`;
exports.KEY_ARROW_LEFT = `${exports.CONTROL_PREFIX}D`;
//# sourceMappingURL=ansi-utils.js.map
{
"name": "awesome-logging",
"version": "0.1.3",
"version": "0.2.0",
"description": "Advanced logging messages, interactive prompts, loading animations and more in TypeScript",

@@ -17,3 +17,3 @@ "main": "lib/index.js",

"dependencies": {
"chalk": "^4.1.0",
"chalk": "^4.1.1",
"cli-truncate": "^2.1.0",

@@ -26,13 +26,13 @@ "restore-cursor": "^3.1.0",

"devDependencies": {
"@awdware/eslint-config-nodejs": "^0.0.6",
"@awdware/eslint-config-base": "^1.0.0",
"@awdware/eslint-config-nodejs": "^1.0.0",
"@awdware/prettier-config": "^0.0.2",
"@types/node": "^14.14.20",
"@types/slice-ansi": "^4.0.0",
"@typescript-eslint/eslint-plugin": "^4.13.0",
"@typescript-eslint/parser": "^4.13.0",
"eslint": "^7.17.0",
"legally": "^3.5.9",
"prettier": "^2.2.1",
"ts-node": "^9.1.1",
"typescript": "^4.1.3"
"@typescript-eslint/eslint-plugin": "^4.28.1",
"@typescript-eslint/parser": "^4.28.1",
"eslint": "^7.29.0",
"legally": "^3.5.10",
"ts-node": "^10.0.0",
"typescript": "^4.3.5"
},

@@ -39,0 +39,0 @@ "prettier": "@awdware/prettier-config",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc