Merge pull request #6786 from stpettersens/master

Type definitions and tests for line-reader
This commit is contained in:
Masahiro Wakame
2015-11-19 23:21:34 +09:00
2 changed files with 56 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
/// <reference path="line-reader.d.ts" />
import lineReader = require('line-reader');
lineReader.open('line-reader-tests.ts', function(err: Error, reader: LineReader) {
if (err) throw err;
if (reader.hasNextLine()) {
try {
reader.nextLine(function(err: Error, line: string) {
if (err) throw err;
console.log(line);
});
} finally {
reader.close(function(err: Error) {
if (err) throw err;
})
}
}
else {
reader.close(function(err: Error) {
if (err) throw err;
});
}
});
lineReader.eachLine('line-reader.d.ts', {encoding: 'utf8'}, function(line: string, last: boolean) {
console.log(line);
if (last) console.log('<EOF>');
});
+27
View File
@@ -0,0 +1,27 @@
// Type definitions for line-reader
// Project: https://github.com/nickewing/line-reader
// Definitions by: Sam Saint-Pettersen <https://github.com/stpettersens>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface LineReaderOptions {
separator?: any;
encoding?: string;
bufferSize?: number;
}
interface LineReader {
eachLine(): Function; // For Promise.promisify;
open(): Function;
eachLine(file: string, cb: (line: string, last?: boolean, cb?: Function) => void): LineReader;
eachLine(file: string, options: LineReaderOptions, cb: (line: string, last?: boolean, cb?: Function) => void): LineReader;
open(file: string, cb: (err: Error, reader: LineReader) => void): void;
open(file: string, options: LineReaderOptions, cb: (err: Error, reader: LineReader) => void): void;
hasNextLine(): boolean;
nextLine(cb: (err: Error, line: string) => void): void;
close(cb: (err: Error) => void): void;
}
declare module "line-reader" {
var lr: LineReader;
export = lr;
}