UNPKG

@cloudbase/storage

Version:
65 lines (64 loc) 1.79 kB
/// <reference types="node" /> /// <reference types="node" /> export type FileBody = ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | NodeJS.ReadableStream | ReadableStream<Uint8Array> | URLSearchParams | string; export type BucketType = 'STANDARD' | 'ANALYTICS'; export interface Bucket { id: string; type?: BucketType; name: string; owner: string; file_size_limit?: number; allowed_mime_types?: string[]; created_at: string; updated_at: string; public: boolean; } export interface FileObject { name: string; bucket_id: string; owner: string; id: string; updated_at: string; created_at: string; last_accessed_at: string; metadata: Record<string, any>; buckets: Bucket; } export interface FileObjectV2 { id: string; version: string; name: string; bucket_id: string; updated_at: string; created_at: string; last_accessed_at: string; size?: number; cache_control?: string; content_type?: string; etag?: string; last_modified?: string; metadata?: Record<string, any>; } export interface FileOptions { cacheControl?: string; contentType?: string; upsert?: boolean; duplex?: string; metadata?: Record<string, any>; headers?: Record<string, string>; } export interface DestinationOptions { destinationBucket?: string; } export interface TransformOptions { width?: number; height?: number; resize?: 'cover' | 'contain' | 'fill'; quality?: number; format?: 'origin'; } type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}` ? `${Lowercase<P1>}${Uppercase<P2>}${CamelCase<P3>}` : S; export type Camelize<T> = { [K in keyof T as CamelCase<Extract<K, string>>]: T[K]; }; export {};