UNPKG

@gensx/storage

Version:

Cloud storage, blobs, sqlite, and vector database providers/hooks for GenSX.

51 lines 1.71 kB
import { Blob, BlobStorage, DeleteBlobResult, ListBlobsOptions, ListBlobsResponse } from "./types.js"; /** * FileSystem implementation of blob storage */ export declare class FileSystemBlobStorage implements BlobStorage { private rootDir; private defaultPrefix?; /** * Create a new FileSystemBlobStorage * @param rootDir The root directory for blob storage * @param defaultPrefix Optional default prefix for all blob keys */ constructor(rootDir: string, defaultPrefix?: string | undefined); /** * Ensure the root directory exists * @throws BlobError if there's an error creating the directory */ private ensureRootDir; /** * Get the full path for a blob key * @param key The blob key * @returns The full path to the blob */ private getFullPath; /** * Get a blob by key * @param key The blob key * @returns A Blob instance for the given key */ getBlob<T>(key: string): Blob<T>; /** * List all blobs with optional pagination * @param options Options for listing blobs including prefix and pagination * @returns A paginated list of blob keys * @throws BlobError if there's an error listing blobs */ listBlobs(options?: ListBlobsOptions): Promise<ListBlobsResponse>; /** * Check if a blob exists * @param key The blob key * @returns True if the blob exists, false otherwise */ blobExists(key: string): Promise<boolean>; /** * Delete a blob * @param key The blob key * @returns The result of the delete operation */ deleteBlob(key: string): Promise<DeleteBlobResult>; } //# sourceMappingURL=filesystem.d.ts.map