UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

124 lines (123 loc) 3.97 kB
export interface FileInfo { name(): string; size(): number; mode(): number; modTime(): Date; isDir(): boolean; sys(): any; } export interface File { close(): Promise<void>; 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; }>; name(): string; readdir(count: number): Promise<FileInfo[]>; readdirnames(n: number): Promise<string[]>; stat(): Promise<FileInfo>; sync(): Promise<void>; truncate(size: number): Promise<void>; writeString(s: string): Promise<{ bytesWritten: number; }>; } export interface Fs { create(name: string): Promise<File>; mkdir(name: string, perm: number): Promise<void>; mkdirAll(path: string, perm: number): Promise<void>; open(name: string): Promise<File>; openFile(name: string, flag: number, perm: number): Promise<File>; remove(name: string): Promise<void>; removeAll(path: string): Promise<void>; rename(oldname: string, newname: string): Promise<void>; stat(name: string): Promise<FileInfo>; name(): string; chmod(name: string, mode: number): Promise<void>; chown(name: string, uid: number, gid: number): Promise<void>; chtimes(name: string, atime: Date, mtime: Date): Promise<void>; } export declare class FsError extends Error { code?: string | undefined; constructor(message: string, code?: string | undefined); } export declare const ErrFileClosed: FsError; export declare const ErrOutOfRange: FsError; export declare const ErrTooLarge: FsError; export declare const ErrFileNotFound: FsError; export declare const ErrFileExists: FsError; export declare const ErrDestinationExists: FsError; export declare enum OpenFlags { O_RDONLY = 0, O_WRONLY = 1, O_RDWR = 2, O_APPEND = 8, O_CREATE = 64, O_EXCL = 128, O_SYNC = 256, O_TRUNC = 512 } export interface FileMetaInfo extends FileInfo { fileName(): string; relativeFilename(): string; component(): string; root(): string; open(): Promise<File>; } export type WalkFunc = (path: string, info: FileMetaInfo) => Promise<void | Error>; export type WalkHook = (dir: FileMetaInfo, path: string, readdir: FileMetaInfo[]) => Promise<FileMetaInfo[]>; export interface WalkCallback { hookPre?: WalkHook; walkFn: WalkFunc; hookPost?: WalkHook; } export interface WalkwayConfig { info?: FileMetaInfo; dirEntries?: FileMetaInfo[]; ignoreFile?: (filename: string) => boolean; failOnNotExist?: boolean; sortDirEntries?: boolean; } export declare const ErrSkipDir: Error; export declare const ErrWalkAlreadyWalked: FsError; export interface FilesystemIterator { filesystem(i: number): Fs | null; numFilesystems(): number; } export type DirsMerger = (lofi: FileInfo[], bofi: FileInfo[]) => FileInfo[]; export interface OverlayFsOptions { fss: Fs[]; firstWritable?: boolean; dirsMerger?: DirsMerger; } export interface OverlayFs extends Fs, FilesystemIterator { append(...fss: Fs[]): OverlayFs; withDirsMerger(merger: DirsMerger): OverlayFs; } export type DirOpener = () => Promise<File>; export type InfoFunc = () => Promise<FileInfo>; export interface OverlayDirOptions { name?: string; fss?: Fs[]; dirOpeners?: DirOpener[]; info?: InfoFunc; merge?: DirsMerger; } export declare class OverlayFsError extends FsError { constructor(message: string, code?: string); } export declare const ErrNoFilesystems: OverlayFsError; export declare const ErrOperationNotSupported: OverlayFsError;