modestbench 0.3.0 → 0.3.1

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 (96) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cli/commands/init.cjs +12 -12
  3. package/dist/cli/commands/init.cjs.map +1 -1
  4. package/dist/cli/commands/init.js +12 -12
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/commands/run.cjs +15 -14
  7. package/dist/cli/commands/run.cjs.map +1 -1
  8. package/dist/cli/commands/run.d.cts.map +1 -1
  9. package/dist/cli/commands/run.d.ts.map +1 -1
  10. package/dist/cli/commands/run.js +15 -14
  11. package/dist/cli/commands/run.js.map +1 -1
  12. package/dist/core/engine.cjs +11 -2
  13. package/dist/core/engine.cjs.map +1 -1
  14. package/dist/core/engine.d.cts.map +1 -1
  15. package/dist/core/engine.d.ts.map +1 -1
  16. package/dist/core/engine.js +11 -2
  17. package/dist/core/engine.js.map +1 -1
  18. package/dist/core/engines/accurate-engine.cjs +171 -36
  19. package/dist/core/engines/accurate-engine.cjs.map +1 -1
  20. package/dist/core/engines/accurate-engine.d.cts +5 -0
  21. package/dist/core/engines/accurate-engine.d.cts.map +1 -1
  22. package/dist/core/engines/accurate-engine.d.ts +5 -0
  23. package/dist/core/engines/accurate-engine.d.ts.map +1 -1
  24. package/dist/core/engines/accurate-engine.js +171 -36
  25. package/dist/core/engines/accurate-engine.js.map +1 -1
  26. package/dist/core/engines/tinybench-engine.cjs +3 -2
  27. package/dist/core/engines/tinybench-engine.cjs.map +1 -1
  28. package/dist/core/engines/tinybench-engine.d.cts.map +1 -1
  29. package/dist/core/engines/tinybench-engine.d.ts.map +1 -1
  30. package/dist/core/engines/tinybench-engine.js +3 -2
  31. package/dist/core/engines/tinybench-engine.js.map +1 -1
  32. package/dist/reporters/human.cjs +226 -29
  33. package/dist/reporters/human.cjs.map +1 -1
  34. package/dist/reporters/human.d.cts +11 -0
  35. package/dist/reporters/human.d.cts.map +1 -1
  36. package/dist/reporters/human.d.ts +11 -0
  37. package/dist/reporters/human.d.ts.map +1 -1
  38. package/dist/reporters/human.js +226 -29
  39. package/dist/reporters/human.js.map +1 -1
  40. package/dist/reporters/profile-human.cjs +6 -1
  41. package/dist/reporters/profile-human.cjs.map +1 -1
  42. package/dist/reporters/profile-human.d.cts.map +1 -1
  43. package/dist/reporters/profile-human.d.ts.map +1 -1
  44. package/dist/reporters/profile-human.js +6 -1
  45. package/dist/reporters/profile-human.js.map +1 -1
  46. package/dist/reporters/simple.cjs +4 -2
  47. package/dist/reporters/simple.cjs.map +1 -1
  48. package/dist/reporters/simple.d.cts.map +1 -1
  49. package/dist/reporters/simple.d.ts.map +1 -1
  50. package/dist/reporters/simple.js +4 -2
  51. package/dist/reporters/simple.js.map +1 -1
  52. package/dist/services/config-manager.cjs +1 -1
  53. package/dist/services/config-manager.cjs.map +1 -1
  54. package/dist/services/config-manager.js +1 -1
  55. package/dist/services/config-manager.js.map +1 -1
  56. package/dist/services/profiler/profile-filter.cjs +4 -1
  57. package/dist/services/profiler/profile-filter.cjs.map +1 -1
  58. package/dist/services/profiler/profile-filter.d.cts.map +1 -1
  59. package/dist/services/profiler/profile-filter.d.ts.map +1 -1
  60. package/dist/services/profiler/profile-filter.js +4 -1
  61. package/dist/services/profiler/profile-filter.js.map +1 -1
  62. package/dist/services/progress-manager.cjs +10 -2
  63. package/dist/services/progress-manager.cjs.map +1 -1
  64. package/dist/services/progress-manager.d.cts +2 -0
  65. package/dist/services/progress-manager.d.cts.map +1 -1
  66. package/dist/services/progress-manager.d.ts +2 -0
  67. package/dist/services/progress-manager.d.ts.map +1 -1
  68. package/dist/services/progress-manager.js +10 -2
  69. package/dist/services/progress-manager.js.map +1 -1
  70. package/dist/types/core.d.cts +2 -0
  71. package/dist/types/core.d.cts.map +1 -1
  72. package/dist/types/core.d.ts +2 -0
  73. package/dist/types/core.d.ts.map +1 -1
  74. package/dist/types/interfaces.d.cts +4 -0
  75. package/dist/types/interfaces.d.cts.map +1 -1
  76. package/dist/types/interfaces.d.ts +4 -0
  77. package/dist/types/interfaces.d.ts.map +1 -1
  78. package/dist/types/profiler.d.cts +2 -0
  79. package/dist/types/profiler.d.cts.map +1 -1
  80. package/dist/types/profiler.d.ts +2 -0
  81. package/dist/types/profiler.d.ts.map +1 -1
  82. package/package.json +9 -10
  83. package/src/cli/commands/init.ts +12 -12
  84. package/src/cli/commands/run.ts +16 -15
  85. package/src/core/engine.ts +18 -2
  86. package/src/core/engines/accurate-engine.ts +195 -44
  87. package/src/core/engines/tinybench-engine.ts +3 -2
  88. package/src/reporters/human.ts +350 -72
  89. package/src/reporters/profile-human.ts +9 -3
  90. package/src/reporters/simple.ts +5 -2
  91. package/src/services/config-manager.ts +1 -1
  92. package/src/services/profiler/profile-filter.ts +5 -1
  93. package/src/services/progress-manager.ts +12 -2
  94. package/src/types/core.ts +2 -0
  95. package/src/types/interfaces.ts +8 -0
  96. package/src/types/profiler.ts +3 -0
