ink 3.2.0 → 4.1.0

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.
Files changed (122) hide show
  1. package/build/colorize.d.ts +3 -3
  2. package/build/colorize.js +30 -35
  3. package/build/colorize.js.map +1 -1
  4. package/build/components/App.d.ts +12 -12
  5. package/build/components/App.js +287 -208
  6. package/build/components/App.js.map +1 -1
  7. package/build/components/AppContext.d.ts +2 -2
  8. package/build/components/AppContext.js +5 -6
  9. package/build/components/AppContext.js.map +1 -1
  10. package/build/components/Box.d.ts +77 -5
  11. package/build/components/Box.js +20 -38
  12. package/build/components/Box.js.map +1 -1
  13. package/build/components/ErrorOverview.d.ts +5 -5
  14. package/build/components/ErrorOverview.js +40 -58
  15. package/build/components/ErrorOverview.js.map +1 -1
  16. package/build/components/FocusContext.d.ts +2 -2
  17. package/build/components/FocusContext.js +13 -14
  18. package/build/components/FocusContext.js.map +1 -1
  19. package/build/components/Newline.d.ts +4 -5
  20. package/build/components/Newline.js +4 -9
  21. package/build/components/Newline.js.map +1 -1
  22. package/build/components/Spacer.d.ts +2 -3
  23. package/build/components/Spacer.js +5 -10
  24. package/build/components/Spacer.js.map +1 -1
  25. package/build/components/Static.d.ts +5 -9
  26. package/build/components/Static.js +12 -33
  27. package/build/components/Static.js.map +1 -1
  28. package/build/components/StderrContext.d.ts +4 -4
  29. package/build/components/StderrContext.js +7 -7
  30. package/build/components/StderrContext.js.map +1 -1
  31. package/build/components/StdinContext.d.ts +4 -4
  32. package/build/components/StdinContext.js +8 -7
  33. package/build/components/StdinContext.js.map +1 -1
  34. package/build/components/StdoutContext.d.ts +4 -4
  35. package/build/components/StdoutContext.js +7 -7
  36. package/build/components/StdoutContext.js.map +1 -1
  37. package/build/components/Text.d.ts +9 -10
  38. package/build/components/Text.js +14 -29
  39. package/build/components/Text.js.map +1 -1
  40. package/build/components/Transform.d.ts +4 -5
  41. package/build/components/Transform.js +4 -11
  42. package/build/components/Transform.js.map +1 -1
  43. package/build/devtools-window-polyfill.js +3 -8
  44. package/build/devtools-window-polyfill.js.map +1 -1
  45. package/build/devtools.d.ts +1 -1
  46. package/build/devtools.js +6 -6
  47. package/build/devtools.js.map +1 -1
  48. package/build/dom.d.ts +17 -20
  49. package/build/dom.js +35 -47
  50. package/build/dom.js.map +1 -1
  51. package/build/get-max-width.d.ts +3 -3
  52. package/build/get-max-width.js +8 -11
  53. package/build/get-max-width.js.map +1 -1
  54. package/build/hooks/use-app.d.ts +1 -1
  55. package/build/hooks/use-app.js +4 -9
  56. package/build/hooks/use-app.js.map +1 -1
  57. package/build/hooks/use-focus-manager.d.ts +3 -3
  58. package/build/hooks/use-focus-manager.js +4 -9
  59. package/build/hooks/use-focus-manager.js.map +1 -1
  60. package/build/hooks/use-focus.d.ts +4 -4
  61. package/build/hooks/use-focus.js +11 -16
  62. package/build/hooks/use-focus.js.map +1 -1
  63. package/build/hooks/use-input.d.ts +5 -5
  64. package/build/hooks/use-input.js +13 -14
  65. package/build/hooks/use-input.js.map +1 -1
  66. package/build/hooks/use-stderr.d.ts +1 -1
  67. package/build/hooks/use-stderr.js +4 -9
  68. package/build/hooks/use-stderr.js.map +1 -1
  69. package/build/hooks/use-stdin.d.ts +1 -1
  70. package/build/hooks/use-stdin.js +4 -9
  71. package/build/hooks/use-stdin.js.map +1 -1
  72. package/build/hooks/use-stdout.d.ts +1 -1
  73. package/build/hooks/use-stdout.js +4 -9
  74. package/build/hooks/use-stdout.js.map +1 -1
  75. package/build/index.d.ts +27 -20
  76. package/build/index.js +15 -32
  77. package/build/index.js.map +1 -1
  78. package/build/ink.d.ts +6 -4
  79. package/build/ink.js +188 -99
  80. package/build/ink.js.map +1 -1
  81. package/build/instances.d.ts +4 -2
  82. package/build/instances.js +2 -3
  83. package/build/instances.js.map +1 -1
  84. package/build/log-update.d.ts +5 -6
  85. package/build/log-update.js +8 -12
  86. package/build/log-update.js.map +1 -1
  87. package/build/measure-element.d.ts +5 -5
  88. package/build/measure-element.js +5 -9
  89. package/build/measure-element.js.map +1 -1
  90. package/build/measure-text.d.ts +4 -4
  91. package/build/measure-text.js +7 -10
  92. package/build/measure-text.js.map +1 -1
  93. package/build/output.d.ts +12 -4
  94. package/build/output.js +108 -31
  95. package/build/output.js.map +1 -1
  96. package/build/reconciler.d.ts +1 -1
  97. package/build/reconciler.js +104 -76
  98. package/build/reconciler.js.map +1 -1
  99. package/build/render-border.d.ts +4 -4
  100. package/build/render-border.js +8 -12
  101. package/build/render-border.js.map +1 -1
  102. package/build/render-node-to-output.d.ts +3 -3
  103. package/build/render-node-to-output.js +44 -24
  104. package/build/render-node-to-output.js.map +1 -1
  105. package/build/render.d.ts +8 -8
  106. package/build/render.js +23 -20
  107. package/build/render.js.map +1 -1
  108. package/build/renderer.d.ts +5 -5
  109. package/build/renderer.js +9 -17
  110. package/build/renderer.js.map +1 -1
  111. package/build/squash-text-nodes.d.ts +1 -1
  112. package/build/squash-text-nodes.js +1 -3
  113. package/build/squash-text-nodes.js.map +1 -1
  114. package/build/styles.d.ts +30 -9
  115. package/build/styles.js +60 -46
  116. package/build/styles.js.map +1 -1
  117. package/build/wrap-text.d.ts +3 -3
  118. package/build/wrap-text.js +9 -12
  119. package/build/wrap-text.js.map +1 -1
  120. package/license +1 -1
  121. package/package.json +87 -67
  122. package/readme.md +202 -57
