From acc527ca1baa1e6041fda62fe2aa6acb40c9e8ca Mon Sep 17 00:00:00 2001 From: Eugene Lazutkin Date: Mon, 25 Jun 2018 22:43:09 -0500 Subject: [PATCH] stream-csv-as-json: split modules, followed lint suggestions. --- types/stream-csv-as-json/AsObjects.d.ts | 38 +++++++ types/stream-csv-as-json/Parser.d.ts | 33 ++++++ types/stream-csv-as-json/Stringer.d.ts | 31 ++++++ types/stream-csv-as-json/index.d.ts | 129 ++---------------------- types/stream-csv-as-json/tsconfig.json | 3 +- 5 files changed, 115 insertions(+), 119 deletions(-) create mode 100644 types/stream-csv-as-json/AsObjects.d.ts create mode 100644 types/stream-csv-as-json/Parser.d.ts create mode 100644 types/stream-csv-as-json/Stringer.d.ts diff --git a/types/stream-csv-as-json/AsObjects.d.ts b/types/stream-csv-as-json/AsObjects.d.ts new file mode 100644 index 0000000000..8c0ab31ab6 --- /dev/null +++ b/types/stream-csv-as-json/AsObjects.d.ts @@ -0,0 +1,38 @@ +/// + +import { TransformOptions, Transform } from 'stream'; +import * as Chain from 'stream-chain'; + +export = AsObjects; + +declare class AsObjects extends Transform { + constructor(options?: AsObjects.AsObjectOptions); +} + +declare namespace AsObjects { + interface AsObjectOptions extends TransformOptions { + packValues?: boolean; + packStrings?: boolean; + streamValues?: boolean; + streamStrings?: boolean; + useValues?: boolean; + useStringValues?: boolean; + fieldPrefix?: string; + } + + function make(options?: AsObjectOptions): AsObjects; + + namespace make { + type Constructor = AsObjects; + const Constructor: typeof AsObjects; + } + + function asObjects(options?: AsObjectOptions): AsObjects; + + namespace asObjects { + type Constructor = AsObjects; + const Constructor: typeof AsObjects; + } + + function withParser(options?: AsObjectOptions): Chain; +} diff --git a/types/stream-csv-as-json/Parser.d.ts b/types/stream-csv-as-json/Parser.d.ts new file mode 100644 index 0000000000..1274765edd --- /dev/null +++ b/types/stream-csv-as-json/Parser.d.ts @@ -0,0 +1,33 @@ +/// + +import { Transform, TransformOptions } from 'stream'; + +export = Parser; + +declare class Parser extends Transform { + constructor(options?: Parser.ParserOptions); +} + +declare namespace Parser { + interface ParserOptions extends TransformOptions { + packValues?: boolean; + packStrings?: boolean; + streamValues?: boolean; + streamStrings?: boolean; + separator?: string; + } + + function make(options?: ParserOptions): Parser; + + namespace make { + type Constructor = Parser; + const Constructor: typeof Parser; + } + + function parser(options?: ParserOptions): Parser; + + namespace parser { + type Constructor = Parser; + const Constructor: typeof Parser; + } +} diff --git a/types/stream-csv-as-json/Stringer.d.ts b/types/stream-csv-as-json/Stringer.d.ts new file mode 100644 index 0000000000..52629f96b9 --- /dev/null +++ b/types/stream-csv-as-json/Stringer.d.ts @@ -0,0 +1,31 @@ +/// + +import { Transform, TransformOptions } from 'stream'; + +export = Stringer; + +declare class Stringer extends Transform { + constructor(options?: Stringer.StringerOptions); +} + +declare namespace Stringer { + interface StringerOptions extends TransformOptions { + useValues?: boolean; + useStringValues?: boolean; + separator?: string; + } + + function make(options?: StringerOptions): Stringer; + + namespace make { + type Constructor = Stringer; + const Constructor: typeof Stringer; + } + + function stringer(options?: StringerOptions): Stringer; + + namespace stringer { + type Constructor = Stringer; + const Constructor: typeof Stringer; + } +} diff --git a/types/stream-csv-as-json/index.d.ts b/types/stream-csv-as-json/index.d.ts index 8f9fb4d0ce..1dca341577 100644 --- a/types/stream-csv-as-json/index.d.ts +++ b/types/stream-csv-as-json/index.d.ts @@ -3,126 +3,19 @@ // Definitions by: Eugene Lazutkin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// +import * as AsObjects from './AsObjects'; +import * as Parser from './Parser'; +import * as Stringer from './Stringer'; -declare module 'stream-csv-as-json' { - import * as Parser from 'stream-csv-as-json/Parser'; +export = make; - export = make; +declare function make(options?: Parser.ParserOptions): Parser; - function make(options?: Parser.ParserOptions): Parser; +type ParserClass = Parser; +type ParserType = typeof Parser; - type ParserClass = Parser; - type ParserType = typeof Parser; - - namespace make { - type Parser = ParserClass; - const Parser: ParserType; - const parser: (options?: Parser.ParserOptions) => Parser; - } -} - -declare module 'stream-csv-as-json/AsObjects' { - import { TransformOptions, Transform } from 'stream'; - import * as Chain from 'stream-chain'; - - export = AsObjects; - - class AsObjects extends Transform { - constructor(options?: AsObjects.AsObjectOptions); - } - - namespace AsObjects { - interface AsObjectOptions extends TransformOptions { - packValues?: boolean; - packStrings?: boolean; - streamValues?: boolean; - streamStrings?: boolean; - useValues?: boolean; - useStringValues?: boolean; - fieldPrefix?: string; - } - - function make(options?: AsObjects.AsObjectOptions): AsObjects; - - namespace make { - type Constructor = AsObjects; - const Constructor: typeof AsObjects; - } - - function asObjects(options?: AsObjects.AsObjectOptions): AsObjects; - - namespace asObjects { - type Constructor = AsObjects; - const Constructor: typeof AsObjects; - } - - function withParser(options?: AsObjects.AsObjectOptions): Chain; - } -} - -declare module 'stream-csv-as-json/Parser' { - import { Transform, TransformOptions } from 'stream'; - - export = Parser; - - class Parser extends Transform { - constructor(options?: Parser.ParserOptions); - } - - namespace Parser { - interface ParserOptions extends TransformOptions { - packValues?: boolean; - packStrings?: boolean; - streamValues?: boolean; - streamStrings?: boolean; - separator?: string; - } - - function make(options?: ParserOptions): Parser; - - namespace make { - type Constructor = Parser; - const Constructor: typeof Parser; - } - - function parser(options?: ParserOptions): Parser; - - namespace parser { - type Constructor = Parser; - const Constructor: typeof Parser; - } - } -} - -declare module 'stream-csv-as-json/Stringer' { - import { Transform, TransformOptions } from 'stream'; - - export = Stringer; - - class Stringer extends Transform { - constructor(options?: Stringer.StringerOptions); - } - - namespace Stringer { - interface StringerOptions extends TransformOptions { - useValues?: boolean; - useStringValues?: boolean; - separator?: string; - } - - function make(options?: StringerOptions): Stringer; - - namespace make { - type Constructor = Stringer; - const Constructor: typeof Stringer; - } - - function stringer(options?: StringerOptions): Stringer; - - namespace stringer { - type Constructor = Stringer; - const Constructor: typeof Stringer; - } - } +declare namespace make { + type Parser = ParserClass; + const Parser: ParserType; + function parser(options?: Parser.ParserOptions): Parser; } diff --git a/types/stream-csv-as-json/tsconfig.json b/types/stream-csv-as-json/tsconfig.json index d705f46cca..931caaa728 100644 --- a/types/stream-csv-as-json/tsconfig.json +++ b/types/stream-csv-as-json/tsconfig.json @@ -9,7 +9,8 @@ "typeRoots": ["../"], "types": [], "noEmit": true, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true }, "files": ["index.d.ts", "stream-csv-as-json-tests.ts"] }