UNPKG

kura-s3

Version:

The FileSystem API abstraction library, AWS S3 Plugin

31 lines (27 loc) 818 B
import { S3 } from "aws-sdk"; import { AbstractAccessor, AbstractLocalFileSystem, normalizePath } from "kura"; import { S3Accessor } from "./S3Accessor"; import { S3FileSystemOptions } from "./S3FileSystemOption"; export class S3LocalFileSystem extends AbstractLocalFileSystem { private rootDir: string; constructor( private config: S3.ClientConfiguration, private bucket: string, roorDir: string, private s3Options?: S3FileSystemOptions ) { super(s3Options); this.rootDir = normalizePath(roorDir); } protected createAccessor(): Promise<AbstractAccessor> { return new Promise<S3Accessor>((resolve) => { const accessor = new S3Accessor( this.config, this.bucket, this.rootDir, this.s3Options ); resolve(accessor); }); } }