package/build/ink.js CHANGED
@@ -1,104 +1,191 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const react_1 = __importDefault(require("react"));
26
- const lodash_1 = require("lodash");
27
- const log_update_1 = __importDefault(require("./log-update"));
28
- const ansi_escapes_1 = __importDefault(require("ansi-escapes"));
29
- const is_ci_1 = __importDefault(require("is-ci"));
30
- const auto_bind_1 = __importDefault(require("auto-bind"));
31
- const reconciler_1 = __importDefault(require("./reconciler"));
32
- const renderer_1 = __importDefault(require("./renderer"));
33
- const signal_exit_1 = __importDefault(require("signal-exit"));
34
- const patch_console_1 = __importDefault(require("patch-console"));
35
- const dom = __importStar(require("./dom"));
36
- const instances_1 = __importDefault(require("./instances"));
37
- const App_1 = __importDefault(require("./components/App"));
38
- const isCI = process.env.CI === 'false' ? false : is_ci_1.default;
1
+ import process from 'node:process';
2
+ import React from 'react';
3
+ import throttle from 'lodash/throttle.js';
4
+ import ansiEscapes from 'ansi-escapes';
5
+ import originalIsCi from 'is-ci';
6
+ import autoBind from 'auto-bind';
7
+ import signalExit from 'signal-exit';
8
+ import patchConsole from 'patch-console';
9
+ // eslint-disable-next-line n/file-extension-in-import
10
+ import Yoga from 'yoga-wasm-web/auto';
11
+ import reconciler from './reconciler.js';
12
+ import render from './renderer.js';
13
+ import * as dom from './dom.js';
14
+ import logUpdate from './log-update.js';
15
+ import instances from './instances.js';
16
+ import App from './components/App.js';
17
+ const isCi = process.env['CI'] === 'false' ? false : originalIsCi;
39
18
  const noop = () => { };