@@ -19,8 +19,10 @@ const ansi_js_1 = require("../utils/ansi.cjs");
19
19
  class HumanReporter extends reporter_registry_js_1.BaseReporter {
20
20
  currentFile = '';
21
21
  currentSuite = '';
22
+ currentSuiteMaxNameLen = 0; // Track max name length for current suite alignment
22
23
  failures = [];
23
24
  lastProgressLine = '';
25
+ maxTimePadWidth = 0; // Track maximum time padding width to prevent jitter
24
26
  progressWindowActive = false; // Track if progress window is rendered
25
27
  quiet;
26
28
  showProgress;
@@ -108,11 +110,13 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
108
110
  let totalSuites = 0;
109
111
  let totalPassed = 0;
110
112
  let totalFailed = 0;
113
+ let totalAborted = 0;
111
114
  for (const file of run.files) {
112
115
  totalSuites += file.suites.length;
113
116
  for (const suite of file.suites) {
114
- totalPassed += suite.tasks.filter((t) => !t.error).length;
117
+ totalPassed += suite.tasks.filter((t) => !t.error && !t.aborted).length;
115
118
  totalFailed += suite.tasks.filter((t) => t.error).length;
119
+ totalAborted += suite.tasks.filter((t) => t.aborted).length;
116
120
  }
117
121
  }
118
122
  // Results header
@@ -121,10 +125,17 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
121
125
  this.printLine();
122
126
  this.printLine(`${this.colorize('brightBlue', ' Files:')} ${this.colorize('brightWhite', String(totalFiles))}`);
123
127
  this.printLine(`${this.colorize('brightBlue', ' Suites:')} ${this.colorize('brightWhite', String(totalSuites))}`);
124
- this.printLine(`${this.colorize('brightBlue', ' Tasks:')} ${this.colorize('brightWhite', String(totalPassed + totalFailed))}`);
125
- if (totalFailed > 0) {
126
- this.printLine(`${this.colorize('brightRed', ansi_js_1.ansiChars.cross + ' Failed:')} ${this.colorize('brightWhite', String(totalFailed))}`);
127
- this.printLine(`${this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark + ' Passed:')} ${this.colorize('brightWhite', String(totalPassed))}`);
128
+ this.printLine(`${this.colorize('brightBlue', ' Tasks:')} ${this.colorize('brightWhite', String(totalPassed + totalFailed + totalAborted))}`);
129
+ if (totalFailed > 0 || totalAborted > 0) {
130
+ if (totalFailed > 0) {
131
+ this.printLine(`${this.colorize('brightRed', ansi_js_1.ansiChars.cross + ' Failed:')} ${this.colorize('brightWhite', String(totalFailed))}`);
132
+ }
133
+ if (totalPassed > 0) {
134
+ this.printLine(`${this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark + ' Passed:')} ${this.colorize('brightWhite', String(totalPassed))}`);
135
+ }
136
+ if (totalAborted > 0) {
137
+ this.printLine(`${this.colorize('brightYellow', ansi_js_1.ansiChars.approx + ' Aborted:')} ${this.colorize('brightWhite', String(totalAborted))}`);
138
+ }
128
139
  }
129
140
  else {
130
141
  this.printLine(`${this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark + ' All tasks passed:')} ${this.colorize('brightWhite', String(totalPassed))}`);
@@ -145,7 +156,8 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
145
156
  }
146
157
  }
147
158
  }
