0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-02 04:38:21 -05:00

Refactoring using padEnd and padStart (denoland/deno_std#583)

Original: 4e21ace634
This commit is contained in:
迷渡 2019-09-04 22:32:28 +08:00 committed by Ryan Dahl
parent be9aaa664a
commit eea856e341

View file

@ -365,14 +365,12 @@ class Printf {
pad(s: string): string { pad(s: string): string {
const padding = this.flags.zero ? "0" : " "; const padding = this.flags.zero ? "0" : " ";
while (s.length < this.flags.width) {
if (this.flags.dash) { if (this.flags.dash) {
s += padding; return s.padEnd(this.flags.width, padding);
} else {
s = padding + s;
}
} }
return s;
return s.padStart(this.flags.width, padding);
} }
padNum(nStr: string, neg: boolean): string { padNum(nStr: string, neg: boolean): string {
let sign: string; let sign: string;
@ -393,13 +391,12 @@ class Printf {
const pad = zero ? "0" : " "; const pad = zero ? "0" : " ";
const len = zero ? this.flags.width - sign.length : this.flags.width; const len = zero ? this.flags.width - sign.length : this.flags.width;
while (nStr.length < len) { if (this.flags.dash) {
if (this.flags.dash) { nStr = nStr.padEnd(len, pad);
nStr += pad; // left justify - right pad } else {
} else { nStr = nStr.padStart(len, pad);
nStr = pad + nStr; // right just - left pad
}
} }
if (zero) { if (zero) {
// see above // see above
nStr = sign + nStr; nStr = sign + nStr;