40
- class Ink {
19
+ export default class Ink {
41
20
  constructor(options) {
42
- this.resolveExitPromise = () => { };
43
- this.rejectExitPromise = () => { };
44
- this.unsubscribeExit = () => { };
45
- this.onRender = () => {
46
- if (this.isUnmounted) {
47
- return;
21
+ Object.defineProperty(this, "options", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "log", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: void 0
32
+ });
33
+ Object.defineProperty(this, "throttledLog", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ // Ignore last render after unmounting a tree to prevent empty output before exit
40
+ Object.defineProperty(this, "isUnmounted", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ Object.defineProperty(this, "lastOutput", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ Object.defineProperty(this, "container", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ Object.defineProperty(this, "rootNode", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ // This variable is used only in debug mode to store full static output
65
+ // so that it's rerendered every time, not just new static parts, like in non-debug mode
66
+ Object.defineProperty(this, "fullStaticOutput", {
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true,
70
+ value: void 0
71
+ });
72
+ Object.defineProperty(this, "exitPromise", {
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true,
76
+ value: void 0
77
+ });
78
+ Object.defineProperty(this, "restoreConsole", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: void 0
83
+ });
84
+ Object.defineProperty(this, "unsubscribeResize", {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: void 0
89
+ });
90
+ Object.defineProperty(this, "resized", {
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true,
94
+ value: () => {
95
+ this.calculateLayout();
96
+ this.onRender();
97
+ }
98
+ });
99
+ Object.defineProperty(this, "resolveExitPromise", {
100
+ enumerable: true,
101
+ configurable: true,
102
+ writable: true,
103
+ value: () => { }
104
+ });
105
+ Object.defineProperty(this, "rejectExitPromise", {
106
+ enumerable: true,
107
+ configurable: true,
108
+ writable: true,
109
+ value: () => { }
110
+ });
111
+ Object.defineProperty(this, "unsubscribeExit", {
112
+ enumerable: true,
113
+ configurable: true,
114
+ writable: true,
115
+ value: () => { }
116
+ });
117
+ Object.defineProperty(this, "calculateLayout", {
118
+ enumerable: true,
119
+ configurable: true,
120
+ writable: true,
121
+ value: () => {
122
+ // The 'columns' property can be undefined or 0 when not using a TTY.
123
+ // In that case we fall back to 80.
124
+ const terminalWidth = this.options.stdout.columns || 80;
125
+ this.rootNode.yogaNode.setWidth(terminalWidth);
126
+ this.rootNode.yogaNode.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
48
127
  }
49
- const { output, outputHeight, staticOutput } = renderer_1.default(this.rootNode,
50
- // The 'columns' property can be undefined or 0 when not using a TTY.
51
- // In that case we fall back to 80.
52
- this.options.stdout.columns || 80);
53
- // If <Static> output isn't empty, it means new children have been added to it
54
- const hasStaticOutput = staticOutput && staticOutput !== '\n';
55
- if (this.options.debug) {
128
+ });
129
+ Object.defineProperty(this, "onRender", {
130
+ enumerable: true,
131
+ configurable: true,
132
+ writable: true,
133
+ value: () => {
134
+ if (this.isUnmounted) {
135
+ return;
136
+ }
137
+ const { output, outputHeight, staticOutput } = render(this.rootNode);
138
+ // If <Static> output isn't empty, it means new children have been added to it
139
+ const hasStaticOutput = staticOutput && staticOutput !== '\n';
140
+ if (this.options.debug) {
141
+ if (hasStaticOutput) {
142
+ this.fullStaticOutput += staticOutput;
143
+ }
144
+ this.options.stdout.write(this.fullStaticOutput + output);
145
+ return;
146
+ }
147
+ if (isCi) {
148
+ if (hasStaticOutput) {
149
+ this.options.stdout.write(staticOutput);
150
+ }
151
+ this.lastOutput = output;
152
+ return;
153
+ }
56
154
  if (hasStaticOutput) {
57
155
  this.fullStaticOutput += staticOutput;
58
156
  }
59
- this.options.stdout.write(this.fullStaticOutput + output);
60
- return;
61
- }
62
- if (isCI) {
157
+ if (outputHeight >= this.options.stdout.rows) {
158
+ this.options.stdout.write(ansiEscapes.clearTerminal + this.fullStaticOutput + output);
159
+ this.lastOutput = output;
160
+ return;
161
+ }
162
+ // To ensure static output is cleanly rendered before main output, clear main output first
63
163
  if (hasStaticOutput) {
164
+ this.log.clear();
64
165
  this.options.stdout.write(staticOutput);
166
+ this.log(output);
167
+ }
168
+ if (!hasStaticOutput && output !== this.lastOutput) {
169
+ this.throttledLog(output);
65
170
  }
66
171
  this.lastOutput = output;
67
- return;
68
- }
69
- if (hasStaticOutput) {
70
- this.fullStaticOutput += staticOutput;
71
- }
72
- if (outputHeight >= this.options.stdout.rows) {
73
- this.options.stdout.write(ansi_escapes_1.default.clearTerminal + this.fullStaticOutput + output);
74
- this.lastOutput = output;
75
- return;
76
- }
77
- // To ensure static output is cleanly rendered before main output, clear main output first
78
- if (hasStaticOutput) {
79
- this.log.clear();
80
- this.options.stdout.write(staticOutput);
81
- this.log(output);
82
172
  }
83
- if (!hasStaticOutput && output !== this.lastOutput) {
84
- this.throttledLog(output);
85
- }
86
- this.lastOutput = output;
87
- };
88
- auto_bind_1.default(this);
173
+ });
174
+ autoBind(this);
89
175
  this.options = options;
90
176
  this.rootNode = dom.createNode('ink-root');
177
+ this.rootNode.onComputeLayout = this.calculateLayout;
91
178
  this.rootNode.onRender = options.debug
92
179
  ? this.onRender
93
- : lodash_1.throttle(this.onRender, 32, {
180
+ : throttle(this.onRender, 32, {
94
181
  leading: true,
95
182
  trailing: true
96
183
  });
97
184
  this.rootNode.onImmediateRender = this.onRender;
98
- this.log = log_update_1.default.create(options.stdout);
185
+ this.log = logUpdate.create(options.stdout);
99
186
  this.throttledLog = options.debug
100
187
  ? this.log
101
- : lodash_1.throttle(this.log, undefined, {
188
+ : throttle(this.log, undefined, {
102
189
  leading: true,
103
190
  trailing: true
104
191
  });
@@ -109,13 +196,14 @@ class Ink {
109
196
  // This variable is used only in debug mode to store full static output
110
197
  // so that it's rerendered every time, not just new static parts, like in non-debug mode
111
198
  this.fullStaticOutput = '';
112
- this.container = reconciler_1.default.createContainer(this.rootNode,
199
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
200
+ this.container = reconciler.createContainer(this.rootNode,
113
201
  // Legacy mode
114
- 0, false, null);
202
+ 0, null, false, null, 'id', () => { }, null);
115
203
  // Unmount when process exits
116
- this.unsubscribeExit = signal_exit_1.default(this.unmount, { alwaysLast: false });
117
- if (process.env.DEV === 'true') {
118
- reconciler_1.default.injectIntoDevTools({
204
+ this.unsubscribeExit = signalExit(this.unmount, { alwaysLast: false });
205
+ if (process.env['DEV'] === 'true') {
206
+ reconciler.injectIntoDevTools({
119
207
  bundleType: 0,
120
208
  // Reporting React DOM's version, not Ink's
121
209
  // See https://github.com/facebook/react/issues/16666#issuecomment-532639905
@@ -126,16 +214,16 @@ class Ink {
126
214
  if (options.patchConsole) {
127
215
  this.patchConsole();
128
216
  }
129
- if (!isCI) {
130
- options.stdout.on('resize', this.onRender);
217
+ if (!isCi) {
218
+ options.stdout.on('resize', this.resized);
131
219
  this.unsubscribeResize = () => {
132
- options.stdout.off('resize', this.onRender);
220
+ options.stdout.off('resize', this.resized);
133
221
  };
134
222
  }
135
223
  }
136
224
  render(node) {
137
- const tree = (react_1.default.createElement(App_1.default, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, exitOnCtrlC: this.options.exitOnCtrlC, onExit: this.unmount }, node));
138
- reconciler_1.default.updateContainer(tree, this.container, null, noop);
225
+ const tree = (React.createElement(App, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, exitOnCtrlC: this.options.exitOnCtrlC, onExit: this.unmount }, node));
226
+ reconciler.updateContainer(tree, this.container, null, noop);
139
227
  }
140
228
  writeToStdout(data) {
141
229
  if (this.isUnmounted) {
@@ -145,7 +233,7 @@ class Ink {
145
233
  this.options.stdout.write(data + this.fullStaticOutput + this.lastOutput);
146
234
  return;
147
235
  }
148
- if (isCI) {
236
+ if (isCi) {
149
237
  this.options.stdout.write(data);
150
238
  return;
151
239
  }
@@ -162,7 +250,7 @@ class Ink {
162
250
  this.options.stdout.write(this.fullStaticOutput + this.lastOutput);
163
251
  return;
164
252
  }
165
- if (isCI) {
253
+ if (isCi) {
166
254
  this.options.stderr.write(data);
167
255
  return;
168
256
  }
@@ -170,10 +258,12 @@ class Ink {
170
258
  this.options.stderr.write(data);
171
259
  this.log(this.lastOutput);
172
260
  }
261
+ // eslint-disable-next-line @typescript-eslint/ban-types
173
262
  unmount(error) {
174
263
  if (this.isUnmounted) {
175
264
  return;
176
265
  }
266
+ this.calculateLayout();
177
267
  this.onRender();
178
268
  this.unsubscribeExit();
179
269
  if (typeof this.restoreConsole === 'function') {
@@ -184,15 +274,15 @@ class Ink {
184
274
  }
185
275
  // CIs don't handle erasing ansi escapes well, so it's better to
186
276
  // only render last frame of non-static output
187
- if (isCI) {
277
+ if (isCi) {
188
278
  this.options.stdout.write(this.lastOutput + '\n');
189
279
  }
190
280
  else if (!this.options.debug) {
191
281
  this.log.done();
192
282
  }
193
283
  this.isUnmounted = true;
194
- reconciler_1.default.updateContainer(null, this.container, null, noop);
195
- instances_1.default.delete(this.options.stdout);
284
+ reconciler.updateContainer(null, this.container, null, noop);
285
+ instances.delete(this.options.stdout);
196
286
  if (error instanceof Error) {
197
287
  this.rejectExitPromise(error);
198
288
  }
@@ -200,7 +290,7 @@ class Ink {
200
290
  this.resolveExitPromise();
201
291
  }
202
292
  }
203
- waitUntilExit() {
293
+ async waitUntilExit() {
204
294
  if (!this.exitPromise) {
205
295
  this.exitPromise = new Promise((resolve, reject) => {
206
296
  this.resolveExitPromise = resolve;
@@ -210,7 +300,7 @@ class Ink {
210
300
  return this.exitPromise;
211
301
  }
212
302
  clear() {
213
- if (!isCI && !this.options.debug) {
303
+ if (!isCi && !this.options.debug) {
214
304
  this.log.clear();
215
305
  }
216
306
  }
@@ -218,7 +308,7 @@ class Ink {
218
308
  if (this.options.debug) {
219
309
  return;
220
310
  }
221
- this.restoreConsole = patch_console_1.default((stream, data) => {
311
+ this.restoreConsole = patchConsole((stream, data) => {
222
312
  if (stream === 'stdout') {
223
313
  this.writeToStdout(data);
224
314
  }
@@ -231,5 +321,4 @@ class Ink {
231
321
  });
232
322
  }
233
323
  }
234
- exports.default = Ink;
235
324
  //# sourceMappingURL=ink.js.map
package/build/ink.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- declare const _default: WeakMap<object, any>;
2
- export default _default;
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type Ink from './ink.js';
3
+ declare const instances: WeakMap<NodeJS.WriteStream, Ink>;
4
+ export default instances;
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  // Store all instances of Ink (instance.js) to ensure that consecutive render() calls
4
2
  // use the same instance of Ink and don't create a new one
5
3
  //
6
4
  // This map has to be stored in a separate file, because render.js creates instances,
7
5
  // but instance.js should delete itself from the map on unmount
8
- exports.default = new WeakMap();
6
+ const instances = new WeakMap();
7
+ export default instances;
9
8
  //# sourceMappingURL=instances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.js","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":";;AAAA,qFAAqF;AACrF,0DAA0D;AAC1D,EAAE;AACF,qFAAqF;AACrF,+DAA+D;AAC/D,kBAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"instances.js","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,0DAA0D;AAC1D,EAAE;AACF,qFAAqF;AACrF,+DAA+D;AAI/D,MAAM,SAAS,GAAG,IAAI,OAAO,EAA2B,CAAC;AACzD,eAAe,SAAS,CAAC"}
@@ -1,13 +1,12 @@
1
- /// <reference types="node" />
2
- import { Writable } from 'stream';
3
- export interface LogUpdate {
1
+ import { type Writable } from 'node:stream';
2
+ export type LogUpdate = {
4
3
  clear: () => void;
5
4
  done: () => void;
6
5
  (str: string): void;
7
- }
8
- declare const _default: {
6
+ };
7
+ declare const logUpdate: {
9
8
  create: (stream: Writable, { showCursor }?: {
10
9
  showCursor?: boolean | undefined;
11
10
  }) => LogUpdate;
12
11
  };
13
- export default _default;
12
+ export default logUpdate;
@@ -1,17 +1,12 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ansi_escapes_1 = __importDefault(require("ansi-escapes"));
7
- const cli_cursor_1 = __importDefault(require("cli-cursor"));
1
+ import ansiEscapes from 'ansi-escapes';
2
+ import cliCursor from 'cli-cursor';
8
3
  const create = (stream, { showCursor = false } = {}) => {
9
4
  let previousLineCount = 0;
10
5
  let previousOutput = '';
11
6
  let hasHiddenCursor = false;
12
7
  const render = (str) => {
13
8
  if (!showCursor && !hasHiddenCursor) {
14
- cli_cursor_1.default.hide();
9
+ cliCursor.hide();
15
10
  hasHiddenCursor = true;
16
11
  }
17
12
  const output = str + '\n';
@@ -19,11 +14,11 @@ const create = (stream, { showCursor = false } = {}) => {
19
14
  return;
20
15
  }
21
16
  previousOutput = output;
22
- stream.write(ansi_escapes_1.default.eraseLines(previousLineCount) + output);
17
+ stream.write(ansiEscapes.eraseLines(previousLineCount) + output);
23
18
  previousLineCount = output.split('\n').length;
24
19
  };
25
20
  render.clear = () => {
26
- stream.write(ansi_escapes_1.default.eraseLines(previousLineCount));
21
+ stream.write(ansiEscapes.eraseLines(previousLineCount));
27
22
  previousOutput = '';
28
23
  previousLineCount = 0;
29
24
  };
@@ -31,11 +26,12 @@ const create = (stream, { showCursor = false } = {}) => {
31
26
  previousOutput = '';
32
27
  previousLineCount = 0;
33
28
  if (!showCursor) {
34
- cli_cursor_1.default.show();
29
+ cliCursor.show();
35
30
  hasHiddenCursor = false;
36
31
  }
37
32
  };
38
33
  return render;
39
34
  };
40
- exports.default = { create };
35
+ const logUpdate = { create };
36
+ export default logUpdate;
41
37
  //# sourceMappingURL=log-update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":";;;;;AACA,gEAAuC;AACvC,4DAAmC;AAQnC,MAAM,MAAM,GAAG,CAAC,MAAgB,EAAE,EAAC,UAAU,GAAG,KAAK,EAAC,GAAG,EAAE,EAAa,EAAE;IACzE,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;YACpC,oBAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,KAAK,cAAc,EAAE;YAC9B,OAAO;SACP;QAED,cAAc,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,sBAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC;QACjE,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,sBAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE;QAClB,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE;YAChB,oBAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;SACxB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,kBAAe,EAAC,MAAM,EAAC,CAAC"}
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;AAQnC,MAAM,MAAM,GAAG,CAAC,MAAgB,EAAE,EAAC,UAAU,GAAG,KAAK,EAAC,GAAG,EAAE,EAAa,EAAE;IACzE,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;YACpC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,KAAK,cAAc,EAAE;YAC9B,OAAO;SACP;QAED,cAAc,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC;QACjE,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE;QAClB,cAAc,GAAG,EAAE,CAAC;QACpB,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE;YAChB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,eAAe,GAAG,KAAK,CAAC;SACxB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,EAAC,MAAM,EAAC,CAAC;AAC3B,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
- import { DOMElement } from './dom';
2
- interface Output {
1
+ import { type DOMElement } from './dom.js';
2
+ type Output = {
3
3
  /**
4
4
  * Element width.
5
5
  */
@@ -8,9 +8,9 @@ interface Output {
8
8
  * Element height.
9
9
  */
10
10
  height: number;
11
- }
12
- declare const _default: (node: DOMElement) => Output;
11
+ };
13
12
  /**
14
13
  * Measure the dimensions of a particular `<Box>` element.
15
14
  */
16
- export default _default;
15
+ declare const measureElement: (node: DOMElement) => Output;
16
+ export default measureElement;
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Measure the dimensions of a particular `<Box>` element.
5
3
  */
6
- exports.default = (node) => {
7
- var _a, _b, _c, _d;
8
- return ({
9
- width: (_b = (_a = node.yogaNode) === null || _a === void 0 ? void 0 : _a.getComputedWidth()) !== null && _b !== void 0 ? _b : 0,
10
- height: (_d = (_c = node.yogaNode) === null || _c === void 0 ? void 0 : _c.getComputedHeight()) !== null && _d !== void 0 ? _d : 0
11
- });
12
- };
4
+ const measureElement = (node) => ({
5
+ width: node.yogaNode?.getComputedWidth() ?? 0,
6
+ height: node.yogaNode?.getComputedHeight() ?? 0
7
+ });
8
+ export default measureElement;
13
9
  //# sourceMappingURL=measure-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":";;AAcA;;GAEG;AACH,kBAAe,CAAC,IAAgB,EAAU,EAAE;;IAAC,OAAA,CAAC;QAC7C,KAAK,cAAE,IAAI,CAAC,QAAQ,0CAAE,gBAAgB,qCAAM,CAAC;QAC7C,MAAM,cAAE,IAAI,CAAC,QAAQ,0CAAE,iBAAiB,qCAAM,CAAC;KAC/C,CAAC,CAAA;CAAA,CAAC"}
1
+ {"version":3,"file":"measure-element.js","sourceRoot":"","sources":["../src/measure-element.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC;IAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;CAC/C,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
- interface Output {
1
+ type Output = {
2
2
  width: number;
3
3
  height: number;
4
- }
5
- declare const _default: (text: string) => Output;
6
- export default _default;
4
+ };
5
+ declare const measureText: (text: string) => Output;
6
+ export default measureText;
@@ -1,23 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const widest_line_1 = __importDefault(require("widest-line"));
1
+ import widestLine from 'widest-line';
7
2
  const cache = {};
8
- exports.default = (text) => {
3
+ const measureText = (text) => {
9
4
  if (text.length === 0) {
10
5
  return {
11
6
  width: 0,
12
7
  height: 0
13
8
  };
14
9
  }
15
- if (cache[text]) {
16
- return cache[text];
10
+ const cachedDimensions = cache[text];
11
+ if (cachedDimensions) {
12
+ return cachedDimensions;
17
13
  }
18
- const width = widest_line_1.default(text);
14
+ const width = widestLine(text);
19
15
  const height = text.split('\n').length;
20
16
  cache[text] = { width, height };
21
17
  return { width, height };
22
18
  };
19
+ export default measureText;
23
20
  //# sourceMappingURL=measure-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure-text.js","sourceRoot":"","sources":["../src/measure-text.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAM,KAAK,GAA2B,EAAE,CAAC;AAOzC,kBAAe,CAAC,IAAY,EAAU,EAAE;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;KACF;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;KACnB;IAED,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IAE9B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"measure-text.js","sourceRoot":"","sources":["../src/measure-text.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,KAAK,GAA2B,EAAE,CAAC;AAOzC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;KACF;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,gBAAgB,EAAE;QACrB,OAAO,gBAAgB,CAAC;KACxB;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IAE9B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}