the problems with the original implementation was mostly around error handling. sources had to be tracked manually and provided to each incremental output. the `hasArtifact` check was frequently forgotten. this has been re-abstracted through `incr.work()`, which is given an `io` object. all fs reads and module loads go through this interface, which allows the sources to be properly tracked, even if it throws. closes #12
4 lines
198 B
TypeScript
4 lines
198 B
TypeScript
declare function UNWRAP<T>(value: T | null | undefined, ...log: unknown[]): T;
|
|
declare function ASSERT(value: unknown, message?: string): asserts value;
|
|
|
|
type Timer = ReturnType<typeof setTimeout>;
|