@nuvin/ink 6.6.1 → 6.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/log-update.d.ts +1 -1
- package/build/log-update.js +27 -17
- package/build/log-update.js.map +1 -1
- package/package.json +1 -1
package/build/log-update.d.ts
CHANGED
package/build/log-update.js
CHANGED
|
@@ -9,7 +9,7 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
9
9
|
cliCursor.hide();
|
|
10
10
|
hasHiddenCursor = true;
|
|
11
11
|
}
|
|
12
|
-
const output = str
|
|
12
|
+
const output = str;
|
|
13
13
|
if (output === previousOutput) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
@@ -23,6 +23,11 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
23
23
|
previousLineCount = 0;
|
|
24
24
|
};
|
|
25
25
|
render.done = () => {
|
|
26
|
+
// On exit, we write a finally newline to restore the terminal prompt properly,
|
|
27
|
+
// unless the output was empty.
|
|
28
|
+
if (previousOutput.length > 0) {
|
|
29
|
+
stream.write('\n');
|
|
30
|
+
}
|
|
26
31
|
previousOutput = '';
|
|
27
32
|
previousLineCount = 0;
|
|
28
33
|
if (!showCursor) {
|
|
@@ -31,7 +36,7 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
31
36
|
}
|
|
32
37
|
};
|
|
33
38
|
render.sync = (str) => {
|
|
34
|
-
const output = str
|
|
39
|
+
const output = str;
|
|
35
40
|
previousOutput = output;
|
|
36
41
|
previousLineCount = output.split('\n').length;
|
|
37
42
|
};
|
|
@@ -46,15 +51,15 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
46
51
|
cliCursor.hide();
|
|
47
52
|
hasHiddenCursor = true;
|
|
48
53
|
}
|
|
49
|
-
const output = str
|
|
54
|
+
const output = str;
|
|
50
55
|
if (output === previousOutput) {
|
|
51
56
|
return;
|
|
52
57
|
}
|
|
53
58
|
const previousCount = previousLines.length;
|
|
54
59
|
const nextLines = output.split('\n');
|
|
55
60
|
const nextCount = nextLines.length;
|
|
56
|
-
const visibleCount = nextCount
|
|
57
|
-
if (output === '
|
|
61
|
+
const visibleCount = nextCount;
|
|
62
|
+
if (output === '' || previousOutput.length === 0) {
|
|
58
63
|
stream.write(ansiEscapes.eraseLines(previousCount) + output);
|
|
59
64
|
previousOutput = output;
|
|
60
65
|
previousLines = nextLines;
|
|
@@ -65,24 +70,26 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
65
70
|
// Clear extra lines if the current content's line count is lower than the previous.
|
|
66
71
|
if (nextCount < previousCount) {
|
|
67
72
|
buffer.push(
|
|
68
|
-
// Erases the trailing lines
|
|
69
|
-
ansiEscapes.eraseLines(previousCount - nextCount
|
|
73
|
+
// Erases the trailing lines.
|
|
74
|
+
ansiEscapes.eraseLines(previousCount - nextCount),
|
|
70
75
|
// Positions cursor to the top of the rendered output.
|
|
71
|
-
ansiEscapes.cursorUp(
|
|
76
|
+
ansiEscapes.cursorUp(nextCount));
|
|
72
77
|
}
|
|
73
78
|
else {
|
|
74
79
|
buffer.push(ansiEscapes.cursorUp(previousCount - 1));
|
|
75
80
|
}
|
|
76
81
|
for (let i = 0; i < visibleCount; i++) {
|
|
77
|
-
// We
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
// We skip writing lines if the contents are the same to prevent flickering.
|
|
83
|
+
// However, we must still handle cursor positioning.
|
|
84
|
+
const contentChanged = nextLines[i] !== previousLines[i];
|
|
85
|
+
if (contentChanged) {
|
|
86
|
+
// Erase and write the changed line
|
|
87
|
+
buffer.push(ansiEscapes.eraseLine, nextLines[i] ?? '');
|
|
88
|
+
}
|
|
89
|
+
// Move to next line, except for the last line
|
|
90
|
+
if (i < visibleCount - 1) {
|
|
91
|
+
buffer.push(contentChanged ? '\n' : ansiEscapes.cursorNextLine);
|
|
81
92
|
}
|
|
82
|
-
buffer.push(ansiEscapes.cursorTo(0) +
|
|
83
|
-
nextLines[i] +
|
|
84
|
-
ansiEscapes.eraseEndLine +
|
|
85
|
-
'\n');
|
|
86
93
|
}
|
|
87
94
|
stream.write(buffer.join(''));
|
|
88
95
|
previousOutput = output;
|
|
@@ -94,6 +101,9 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
94
101
|
previousLines = [];
|
|
95
102
|
};
|
|
96
103
|
render.done = () => {
|
|
104
|
+
if (previousOutput.length > 0) {
|
|
105
|
+
stream.write('\n');
|
|
106
|
+
}
|
|
97
107
|
previousOutput = '';
|
|
98
108
|
previousLines = [];
|
|
99
109
|
if (!showCursor) {
|
|
@@ -102,7 +112,7 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
102
112
|
}
|
|
103
113
|
};
|
|
104
114
|
render.sync = (str) => {
|
|
105
|
-
const output = str
|
|
115
|
+
const output = str;
|
|
106
116
|
previousOutput = output;
|
|
107
117
|
previousLines = output.split('\n');
|
|
108
118
|
};
|
package/build/log-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AASnC,MAAM,cAAc,GAAG,CACtB,MAAgB,EAChB,EAAC,UAAU,GAAG,KAAK,EAAC,GAAG,EAAE,EACb,EAAE;IACd,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC9B,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"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"}
|