Skip to content

File

ts
/// <reference types="node" resolution-mode="require"/>
import { FILE_SIZE_UNIT, SourceAdapter } from "../definitions.js";
import { Directory } from "./dir.js";
import { Editor } from "./editor.js";
export interface PrefixDefinition {
    dept: number;
    separator: string;
}
export declare class LoomFile {
    protected _adapter: SourceAdapter;
    protected _dir: Directory;
    protected _name: string;
    protected _extension: string | undefined;
    static from(adapter: SourceAdapter, dir: Directory, name: string): LoomFile;
    static from(adapter: SourceAdapter, path: string): LoomFile;
    constructor(_adapter: SourceAdapter, _dir: Directory, _name: string);
    get path(): string;
    get name(): string;
    get extension(): string | undefined;
    get dir(): Directory;
    get parent(): Directory;
    get adapter(): SourceAdapter;
    getSizeInBytes(): Promise<number>;
    getSize(unit?: FILE_SIZE_UNIT): Promise<number>;
    delete(): Promise<void>;
    copyTo(target: Directory | LoomFile): Promise<LoomFile>;
    exists(): Promise<boolean>;
    reader(): Promise<Editor>;
    plain(): Promise<Buffer>;
    text(encoding?: BufferEncoding): Promise<string>;
    write(data: string | Buffer): Promise<void>;
    create(): Promise<void>;
    [Symbol.toPrimitive](): string;
    get [Symbol.toStringTag](): string;
}