148
- else {
159
+ else if (totalAborted === 0) {
160
+ // Only show "Rad" if no failures AND no aborts
149
161
  const successMessage = `${this.colorize('brightMagenta', 'Rad. ☮')}`;
150
162
  this.printLine(successMessage);
151
163
  }
@@ -193,7 +205,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
193
205
  if (!process.stdout.isTTY) {
194
206
  return;
195
207
  }
196
- const { elapsed, percentage, tasksCompleted, totalTasks } = state;
208
+ const { currentTask, elapsed, percentage, tasksCompleted, totalTasks } = state;
197
209
  // Pad task counts for alignment
198
210
  const totalTasksWidth = String(totalTasks).length;
199
211
  const paddedTasksCompleted = String(tasksCompleted).padStart(totalTasksWidth, ' ');
@@ -202,7 +214,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
202
214
  const elapsedStrRaw = this.formatTimeRemaining(elapsedSeconds);
203
215
  // Calculate ETA if we have completed tasks and determine padding width
204
216
  let etaStr = '';
205
- let padWidth = elapsedStrRaw.length;
217
+ let padWidth = Math.max(this.maxTimePadWidth, elapsedStrRaw.length);
206
218
  if (tasksCompleted > 0) {
207
219
  const avgTimePerTask = elapsed / tasksCompleted;
208
220
  const remainingTasks = totalTasks - tasksCompleted;
@@ -210,12 +222,21 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
210
222
  const etaSeconds = Math.round(etaMs / 1000);
211
223
  const etaTimeStr = this.formatTimeRemaining(etaSeconds);
212
224
  padWidth = Math.max(padWidth, etaTimeStr.length);
213
- etaStr = ` ${this.colorize('dim', '|')} ${this.colorize('dim', 'ETA:')} ${this.colorize('brightBlue', etaTimeStr)}`;
225
+ etaStr = ` ${this.colorize('gray', '|')} ${this.colorize('gray', 'ETA:')} ${this.colorize('brightBlue', etaTimeStr)}`;
214
226
  }
227
+ // Remember the maximum width we've ever used to prevent jitter
228
+ this.maxTimePadWidth = Math.max(this.maxTimePadWidth, padWidth);
215
229
  // Pad elapsed time to match the longest time string
216
- const elapsedStr = elapsedStrRaw.padStart(padWidth, ' ');
230
+ const elapsedStr = elapsedStrRaw.padStart(this.maxTimePadWidth, ' ');
217
231
  const roundedPercentage = percentage.toFixed(2);
218
- const line = `${this.colorize('brightCyan', ansi_js_1.ansiChars.approx)} ${this.colorize('white', paddedTasksCompleted)}${this.colorize('dim', '/')}${this.colorize('white', String(totalTasks))} ${this.colorize('dim', 'tasks')} ${this.colorize('dim', '(')}${this.colorize('brightBlue', roundedPercentage + '%')}${this.colorize('dim', ')')} ${this.colorize('dim', '|')} ${this.colorize('dim', 'Elapsed:')} ${this.colorize('cyan', elapsedStr)}${etaStr}`;
232
+ // Build progress line with current task if available
233
+ let line = `${this.colorize('brightCyan', ansi_js_1.ansiChars.approx)} ${this.colorize('white', paddedTasksCompleted)}${this.colorize('gray', '/')}${this.colorize('white', String(totalTasks))} ${this.colorize('gray', 'tasks')} ${this.colorize('gray', '(')}${this.colorize('brightBlue', roundedPercentage + '%')}${this.colorize('gray', ')')} ${this.colorize('gray', '|')} ${this.colorize('gray', 'Elapsed:')} ${this.colorize('cyan', elapsedStr)}${etaStr}`;
234
+ if (currentTask) {
235
+ const truncatedTask = currentTask.length > 60
236
+ ? currentTask.substring(0, 57) + '...'
237
+ : currentTask;
238
+ line += ` ${this.colorize('gray', '|')} ${this.colorize('white', truncatedTask)}`;
239
+ }
219
240
  this.lastProgressLine = line;
220
241
  this.renderProgressWindow();
221
242
  }
