makit
Version:
Make in JavaScript done right!
44 lines (43 loc) • 1.24 kB
TypeScript
import { Context } from './context';
import { FileSystem } from './fs/file-system';
import { TimeStamp } from './fs/time-stamp';
import { Rule } from './makefile/rule';
interface TargetOptions {
target: string;
match: RegExpExecArray | null;
root: string;
fs: FileSystem;
rule?: Rule;
make: (target: string) => Promise<TimeStamp>;
}
declare enum TargetState {
INIT = 0,
STARTED = 1,
RESOLVED = 2,
REJECTED = 3
}
export declare class Target {
name: string;
ctx: Context;
mtime: number;
state: TargetState;
pendingDependencyCount: number;
error?: Error;
rule?: Rule;
promises: [(t: TimeStamp) => void, (e: Error) => void][];
constructor(target: string, context: Context, mtime: number, rule?: Rule);
addPromise(resolve: (t: TimeStamp) => void, reject: (e: Error) => void): void;
resolve(): void;
reject(err: Error): void;
start(): void;
reset(): void;
isStarted(): boolean;
isReady(): boolean;
isResolved(): boolean;
isFinished(): boolean;
updateMtime(): void;
static create({ target, rule, match, root, fs, make }: TargetOptions): Target;
getDependencies(): string[];
writeDependency(): Promise<void>;
}
export {};