@etherna/sdk-js
Version:
Etherna SDKs for operations on the network
54 lines • 1.66 kB
TypeScript
import type { ImageRaw, ImageType } from "../..";
import type { BeeClient } from "../../clients";
import type { WriterUploadOptions } from "../base-writer";
export type ProcessedImage = {
blurhash: string;
aspectRatio: number;
responsiveSourcesData: ResponseSourceData[];
};
export type ResponseSourceData = {
type: ImageType;
data: Uint8Array;
width: number;
};
interface ImageWriterOptions {
beeClient: BeeClient;
responsiveSizes?: number[];
}
export declare class ImageWriter {
private beeClient;
private responsiveSizes;
private file;
private preGenerateImages?;
static defaultResponsiveSizes: number[];
static avatarResponsiveSizes: number[];
static thumbnailResponsiveSizes: number[];
constructor(file: File | Blob, opts: ImageWriterOptions);
/**
* Upload the image(s) data on swarm
*
* @param options Upload options
* @returns The raw image object
*/
upload(options?: WriterUploadOptions): Promise<ImageRaw>;
/**
* Generate a Data URL string from the file
*/
getFilePreview(): Promise<string>;
/**
* Pregenerate images and return the total size of the images,
* used to calculate the best postage batch
*/
pregenerateImages(): Promise<ProcessedImage>;
/**
* Generate the preview, base64 and responsive images from the selected file
*/
private generateImages;
getFileImageSize(buffer: ArrayBuffer): Promise<{
width: number;
height: number;
}>;
imageToResponsiveSize(image: File | Blob, width: number): Promise<Blob>;
}
export {};
//# sourceMappingURL=writer.d.ts.map