@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
93 lines • 2.48 kB
TypeScript
import { File, FileInfo, DirsMerger, InfoFunc, OverlayDirOptions, Fs } from '../type';
/**
* OverlayDir entity - represents a merged directory from multiple filesystems
* TypeScript version of Go's Dir struct
*/
export declare class OverlayDir implements File {
private _name;
private fss;
private dirOpeners;
private info?;
private merge;
private err?;
private offset;
private fis;
private closed;
constructor(options?: OverlayDirOptions);
/**
* Get file name
*/
name(): string;
/**
* Check if directory is closed
*/
private isClosed;
/**
* Read directory entries
*/
readdir(count: number): Promise<FileInfo[]>;
/**
* Read directory names
*/
readdirnames(n: number): Promise<string[]>;
/**
* Load directory entries from all filesystems
*/
private loadDirectoryEntries;
/**
* Read directory entries from a specific filesystem or file
*/
private readFromFilesystem;
/**
* Get file statistics
*/
stat(): Promise<FileInfo>;
/**
* Close directory
*/
close(): Promise<void>;
/**
* Not supported operations for directories
*/
private notSupported;
read(buffer: Uint8Array): Promise<{
bytesRead: number;
buffer: Uint8Array;
}>;
readAt(buffer: Uint8Array, offset: number): Promise<{
bytesRead: number;
buffer: Uint8Array;
}>;
seek(offset: number, whence: number): Promise<number>;
write(buffer: Uint8Array): Promise<{
bytesWritten: number;
buffer: Uint8Array;
}>;
writeAt(buffer: Uint8Array, offset: number): Promise<{
bytesWritten: number;
buffer: Uint8Array;
}>;
sync(): Promise<void>;
truncate(size: number): Promise<void>;
writeString(s: string): Promise<{
bytesWritten: number;
}>;
}
/**
* Get a directory from the pool
*/
export declare function getDir(): OverlayDir;
/**
* Release a directory back to the pool
*/
export declare function releaseDir(dir: OverlayDir): void;
/**
* Open a new merged directory
* TypeScript version of Go's OpenDir function
*/
export declare function openDir(name: string, merge: DirsMerger | null, info: InfoFunc | null, fss: Fs[]): Promise<OverlayDir>;
/**
* Create a new OverlayDir instance
*/
export declare function newOverlayDir(options?: OverlayDirOptions): OverlayDir;
//# sourceMappingURL=overlaydir.d.ts.map