Add types for tail module

This commit is contained in:
spacejack
2018-05-15 23:54:12 -04:00
parent e22846ad77
commit c2cd90a611
4 changed files with 88 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
// Type definitions for tail 1.2
// Project: https://github.com/lucagrulla/node-tail
// Definitions by: Mike Linkovich <https://github.com/spacejack>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.1
declare namespace Tail {
interface TailOptions {
separator?: string | RegExp;
fromBeginning?: boolean;
fsWatchOptions?: Record<string, any>;
follow?: boolean;
logger?: any;
encoding?: string;
useWatchFile?: boolean;
}
interface Tail {
/** Callback to listen for newlines appended to file */
on(eventType: 'line', cb: (data: any) => void): void;
/** Error callback */
on(eventType: 'error', cb: (error: any) => void): void;
/** Stop watching file */
unwatch(): void;
/** Start watching file if previously stopped */
watch(): void;
}
interface TailConstructor {
/** Creates a new Tail object that starts watching the specified file immediately. */
new(filename: string, options?: TailOptions): Tail;
}
interface Static {
Tail: TailConstructor;
}
}
declare const Tail: Tail.Static;
export = Tail;
+26
View File
@@ -0,0 +1,26 @@
import { Tail } from 'tail';
const tail = new Tail("test.txt");
tail.on("line", data => {
console.log(data);
});
tail.on("error", error => {
console.log('ERROR: ', error);
});
tail.unwatch();
tail.watch();
// With options object
const tail2 = new Tail("test2.txt", {
separator: /[\r]{0,1}\n/,
fromBeginning: false,
fsWatchOptions: {},
follow: true,
logger: console,
useWatchFile: false,
encoding: 'utf-8'
});
+19
View File
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": []
},
"files": [
"index.d.ts",
"test.ts"
]
}
+3
View File
@@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}