Files
Andy Hanson 89fa98a712 WIP
WIP

WIP

WIP

WIP

WIP

WIP: Remove trailing newlines

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP: All tests pass

WIP

WIP

WIP
2016-11-28 11:16:06 -08:00

92 lines
2.3 KiB
TypeScript

// Type definitions for pathwatcher
// Project: https://github.com/atom/node-pathwatcher
// Definitions by: vvakame <https://github.com/vvakame/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
/// <reference types="q" />
import * as Q from "q";
export as namespace PathWatcher;
export interface IFileStatic {
new (path: string, symlink?: boolean): IFile;
}
export interface IFile {
realPath: string;
path: string;
symlink: boolean;
cachedContents: string;
digest: string;
handleEventSubscriptions(): void;
setPath(path: string): void;
getPath(): string;
getRealPathSync(): string;
getBaseName(): string;
write(text: string): void;
readSync(flushCache: boolean): string;
read(flushCache?: boolean): Q.Promise<string>;
// exists(): boolean;
existsSync(): boolean;
setDigest(contents: string): void;
getDigest(): string;
writeFileWithPrivilegeEscalationSync (filePath: string, text: string): void;
handleNativeChangeEvent(eventType: string, eventPath: string): void;
detectResurrectionAfterDelay(): void;
detectResurrection(): void;
subscribeToNativeChangeEvents(): void;
unsubscribeFromNativeChangeEvents(): void;
}
export interface IDirectoryStatic {
new (path: string, symlink?: boolean): IDirectory;
}
export interface IDirectory {
realPath: string;
path: string;
symlink: boolean;
getBaseName(): string;
getPath(): void;
getRealPathSync(): string;
contains(pathToCheck: string): boolean;
relativize(fullPath: string): string;
getEntriesSync(): any[]; // return type are {File | Directory}[]
getEntries(callback: Function): void;
subscribeToNativeChangeEvents(): void;
unsubscribeFromNativeChangeEvents(): void;
isPathPrefixOf(prefix: string, fullPath: string): boolean;
}
import events = require("events");
export interface IHandleWatcher extends events.EventEmitter {
onEvent(event: any, filePath: any, oldFilePath: any): any;
start(): void;
closeIfNoListener(): void;
close(): void;
}
export interface IPathWatcher {
isWatchingParent: boolean;
path: any;
handleWatcher: IHandleWatcher;
close(): void;
}
export function watch(path: string, callback: Function): IPathWatcher;
export function closeAllWatchers(): void;
export function getWatchedPaths(): string[];
export var File: IFileStatic;
export var Directory: IDirectoryStatic;