Sindbad~EG File Manager
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import { SourceData } from "@aws-sdk/types";
import { fromUtf8 as fromUtf8Browser } from "@smithy/util-utf8";
// Quick polyfill
const fromUtf8 =
typeof Buffer !== "undefined" && Buffer.from
? (input: string) => Buffer.from(input, "utf8")
: fromUtf8Browser;
export function convertToBuffer(data: SourceData): Uint8Array {
// Already a Uint8, do nothing
if (data instanceof Uint8Array) return data;
if (typeof data === "string") {
return fromUtf8(data);
}
if (ArrayBuffer.isView(data)) {
return new Uint8Array(
data.buffer,
data.byteOffset,
data.byteLength / Uint8Array.BYTES_PER_ELEMENT
);
}
return new Uint8Array(data);
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists