diff options
Diffstat (limited to 'std/node/_string_decoder.ts')
-rw-r--r-- | std/node/_string_decoder.ts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/std/node/_string_decoder.ts b/std/node/_string_decoder.ts index ce7c19538..623070f58 100644 --- a/std/node/_string_decoder.ts +++ b/std/node/_string_decoder.ts @@ -172,7 +172,13 @@ function utf8End(this: Utf8Decoder, buf?: Buffer): string { return r; } -function utf8Write(this: Utf8Decoder | Base64Decoder, buf: Buffer): string { +function utf8Write( + this: Utf8Decoder | Base64Decoder, + buf: Buffer | string, +): string { + if (typeof buf === "string") { + return buf; + } if (buf.length === 0) return ""; let r; let i; @@ -210,7 +216,13 @@ function base64End(this: Base64Decoder, buf?: Buffer): string { return r; } -function simpleWrite(this: StringDecoderBase, buf: Buffer): string { +function simpleWrite( + this: StringDecoderBase, + buf: Buffer | string, +): string { + if (typeof buf === "string") { + return buf; + } return buf.toString(this.encoding); } |