From 111de6049efdfc4ad096e01ec9cebba2a4ee828a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Mon, 10 Jul 2017 13:49:18 +0300 Subject: [PATCH] Updated types. --- types/json2md/index.d.ts | 84 ++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 46 deletions(-) diff --git a/types/json2md/index.d.ts b/types/json2md/index.d.ts index c07e065629..712edf15b0 100644 --- a/types/json2md/index.d.ts +++ b/types/json2md/index.d.ts @@ -12,55 +12,47 @@ type json2md = typeof json2md; declare namespace json2md { const converters: ConvertersMethods; - interface DataObject { - [converter: string]: any; - blockquote?: string | string[]; - code?: CodeInput; - h1?: string | string[]; - h2?: string | string[]; - h3?: string | string[]; - h4?: string | string[]; - h5?: string | string[]; - h6?: string | string[]; - img?: ImgInput | ImgInput[]; - ol?: string[]; - p?: string | string[]; - table?: TableInput; - ul?: string[]; + namespace DefaultConverters { + interface Converters { + [converter: string]: any; + blockquote: string | string[]; + code: CodeInput; + h1: string | string[]; + h2: string | string[]; + h3: string | string[]; + h4: string | string[]; + h5: string | string[]; + h6: string | string[]; + img: ImgInput | ImgInput[]; + ol: string[]; + p: string | string[]; + table: TableInput; + ul: string[]; + } + + interface ImgInput { + title: string; + source: string; + } + + interface CodeInput { + language?: string; + content: string | string[]; + } + + interface TableInput { + headers: string[]; + rows: Array<{ [column: string]: string }> | string[][]; + } + } + + type DataObject = { + [TConverter in keyof DefaultConverters.Converters]?: DefaultConverters.Converters[TConverter] } type ConverterCallback = (input: TInput, json2md: json2md) => string; - interface ConvertersMethods { - [converter: string]: ConverterCallback; - - blockquote(input: string | string[], json2md: json2md): string; - code(input: CodeInput, json2md: json2md): string; - h1(input: string, json2md: json2md): string; - h2(input: string, json2md: json2md): string; - h3(input: string, json2md: json2md): string; - h4(input: string, json2md: json2md): string; - h5(input: string, json2md: json2md): string; - h6(input: string, json2md: json2md): string; - img(input: ImgInput | ImgInput[] | string, json2md: json2md): string; - ol(input: string, json2md: json2md): string; - p(input: string, json2md: json2md): string; - table(input: TableInput, json2md: json2md): string; - ul(input: string, json2md: json2md): string; - } - - interface ImgInput { - title: string; - source: string; - } - - interface CodeInput { - language?: string; - content: string | string[]; - } - - interface TableInput { - headers: string[]; - rows: Array<{ [column: string]: string }> | string[][]; + type ConvertersMethods = { + [TConverter in keyof DefaultConverters.Converters]: ConverterCallback } }