Files
vscode/extensions/git/src/watch.ts
2017-01-17 12:56:37 +01:00

24 lines
878 B
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import { EventEmitter, Event, Disposable } from 'vscode';
import * as fs from 'fs';
export interface FSEvent {
eventType: string;
filename: string;
}
export function watch(path: string): { event: Event<FSEvent>; disposable: Disposable; } {
const emitter = new EventEmitter<FSEvent>();
const event = emitter.event;
const watcher = fs.watch(path, (eventType, filename) => emitter.fire({ eventType, filename }));
const disposable = new Disposable(() => watcher.close());
return { event, disposable };
}