@stoar/sdk
Version:
JavaScript/TypeScript SDK for STOAR - Decentralized file storage on Arweave
44 lines • 1.21 kB
TypeScript
import { FileMetadata, UploadOptions } from '../types';
export interface QueuedFile {
id: string;
data: Buffer | Uint8Array;
metadata: FileMetadata;
options: UploadOptions;
addedAt: number;
}
export interface BatchQueueConfig {
maxFiles?: number;
maxBytes?: number;
timeout?: number;
autoCommit?: boolean;
onReady?: () => void | Promise<void>;
}
export interface BatchQueueStatus {
fileCount: number;
totalSize: number;
status: 'open' | 'processing' | 'closed';
createdAt: number;
lastAddedAt?: number;
}
export declare class BatchQueue {
private queue;
private totalSize;
private config;
private timer?;
private status;
private createdAt;
private lastAddedAt?;
constructor(config?: BatchQueueConfig);
add(id: string, data: Buffer | Uint8Array, metadata: FileMetadata, options?: UploadOptions): void;
remove(id: string): void;
getFiles(): QueuedFile[];
getStatus(): BatchQueueStatus;
shouldCommit(): boolean;
close(): void;
setProcessing(): void;
private resetTimer;
private triggerReady;
canFit(size: number): boolean;
clear(): void;
}
//# sourceMappingURL=batch-queue.d.ts.map