From 0095d2111cce55ef94668604eacd03aefb2f9e3a Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Mon, 14 Aug 2017 23:07:28 +0200 Subject: [PATCH] [media-typer] add typings (#18945) --- types/media-typer/index.d.ts | 13 +++++++++++++ types/media-typer/media-typer-tests.ts | 15 +++++++++++++++ types/media-typer/tsconfig.json | 22 ++++++++++++++++++++++ types/media-typer/tslint.json | 1 + 4 files changed, 51 insertions(+) create mode 100644 types/media-typer/index.d.ts create mode 100644 types/media-typer/media-typer-tests.ts create mode 100644 types/media-typer/tsconfig.json create mode 100644 types/media-typer/tslint.json diff --git a/types/media-typer/index.d.ts b/types/media-typer/index.d.ts new file mode 100644 index 0000000000..68254fdb0c --- /dev/null +++ b/types/media-typer/index.d.ts @@ -0,0 +1,13 @@ +// Type definitions for media-typer 0.3 +// Project: https://github.com/jshttp/media-typer +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export function parse(mediaType: string): MediaType; +export function format(mediaTypeDescriptor: MediaType): string; + +export interface MediaType { + type: string; + subtype: string; + suffix?: string; +} diff --git a/types/media-typer/media-typer-tests.ts b/types/media-typer/media-typer-tests.ts new file mode 100644 index 0000000000..de5c744d14 --- /dev/null +++ b/types/media-typer/media-typer-tests.ts @@ -0,0 +1,15 @@ +import * as typer from 'media-typer'; + +const obj = typer.parse('image/svg+xml'); +// $ExpectType MediaType +obj; +// $ExpectType string +obj.type; +// $ExpectType string +obj.subtype; +// $ExpectType string | undefined +obj.suffix; + +// $ExpectType string +typer.format({type: 'image', subtype: 'svg', suffix: 'xml'}); +typer.format({type: 'image', subtype: 'svg'}); diff --git a/types/media-typer/tsconfig.json b/types/media-typer/tsconfig.json new file mode 100644 index 0000000000..a8ba662fc4 --- /dev/null +++ b/types/media-typer/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "media-typer-tests.ts" + ] +} diff --git a/types/media-typer/tslint.json b/types/media-typer/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/media-typer/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }