@rytass/storages-adapter-r2
Version:
Cloudflare R2 storage adapter
20 lines (19 loc) • 1.04 kB
TypeScript
import { Storage, ReadBufferFileOptions, ReadStreamFileOptions, InputFile, StorageFile, WriteFileOptions } from '@rytass/storages';
import { Readable } from 'stream';
import { PresignedURLOptions, StorageR2Options } from './typings';
export declare class StorageR2Service extends Storage<StorageR2Options> {
private readonly bucket;
private readonly s3;
private readonly parseSignedURL;
constructor(options: StorageR2Options);
url(key: string, options?: PresignedURLOptions): Promise<string>;
read(key: string): Promise<Readable>;
read(key: string, options: ReadBufferFileOptions): Promise<Buffer>;
read(key: string, options: ReadStreamFileOptions): Promise<Readable>;
private writeStreamFile;
writeBufferFile(buffer: Buffer, options?: WriteFileOptions): Promise<StorageFile>;
write(file: InputFile, options?: WriteFileOptions): Promise<StorageFile>;
batchWrite(files: InputFile[]): Promise<StorageFile[]>;
remove(key: string): Promise<void>;
isExists(key: string): Promise<boolean>;
}