@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
63 lines • 1.99 kB
TypeScript
import { File as IFile, Fs } from '../type';
import { FileMeta } from './filemeta';
import { FileInfo } from './fileinfo';
import { File } from './file';
/**
* DirOpener function type for opening virtual directories
* TypeScript version of Go's DirOpener func
*/
export type DirOpener = () => Promise<FileInfo[]>;
/**
* Filter function type for filtering directory entries
*/
export type DirFilter = (entries: FileInfo[]) => Promise<FileInfo[]>;
/**
* DirFile represents a directory file with virtual directory support
* TypeScript version of Go's DirFile struct
*/
export declare class DirFile extends File {
private virtualOpener;
private filter;
constructor(file: File, virtualOpener?: DirOpener | null, filter?: DirFilter | null);
/**
* ReadDir reads directory entries, supporting both real and virtual directories
*/
readDir(count: number): Promise<FileInfo[]>;
/**
* Read virtual directory entries
*/
private readVirtualDir;
/**
* Set the filter function
*/
setFilter(filter: DirFilter): void;
/**
* Set the virtual opener function
*/
setVirtualOpener(opener: DirOpener): void;
/**
* Get the filter function
*/
getFilter(): DirFilter | null;
/**
* Get the virtual opener function
*/
getVirtualOpener(): DirOpener | null;
}
/**
* Creates a new DirFile with virtual opener
*/
export declare function newDirFileWithVirtualOpener(file: File, opener: DirOpener): DirFile;
/**
* Creates a new DirFile from file components
*/
export declare function newDirFile(file: IFile, meta: FileMeta, fs: Fs): DirFile;
/**
* Creates a new DirFile with filter
*/
export declare function newDirFileWithFilter(file: File, filter: DirFilter): DirFile;
/**
* Creates a new DirFile with both virtual opener and filter
*/
export declare function newDirFileWithOpenerAndFilter(file: File, opener: DirOpener, filter: DirFilter): DirFile;
//# sourceMappingURL=dir.d.ts.map