49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
export interface FileMetaData {
|
|
path: string;
|
|
id: string;
|
|
contentSize: number;
|
|
}
|
|
|
|
export interface FileService {
|
|
list(): AsyncIterable<FileMetaData>;
|
|
|
|
createFromFullContent(
|
|
path: string,
|
|
content: string | Uint8Array,
|
|
): Promise<FileMetaData>;
|
|
|
|
createFromReader(path: string, content: Deno.Reader): Promise<FileMetaData>;
|
|
|
|
getRawContentByPath(path: string): Promise<Uint8Array | null>;
|
|
|
|
getContentByPath(path: string): Promise<Deno.Reader | null>;
|
|
|
|
getContentById(id: string): Promise<Deno.Reader | null>;
|
|
|
|
getMetaDataByID(id: string): Promise<FileMetaData | null>;
|
|
|
|
renameById(id: string, newPath: string): Promise<FileMetaData | null>;
|
|
|
|
renameByPath(
|
|
originalPath: string,
|
|
newPath: string,
|
|
): Promise<FileMetaData | null>;
|
|
|
|
deleteById(id: string): Promise<boolean>;
|
|
}
|
|
|
|
export interface BlobService {
|
|
persistBlob(index: string, content: Uint8Array): Promise<number>;
|
|
persistReader(index: string, content: Deno.Reader): Promise<number>;
|
|
readAllBlob(index: string): Promise<Uint8Array>;
|
|
getBlob(index: string): Deno.Reader;
|
|
getNumberOfChunks(index: string): Promise<number>;
|
|
}
|
|
|
|
|
|
export type Vector3D = [x: number, y: number, z: number];
|
|
|
|
|
|
export interface WaveFrontService {
|
|
scaleAndTranslate(objFile: Deno.Reader, scale: Vector3D, translate: Vector3D): Deno.Reader
|
|
} |