diff --git a/packages/hash-node/src/index.ts b/packages/hash-node/src/index.ts index e38fe32b018d..8fd7402550f3 100644 --- a/packages/hash-node/src/index.ts +++ b/packages/hash-node/src/index.ts @@ -1,6 +1,10 @@ import { Hash as IHash, SourceData } from "@aws-sdk/types"; import { Buffer } from "buffer"; -import { fromArrayBuffer, fromString } from "@aws-sdk/util-buffer-from"; +import { + fromArrayBuffer, + fromString, + StringEncoding +} from "@aws-sdk/util-buffer-from"; import { createHash, createHmac, Hash as NodeHash, Hmac } from "crypto"; export class Hash implements IHash { @@ -21,7 +25,7 @@ export class Hash implements IHash { } } -function castSourceData(toCast: SourceData, encoding?: string): Buffer { +function castSourceData(toCast: SourceData, encoding?: StringEncoding): Buffer { if (Buffer.isBuffer(toCast)) { return toCast; } diff --git a/packages/util-buffer-from/src/index.ts b/packages/util-buffer-from/src/index.ts index 34fd001851af..da70cb70a59b 100644 --- a/packages/util-buffer-from/src/index.ts +++ b/packages/util-buffer-from/src/index.ts @@ -27,27 +27,23 @@ export function fromArrayBuffer( } return new Buffer(input); } - -export function fromString( - input: string, - encoding?: - | "ascii" - | "utf8" - | "utf16le" - | "ucs2" - | "base64" - | "latin1" - | "binary" - | "hex" - | string -): Buffer { +export type StringEncoding = + | "ascii" + | "utf8" + | "utf16le" + | "ucs2" + | "base64" + | "latin1" + | "binary" + | "hex"; +export function fromString(input: string, encoding?: StringEncoding): Buffer { if (typeof input !== "string") { throw new Error("argument passed to fromString was not a string"); } if (typeof Buffer.from === "function" && Buffer.from !== Uint8Array.from) { - return Buffer.from(input, encoding); + return Buffer.from(input, encoding as any); } - return new Buffer(input, encoding); + return new Buffer(input, encoding as any); }