@@ -223,6 +244,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
223
244
  this.startTime = Date.now();
224
245
  this.failures = []; // Reset failures for new run
225
246
  this.lastProgressLine = ''; // Reset for new run
247
+ this.maxTimePadWidth = 0; // Reset time padding width for new run
226
248
  if (this.quiet) {
227
249
  return;
228
250
  }
@@ -273,22 +295,53 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
273
295
  if (this.quiet) {
274
296
  return;
275
297
  }
276
- // Print all buffered task results with aligned columns
277
- this.printAlignedSuiteResults();
298
+ // Tasks are printed immediately in onTaskResult, so just print suite summary
278
299
  // Skip displaying summary for the implicit "default" suite
279
300
  if (result.name === 'default') {
280
301
  return;
281
302
  }
282
- const passed = result.tasks.filter((t) => !t.error).length;
303
+ const passed = result.tasks.filter((t) => !t.error && !t.aborted).length;
283
304
  const failed = result.tasks.filter((t) => t.error).length;
305
+ const aborted = result.tasks.filter((t) => t.aborted).length;
306
+ const durationStr = reporter_registry_js_1.BaseReporter.formatDuration(result.duration * 1000000); // ms to ns
307
+ // Build summary parts
308
+ const parts = [];
284
309
  if (failed > 0) {
285
- this.printLine(` ${this.colorize('red', `${ansi_js_1.ansiChars.cross} ${failed} failed`)}, ${this.colorize('green', `${passed} passed`)}`);
310
+ parts.push(this.colorize('red', `${ansi_js_1.ansiChars.cross} ${failed} failed`));
311
+ }
312
+ if (passed > 0) {
313
+ parts.push(this.colorize('green', `${passed} passed`));
314
+ }
315
+ if (aborted > 0) {
316
+ parts.push(this.colorize('brightYellow', `${aborted} aborted`));
317
+ }
318
+ const summary = parts.join(', ');
319
+ const timeInfo = `${this.colorize('gray', 'in')} ${this.colorize('cyan', durationStr)}`;
320
+ if (failed > 0 || aborted > 0) {
321
+ this.printLine(` ${summary} ${timeInfo}`);
286
322
  }
287
323
  else {
288
- this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${HumanReporter.pluralize('task', passed)} passed`)}`);
324
+ this.printLine(` ${this.colorize('magenta', ansi_js_1.ansiChars.checkmark)} ${this.colorize('bold', this.colorize('brightWhite', `${passed}`))} ${this.colorize('brightWhite', `${HumanReporter.pluralize('task', passed)} passed`)} ${timeInfo}`);
289
325
  }
290
326
  this.printLine();
291
327
  }
328
+ onSuiteInit(suite, taskNames) {
329
+ // Pre-calculate max name length for optimal alignment
330
+ const terminalWidth = process.stdout.columns || 80;
331
+ const STATS_RESERVED_WIDTH = 70;
332
+ const MAX_NAME_WIDTH = Math.max(40, Math.min(60, terminalWidth - 4 - 2 - 2 - STATS_RESERVED_WIDTH));
333
+ // Calculate the actual max name length from non-wrapped names
334
+ let maxLen = 0;
335
+ for (const name of taskNames) {
336
+ const nameLen = this.getVisibleLength(name.trim());
337
+ // Only count names that won't wrap
338
+ if (nameLen <= MAX_NAME_WIDTH) {
339
+ maxLen = Math.max(maxLen, nameLen);
340
+ }
341
+ }
342
+ // Use the max of actual names or MAX_NAME_WIDTH for consistency
343
+ this.currentSuiteMaxNameLen = Math.max(maxLen, MAX_NAME_WIDTH);
344
+ }
292
345
  onSuiteStart(suite) {
293
346
  this.currentSuite = suite;
294
347
  if (this.quiet) {
@@ -307,8 +360,14 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
307
360
  if (this.quiet) {
308
361
  return;
309
362
  }
310
- // Buffer the result for later printing with proper alignment
363
+ // Always buffer the result for suite summary (including aborted tasks)
311
364
  this.suiteResults.push(result);
365
+ // Skip printing aborted tasks (they're counted in summary but not shown individually)
366
+ if (result.aborted) {
367
+ return;
368
+ }
369
+ // Print immediately with current alignment
370
+ this.printTaskResult(result);
312
371
  }
313
372
  onTaskStart(task) {
314
373
  if (this.quiet) {
@@ -381,10 +440,17 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
381
440
  if (this.suiteResults.length === 0) {
382
441
  return;
383
442
  }
384
- const MAX_NAME_WIDTH = 60;
385
443
  const BASE_INDENT = ' '; // 4 spaces
386
444
  const bullet = this.colorize('dim', this.colorize('gray', ansi_js_1.ansiChars.bullet));
387
- const formatted = this.suiteResults.map((result) => {
445
+ // Calculate maximum name width based on terminal width
446
+ // Reserve space for: indent (4) + status (1) + space (1) + name + ": " (2) + stats (~60 chars)
447
+ const terminalWidth = process.stdout.columns || 80;
448
+ const STATS_RESERVED_WIDTH = 70; // Approx space for duration + rme + ops/sec with padding
449
+ const MAX_NAME_WIDTH = Math.max(40, Math.min(60, terminalWidth - BASE_INDENT.length - 2 - 2 - STATS_RESERVED_WIDTH));
450
+ // Filter out aborted tasks (they're counted in suite summary but not printed)
451
+ const formatted = this.suiteResults
452
+ .filter((result) => !result.aborted)
453
+ .map((result) => {
388
454
  const status = result.error
389
455
  ? this.colorize('red', ansi_js_1.ansiChars.cross)
390
456
  : this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark);
@@ -408,7 +474,7 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
408
474
  }
409
475
  const duration = reporter_registry_js_1.BaseReporter.formatDuration(result.mean); // already in nanoseconds
410
476
  const opsPerSec = reporter_registry_js_1.BaseReporter.formatOpsPerSecond(result.opsPerSecond);
411
- const rme = reporter_registry_js_1.BaseReporter.formatPercentage(result.marginOfError * 100);
477
+ const rme = reporter_registry_js_1.BaseReporter.formatPercentage(result.marginOfError); // already a percentage
412
478
  return {
413
479
  durationLen: this.getVisibleLength(duration),
414
480
  durationStr: duration,
@@ -431,9 +497,6 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
431
497
  const maxDurationLen = Math.max(...formatted.filter((t) => !t.error).map((t) => t.durationLen), 0);
432
498
  const maxRmeLen = Math.max(...formatted.filter((t) => !t.error).map((t) => t.rmeLen), 0);
433
499
  const maxOpsLen = Math.max(...formatted.filter((t) => !t.error).map((t) => t.opsPerSecLen), 0);
434
- // Calculate the position where numbers start for unwrapped lines
435
- // BASE_INDENT (4) + status (1 char) + space (1) + maxNameLen + ": " (2) = 8 + maxNameLen
436
- const numbersStartPos = BASE_INDENT.length + 2 + maxNameLen + 2;
437
500
  // Print each task with aligned columns
438
501
  for (const task of formatted) {
439
502
  if (task.error) {
@@ -447,15 +510,33 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
447
510
  this.printLine(`${BASE_INDENT}${task.status} ${this.colorize('white', task.name)} ${this.colorize('red', 'FAILED')}`);
448
511
  }
449
512
  else if (task.nameLength > MAX_NAME_WIDTH) {
450
- // Long name - wrap to next line, but align numbers with unwrapped lines
451
- this.printLine(`${BASE_INDENT}${task.status} ${this.colorize('white', task.name)}:`);
452
- // Calculate padding to align with unwrapped lines
453
- // We need to get to numbersStartPos from the beginning of the line
454
- const leadingPad = ' '.repeat(numbersStartPos);
513
+ // Long name - wrap to multiple lines, align last line with short names
514
+ const wrappedLines = this.wrapText(task.name, MAX_NAME_WIDTH);
515
+ const continueIndent = BASE_INDENT + ' '; // 6 spaces for continuation lines
516
+ // Format stats string
455
517
  const durationPad = ' '.repeat(maxDurationLen - task.durationLen);
456
518
  const rmePad = ' '.repeat(maxRmeLen - task.rmeLen);
457
519
  const opsPad = ' '.repeat(maxOpsLen - task.opsPerSecLen);
458
- this.printLine(`${leadingPad}${durationPad}${this.colorize('cyan', task.durationStr)} ${bullet} ${ansi_js_1.ansiChars.plusMinus}${rmePad}${this.colorize('brightBlue', task.rmeStr)} ${bullet} ${opsPad}${this.colorize('magenta', task.opsPerSecStr)}`);
520
+ const statsStr = `${durationPad}${this.colorize('cyan', task.durationStr)} ${bullet} ${ansi_js_1.ansiChars.plusMinus}${rmePad}${this.colorize('brightBlue', task.rmeStr)} ${bullet} ${opsPad}${this.colorize('magenta', task.opsPerSecStr)}`;
521
+ // Print first line with status
522
+ this.printLine(`${BASE_INDENT}${task.status} ${this.colorize('white', wrappedLines[0])}`);
523
+ // Print middle continuation lines (all but first and last)
524
+ for (let i = 1; i < wrappedLines.length - 1; i++) {
525
+ this.printLine(`${continueIndent}${this.colorize('white', wrappedLines[i])}`);
526
+ }
527
+ // Print last line with colon and stats aligned with short names
528
+ if (wrappedLines.length > 1) {
529
+ const lastLine = wrappedLines[wrappedLines.length - 1];
530
+ const lastLineLen = this.getVisibleLength(lastLine);
531
+ // Pad the last line to align the ':' with short names
532
+ const lastLinePad = ' '.repeat(Math.max(0, maxNameLen - lastLineLen));
533
+ this.printLine(`${continueIndent}${this.colorize('white', lastLine)}${lastLinePad}: ${statsStr}`);
534
+ }
535
+ else {
536
+ // Single wrapped line
537
+ const lastLinePad = ' '.repeat(maxNameLen - task.nameLength);
538
+ this.printLine(`${BASE_INDENT}${task.status} ${this.colorize('white', task.name)}${lastLinePad}: ${statsStr}`);
539
+ }
459
540
  if (this.verbose && task.iterations > 0) {
460
541
  this.printLine(` ${this.colorize('dim', `${task.iterations} iterations`)}`);
461
542
  }
@@ -483,6 +564,84 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
483
564
  console.log(message);
484
565
  this.renderProgressWindow();
485
566
  }
567
+ /**
568
+ * Print a single task result immediately with current alignment
569
+ */
570
+ printTaskResult(result) {
571
+ // Clear progress bar temporarily
572
+ this.clearProgress();
573
+ const BASE_INDENT = ' '; // 4 spaces
574
+ const bullet = this.colorize('dim', this.colorize('gray', ansi_js_1.ansiChars.bullet));
575
+ // Calculate terminal width constraints
576
+ const terminalWidth = process.stdout.columns || 80;
577
+ const STATS_RESERVED_WIDTH = 70;
578
+ const MAX_NAME_WIDTH = Math.max(40, Math.min(60, terminalWidth - BASE_INDENT.length - 2 - 2 - STATS_RESERVED_WIDTH));
579
+ // Status marker
580
+ const status = result.error
581
+ ? this.colorize('red', ansi_js_1.ansiChars.cross)
582
+ : this.colorize('brightCyan', ansi_js_1.ansiChars.checkmark);
583
+ const name = result.name.trim();
584
+ const nameLength = this.getVisibleLength(name);
585
+ // Handle errors
586
+ if (result.error) {
587
+ this.failures.push({
588
+ error: result.error?.message || String(result.error),
589
+ file: this.currentFile,
590
+ suite: this.currentSuite,
591
+ task: name,
592
+ });
593
+ this.printLine(`${BASE_INDENT}${status} ${this.colorize('white', name)} ${this.colorize('red', 'FAILED')}`);
594
+ return;
595
+ }
596
+ // Format stats
597
+ const duration = reporter_registry_js_1.BaseReporter.formatDuration(result.mean);
598
+ const opsPerSec = reporter_registry_js_1.BaseReporter.formatOpsPerSecond(result.opsPerSecond);
599
+ const rme = reporter_registry_js_1.BaseReporter.formatPercentage(result.marginOfError);
600
+ // Use fixed widths for stats columns (reasonable maximums)
601
+ const DURATION_WIDTH = 10; // "999.99ms" max
602
+ const RME_WIDTH = 8; // "±999.99%" max
603
+ const OPS_WIDTH = 15; // "999.99K ops/sec" max
604
+ const durationLen = this.getVisibleLength(duration);
605
+ const rmeLen = this.getVisibleLength(rme);
606
+ const opsLen = this.getVisibleLength(opsPerSec);
607
+ // Stats formatting with fixed widths
608
+ const durationPad = ' '.repeat(DURATION_WIDTH - durationLen);
609
+ const rmePad = ' '.repeat(RME_WIDTH - rmeLen);
610
+ const opsPad = ' '.repeat(OPS_WIDTH - opsLen);
611
+ const statsStr = `${durationPad}${this.colorize('cyan', duration)} ${bullet} ${ansi_js_1.ansiChars.plusMinus}${rmePad}${this.colorize('brightBlue', rme)} ${bullet} ${opsPad}${this.colorize('magenta', opsPerSec)}`;
612
+ // Handle long names (wrap)
613
+ if (nameLength > MAX_NAME_WIDTH) {
614
+ const wrappedLines = this.wrapText(name, MAX_NAME_WIDTH);
615
+ const continueIndent = BASE_INDENT + ' '; // 6 spaces for continuation lines
616
+ // Print first line with status
617
+ this.printLine(`${BASE_INDENT}${status} ${this.colorize('white', wrappedLines[0])}`);
618
+ // Print middle lines (all but first and last)
619
+ for (let i = 1; i < wrappedLines.length - 1; i++) {
620
+ this.printLine(`${continueIndent}${this.colorize('white', wrappedLines[i])}`);
621
+ }
622
+ // Print last line with colon and stats aligned
623
+ // Use pre-calculated currentSuiteMaxNameLen for perfect alignment
624
+ if (wrappedLines.length > 1) {
625
+ const lastLine = wrappedLines[wrappedLines.length - 1];
626
+ const lastLineLen = this.getVisibleLength(lastLine);
627
+ const lastLinePad = ' '.repeat(Math.max(0, this.currentSuiteMaxNameLen - lastLineLen));
628
+ this.printLine(`${continueIndent}${this.colorize('white', lastLine)}${lastLinePad}: ${statsStr}`);
629
+ }
630
+ else {
631
+ // Single wrapped line (shouldn't happen if nameLength > MAX but handle it)
632
+ const lastLinePad = ' '.repeat(Math.max(0, this.currentSuiteMaxNameLen - nameLength));
633
+ this.printLine(`${BASE_INDENT}${status} ${this.colorize('white', name)}${lastLinePad}: ${statsStr}`);
634
+ }
635
+ }
636
+ else {
637
+ // Normal length - print on same line with pre-calculated alignment
638
+ const namePad = ' '.repeat(Math.max(0, this.currentSuiteMaxNameLen - nameLength));
639
+ this.printLine(`${BASE_INDENT}${status} ${this.colorize('white', name)}${namePad}: ${statsStr}`);
640
+ }
641
+ if (this.verbose && result.iterations > 0) {
642
+ this.printLine(` ${this.colorize('dim', `${result.iterations} iterations`)}`);
643
+ }
644
+ }
486
645
  /**
487
646
  * Render the progress window at the bottom
488
647
  */
@@ -499,6 +658,44 @@ class HumanReporter extends reporter_registry_js_1.BaseReporter {
499
658
  console.log(this.lastProgressLine);
500
659
  this.progressWindowActive = true;
501
660
  }
661
+ /**
662
+ * Wrap text to a maximum width, breaking at word boundaries when possible
663
+ */
664
+ wrapText(text, maxWidth) {
665
+ if (this.getVisibleLength(text) <= maxWidth) {
666
+ return [text];
667
+ }
668
+ const lines = [];
669
+ let currentLine = '';
670
+ const words = text.split(/(\s+)/); // Keep whitespace in split
671
+ for (const word of words) {
672
+ const testLine = currentLine + word;
673
+ if (this.getVisibleLength(testLine) <= maxWidth) {
674
+ currentLine = testLine;
675
+ }
676
+ else {
677
+ // If current line has content, save it
678
+ if (currentLine.trim()) {
679
+ lines.push(currentLine.trimEnd());
680
+ currentLine = word.trim() + ' ';
681
+ }
682
+ else {
683
+ // Single word is too long, force break it
684
+ if (this.getVisibleLength(word) > maxWidth) {
685
+ lines.push(word.substring(0, maxWidth));
686
+ currentLine = word.substring(maxWidth);
687
+ }
688
+ else {
689
+ currentLine = word;
690
+ }
691
+ }
692
+ }
693
+ }
694
+ if (currentLine.trim()) {
695
+ lines.push(currentLine.trimEnd());
696
+ }
697
+ return lines;
698
+ }
502
699
  }
503
700
  exports.HumanReporter = HumanReporter;
504
701
  //# sourceMappingURL=human.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"human.js","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ import { BaseReporter } from "../services/reporter-registry.cjs";
12
12
  export declare class HumanReporter extends BaseReporter {
13
13
  private currentFile;
14
14
  private currentSuite;
15
+ private currentSuiteMaxNameLen;
15
16
  private failures;
16
17
  private lastProgressLine;
18
+ private maxTimePadWidth;
17
19
  private progressWindowActive;
18
20
  private readonly quiet;
19
21
  private readonly showProgress;
@@ -47,6 +49,7 @@ export declare class HumanReporter extends BaseReporter {
47
49
  onProgress(state: ProgressState): void;
48
50
  onStart(run: BenchmarkRun): void;
49
51
  onSuiteEnd(result: SuiteResult): void;
52
+ onSuiteInit(suite: string, taskNames: readonly string[]): void;
50
53
  onSuiteStart(suite: string): void;
51
54
  onTaskResult(result: TaskResult): void;
52
55
  onTaskStart(task: string): void;
@@ -79,9 +82,17 @@ export declare class HumanReporter extends BaseReporter {
79
82
  * (Vitest-style)
80
83
  */
81
84
  private printLine;
85
+ /**
86
+ * Print a single task result immediately with current alignment
87
+ */
88
+ private printTaskResult;
82
89
  /**
83
90
  * Render the progress window at the bottom
84
91
  */
85
92
  private renderProgressWindow;
93
+ /**
94
+ * Wrap text to a maximum width, breaking at word boundaries when possible
95
+ */
96
+ private wrapText;
86
97
  }
87
98
  //# sourceMappingURL=human.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,2BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,0CAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0JhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}
1
+ {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,2BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,0CAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA4F9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA6DtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAuDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA2CrC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IA0B9D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAiBtC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2LhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuHvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAqCjB"}
@@ -12,8 +12,10 @@ import { BaseReporter } from "../services/reporter-registry.js";
12
12
  export declare class HumanReporter extends BaseReporter {
13
13
  private currentFile;
14
14
  private currentSuite;
15
+ private currentSuiteMaxNameLen;
15
16
  private failures;
16
17
  private lastProgressLine;
18
+ private maxTimePadWidth;
17
19
  private progressWindowActive;
18
20
  private readonly quiet;
19
21
  private readonly showProgress;
@@ -47,6 +49,7 @@ export declare class HumanReporter extends BaseReporter {
47
49
  onProgress(state: ProgressState): void;
48
50
  onStart(run: BenchmarkRun): void;
49
51
  onSuiteEnd(result: SuiteResult): void;
52
+ onSuiteInit(suite: string, taskNames: readonly string[]): void;
50
53
  onSuiteStart(suite: string): void;
51
54
  onTaskResult(result: TaskResult): void;
52
55
  onTaskStart(task: string): void;
@@ -79,9 +82,17 @@ export declare class HumanReporter extends BaseReporter {
79
82
  * (Vitest-style)
80
83
  */
81
84
  private printLine;
85
+ /**
86
+ * Print a single task result immediately with current alignment
87
+ */
88
+ private printTaskResult;
82
89
  /**
83
90
  * Render the progress window at the bottom
84
91
  */
85
92
  private renderProgressWindow;
93
+ /**
94
+ * Wrap text to a maximum width, breaking at word boundaries when possible
95
+ */
96
+ private wrapText;
86
97
  }
87
98
  //# sourceMappingURL=human.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,0BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,yCAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA8E9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA+CtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAsDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAStC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0JhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}
1
+ {"version":3,"file":"human.d.ts","sourceRoot":"","sources":["../../src/reporters/human.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,0BAA0B;AAE3B,OAAO,EAAE,YAAY,EAAE,yCAAyC;AAGhE;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,YAAY,CAAM;IAE1B,OAAO,CAAC,sBAAsB,CAAK;IAEnC,OAAO,CAAC,QAAQ,CAKR;IAER,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAGhC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IAgBR;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAwC5C,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IA4F9B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAgB3B,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA+BnC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc/B,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA6DtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAuDhC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA2CrC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IA0B9D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAiBtC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2LhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuHvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAqCjB"}