Skip to content

Commit eea856e

Browse files
justjavacry
authored andcommitted
Refactoring using padEnd and padStart (denoland/std#583)
Original: denoland/std@4e21ace
1 parent be9aaa6 commit eea856e

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

fmt/sprintf.ts

+10-13
Original file line numberDiff line numberDiff line change
@@ -365,14 +365,12 @@ class Printf {
365365

366366
pad(s: string): string {
367367
const padding = this.flags.zero ? "0" : " ";
368-
while (s.length < this.flags.width) {
369-
if (this.flags.dash) {
370-
s += padding;
371-
} else {
372-
s = padding + s;
373-
}
368+
369+
if (this.flags.dash) {
370+
return s.padEnd(this.flags.width, padding);
374371
}
375-
return s;
372+
373+
return s.padStart(this.flags.width, padding);
376374
}
377375
padNum(nStr: string, neg: boolean): string {
378376
let sign: string;
@@ -393,13 +391,12 @@ class Printf {
393391
const pad = zero ? "0" : " ";
394392
const len = zero ? this.flags.width - sign.length : this.flags.width;
395393

396-
while (nStr.length < len) {
397-
if (this.flags.dash) {
398-
nStr += pad; // left justify - right pad
399-
} else {
400-
nStr = pad + nStr; // right just - left pad
401-
}
394+
if (this.flags.dash) {
395+
nStr = nStr.padEnd(len, pad);
396+
} else {
397+
nStr = nStr.padStart(len, pad);
402398
}
399+
403400
if (zero) {
404401
// see above
405402
nStr = sign + nStr;

0 commit comments

Comments
 (0)