From e542affaca41480f4656f785d162a4a90b888051 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sat, 31 Jan 2026 10:17:52 -0800 Subject: [PATCH] Use native padStart over custom impl --- addons/addon-serialize/src/SerializeAddon.ts | 18 ++---------------- .../renderer/dom/DomRendererRowFactory.ts | 11 ++--------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/addons/addon-serialize/src/SerializeAddon.ts b/addons/addon-serialize/src/SerializeAddon.ts index deb3e2cc..fadeb5bb 100644 --- a/addons/addon-serialize/src/SerializeAddon.ts +++ b/addons/addon-serialize/src/SerializeAddon.ts @@ -630,20 +630,6 @@ export class HTMLSerializeHandler extends BaseSerializeHandler { } } - private _padStart(target: string, targetLength: number, padString: string): string { - targetLength = targetLength >> 0; - padString = padString ?? ' '; - if (target.length > targetLength) { - return target; - } - - targetLength -= target.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); - } - return padString.slice(0, targetLength) + target; - } - protected _beforeSerialize(rows: number, start: number, end: number): void { this._htmlContent += '
';
@@ -680,7 +666,7 @@ export class HTMLSerializeHandler extends BaseSerializeHandler {
(color >> 8) & 255,
(color ) & 255
];
- return '#' + rgb.map(x => this._padStart(x.toString(16), 2, '0')).join('');
+ return '#' + rgb.map(x => x.toString(16).padStart(2, '0')).join('');
}
if (isFg ? cell.isFgPalette() : cell.isBgPalette()) {
return this._ansiColors[color].css;
@@ -700,7 +686,7 @@ export class HTMLSerializeHandler extends BaseSerializeHandler {
(color >> 8) & 255,
(color ) & 255
];
- return '#' + rgb.map(x => this._padStart(x.toString(16), 2, '0')).join('');
+ return '#' + rgb.map(x => x.toString(16).padStart(2, '0')).join('');
}
// Palette color
return this._ansiColors[color].css;
diff --git a/src/browser/renderer/dom/DomRendererRowFactory.ts b/src/browser/renderer/dom/DomRendererRowFactory.ts
index e95d221b..e69c317b 100644
--- a/src/browser/renderer/dom/DomRendererRowFactory.ts
+++ b/src/browser/renderer/dom/DomRendererRowFactory.ts
@@ -397,7 +397,7 @@ export class DomRendererRowFactory {
break;
case Attributes.CM_RGB:
resolvedBg = channels.toColor(bg >> 16, bg >> 8 & 0xFF, bg & 0xFF);
- this._addStyle(charElement, `background-color:#${padStart((bg >>> 0).toString(16), '0', 6)}`);
+ this._addStyle(charElement, `background-color:#${(bg >>> 0).toString(16).padStart(6, '0')}`);
break;
case Attributes.CM_DEFAULT:
default:
@@ -434,7 +434,7 @@ export class DomRendererRowFactory {
(fg ) & 0xFF
);
if (!this._applyMinimumContrast(charElement, resolvedBg, color, cell, bgOverride, fgOverride)) {
- this._addStyle(charElement, `color:#${padStart(fg.toString(16), '0', 6)}`);
+ this._addStyle(charElement, `color:#${fg.toString(16).padStart(6, '0')}`);
}
break;
case Attributes.CM_DEFAULT:
@@ -537,10 +537,3 @@ export class DomRendererRowFactory {
(start[1] < end[1] && y === start[1] && x >= start[0]);
}
}
-
-function padStart(text: string, padChar: string, length: number): string {
- while (text.length < length) {
- text = padChar + text;
- }
- return text;
-}