UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

30 lines (29 loc) 953 B
import { GlobalConfig } from "../config/global.js"; import { parseUrl } from "./url.js"; import { isUndefined } from "@sindresorhus/is"; import { S3Client } from "@aws-sdk/client-s3"; //#region lib/util/s3.ts let s3Instance; function getS3Client(s3Endpoint, s3PathStyle) { if (!s3Instance) { const endpoint = s3Endpoint ?? GlobalConfig.get("s3Endpoint"); const forcePathStyle = isUndefined(s3PathStyle) ? !!GlobalConfig.get("s3PathStyle") : s3PathStyle; s3Instance = new S3Client({ ...endpoint && { endpoint }, ...forcePathStyle && { forcePathStyle: true } }); } return s3Instance; } function parseS3Url(rawUrl) { const parsedUrl = typeof rawUrl === "string" ? parseUrl(rawUrl) : rawUrl; if (parsedUrl === null) return null; if (parsedUrl.protocol !== "s3:") return null; return { Bucket: parsedUrl.host, Key: parsedUrl.pathname.substring(1) }; } //#endregion export { getS3Client, parseS3Url }; //# sourceMappingURL=s3.js.map