UNPKG

@nos-sdk/nos-node-sdk

Version:

NOS Node.js SDK实现了NOS对象操作接口,基于此SDK能方便快速地实现JavaScript应用程序来使用NOS的对象存储服务。

113 lines (112 loc) 3.28 kB
/// <reference types="node" /> import { ListOperationResponse } from './request'; export interface OperateObjectParams extends OperateOptionalBucketParams { objectKey: string; } export interface OperateBinaryObjectParams { sourceObjectKey: string; sourceBucket?: string; targetObjectKey: string; targetBucket?: string; } export interface OperateOptionalBucketParams { bucket?: string; } export interface ObjectMetadata { [x: string]: string; } export interface ObjectContent { key: string; lastModified: string; eTag: string; size: number; storageClass: string; } export interface CommonPrefixContent { prefix: string; } export interface CopyObjectParams extends OperateBinaryObjectParams { sourceObjectKey: string; sourceBucket?: string; targetObjectKey: string; targetBucket?: string; } export interface DeleteObjectParams extends OperateObjectParams { } export declare type GetObjectParams = GetObjectStreamParams | GetObjectBufferParams | GetObjectStringParams; export interface GetObjectBaseOptions extends OperateObjectParams { range?: { first: number; last?: number; } | { first?: number; last: number; } | string; ifNotFound?: string; ifModifiedSince?: Date | string; } export interface GetObjectStreamParams extends GetObjectBaseOptions { encode?: 'stream'; } export interface GetObjectBufferParams extends GetObjectBaseOptions { encode: 'buffer'; } export interface GetObjectStringParams extends GetObjectBaseOptions { /** * 文件的编码 */ encode: string; } export interface GetObjectUrlParams extends OperateObjectParams { expires: number; } export interface HeadObjectParams extends OperateObjectParams { ifModifiedSince?: string | Date; } export interface HeadObjectResult { contentType: string; eTag: string; lastModified: Date; metadata: { [x: string]: string; }; } export interface ListObjectParams extends OperateOptionalBucketParams { delimiter?: string; marker?: string; limit?: number; prefix?: string; } export interface ListObjectResult extends ListOperationResponse<ObjectContent> { delimiter: string; prefix: string; bucket: string; commonPrefixes: CommonPrefixContent[]; } export interface MoveObjectParams extends OperateBinaryObjectParams { } export declare type PutObjectParams = PutObjectBodyOptions | PutObjectFileOptions | PutObjectStreamOptions; export interface PutObjectBaseOptions extends OperateObjectParams { metadata?: object; } export interface PutObjectBodyOptions extends PutObjectBaseOptions { body: string | Buffer; } export interface PutObjectStreamOptions extends PutObjectBaseOptions { body: NodeJS.ReadableStream; length?: number; } export interface PutObjectFileOptions extends PutObjectBaseOptions { file: string; } export interface PutObjectResult { eTag: string; } export interface DeleteMultiObjectParams extends OperateOptionalBucketParams { objectKeys: string[]; } export interface DeleteMultiObjectErrorInfo { key: string; code: string; error: string; }