UNPKG

@bitblit/ratchet-aws

Version:

Common tools for use with AWS browser and node

37 lines (36 loc) 3.25 kB
import { CompleteMultipartUploadCommandOutput, CopyObjectCommandInput, CopyObjectCommandOutput, DeleteObjectCommandOutput, GetObjectCommandInput, GetObjectCommandOutput, HeadObjectCommandOutput, PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3"; import { Progress } from '@aws-sdk/lib-storage'; import { Readable } from 'stream'; import { S3CacheRatchetLike } from './s3-cache-ratchet-like.js'; export declare class S3CacheRatchet implements S3CacheRatchetLike { private s3; private defaultBucket; constructor(s3: S3Client, defaultBucket?: string); get s3Client(): S3Client; static applyCacheControlMaxAge(input: PutObjectCommandInput, seconds: number): PutObjectCommandInput; static applyUserMetaData(input: PutObjectCommandInput, key: string, value: string): PutObjectCommandInput; getDefaultBucket(): string; getS3Client(): S3Client; fileExists(key: string, bucket?: string): Promise<boolean>; fetchCacheFilePassThru(req: GetObjectCommandInput): Promise<GetObjectCommandOutput>; fetchCacheFileAsS3GetObjectCommandOutput(key: string, bucket?: string): Promise<GetObjectCommandOutput>; fetchCacheFileAsReadableStream(key: string, bucket?: string): Promise<ReadableStream>; fetchCacheFileAsBuffer(key: string, bucket?: string): Promise<Buffer>; fetchCacheFileAsString(key: string, bucket?: string): Promise<string>; fetchCacheFileAsObject<T>(key: string, bucket?: string): Promise<T>; removeCacheFile(key: string, bucket?: string): Promise<DeleteObjectCommandOutput>; writeObjectToCacheFile(key: string, dataObject: any, template?: Partial<PutObjectCommandInput>, bucket?: string): Promise<CompleteMultipartUploadCommandOutput>; writeStringToCacheFile(key: string, dataString: string, template?: Partial<PutObjectCommandInput>, bucket?: string): Promise<CompleteMultipartUploadCommandOutput>; writeStreamToCacheFile(key: string, data: ReadableStream | Readable, template?: Partial<PutObjectCommandInput>, bucket?: string, progressFn?: (progress: Progress) => void): Promise<CompleteMultipartUploadCommandOutput>; synchronize(srcPrefix: string, targetPrefix: string, targetRatchet?: S3CacheRatchetLike, recurseSubFolders?: boolean): Promise<string[]>; fetchMetaForCacheFile(key: string, bucket?: string): Promise<HeadObjectCommandOutput>; cacheFileAgeInSeconds(key: string, bucket?: string): Promise<number>; renameFile(srcKey: string, dstKey: string, srcBucket?: string, dstBucket?: string): Promise<CopyObjectCommandOutput>; copyFile(srcKey: string, dstKey: string, srcBucket?: string, dstBucket?: string, template?: Partial<CopyObjectCommandInput>): Promise<CopyObjectCommandOutput>; quietCopyFile(srcKey: string, dstKey: string, srcBucket?: string, dstBucket?: string): Promise<boolean>; preSignedDownloadUrlForCacheFile(key: string, expirationSeconds?: number, bucket?: string): Promise<string>; preSignedUploadUrlForCacheFile(key: string, expirationSeconds?: number, bucket?: string): Promise<string>; directChildrenOfPrefix(prefix: string, expandFiles?: boolean, bucket?: string, maxToReturn?: number): Promise<string[]>; allSubFoldersOfPrefix(prefix: string, bucket?: string): Promise<string[]>; private bucketVal; }