UNPKG

@mdfriday/foundry

Version:

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

74 lines 2.18 kB
import { File as IFile, Fs, FileInfo as IFileInfo } from '../type'; import { FileMeta } from './filemeta'; import { FileInfo } from './fileinfo'; /** * File represents a file with metadata * TypeScript version of Go's File struct */ export declare class File implements IFile { private readonly file; private readonly fileMeta; private fs; private readonly _isDir; constructor(file: IFile | null, fileMeta: FileMeta, fs: Fs, isDir?: boolean); /** * Check if this is a no-op file (null file) */ isNop(): boolean; /** * Close the file */ close(): Promise<void>; /** * ReadDir reads directory entries */ readDir(count: number): Promise<FileInfo[]>; /** * Get the file metadata */ meta(): FileMeta; /** * Simple path join implementation */ private joinPath; 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<IFileInfo[]>; readdirnames(n: number): Promise<string[]>; stat(): Promise<IFileInfo>; sync(): Promise<void>; truncate(size: number): Promise<void>; writeString(s: string): Promise<{ bytesWritten: number; }>; } /** * Creates a new File instance */ export declare function newFile(file: IFile, filename: string, fs: Fs): File; /** * Creates a new File with existing FileMeta */ export declare function newFileWithMeta(file: IFile, meta: FileMeta, fs: Fs): File; export declare function newDirFileWithMeta(file: IFile, meta: FileMeta, fs: Fs): File; /** * Creates a new directory File */ export declare function newDirFile(file: IFile, filename: string, fs: Fs): File; //# sourceMappingURL=file.d.ts.map