From 987e3bbf7f9c9f668c3012ddc1d750887b8d3b55 Mon Sep 17 00:00:00 2001 From: Florian Keller Date: Sat, 18 Aug 2018 14:03:09 +0200 Subject: [PATCH] Add types for websequencediagrams --- types/websequencediagrams/index.d.ts | 17 ++++++++++++++ types/websequencediagrams/tsconfig.json | 23 +++++++++++++++++++ types/websequencediagrams/tslint.json | 1 + .../websequencediagrams-tests.ts | 18 +++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 types/websequencediagrams/index.d.ts create mode 100644 types/websequencediagrams/tsconfig.json create mode 100644 types/websequencediagrams/tslint.json create mode 100644 types/websequencediagrams/websequencediagrams-tests.ts diff --git a/types/websequencediagrams/index.d.ts b/types/websequencediagrams/index.d.ts new file mode 100644 index 0000000000..59dc8cebb6 --- /dev/null +++ b/types/websequencediagrams/index.d.ts @@ -0,0 +1,17 @@ +// Type definitions for websequencediagrams 0.1 +// Project: https://github.com/hildjj/node-websequencediagrams +// Definitions by: Florian Keller +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +export type OutputType = 'png' | 'svg' | 'pdf'; +export type Style = 'default' | 'earth' | 'modern-blue' | 'mscgen' | 'omegapple' | 'qsd' | 'rose' | 'roundgreen' | 'napkin' | 'magazine' | 'vs2010' | 'patent'; +export type diagramCallback = (error: Error | null, buffer?: Buffer, mimeType?: string) => void; +export type diagramUrlCallback = (error: Error | null, url?: string) => void; + +export const root: string; +export const styles: Style[]; + +export function diagram(description: string | Buffer, style: Style | null, format: OutputType | null, callback: diagramCallback): void; +export function diagram_url(description: string | Buffer, style: Style | null, format: OutputType | null, callback: diagramUrlCallback): void; diff --git a/types/websequencediagrams/tsconfig.json b/types/websequencediagrams/tsconfig.json new file mode 100644 index 0000000000..d5a406dfe7 --- /dev/null +++ b/types/websequencediagrams/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "websequencediagrams-tests.ts" + ] +} diff --git a/types/websequencediagrams/tslint.json b/types/websequencediagrams/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/websequencediagrams/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/websequencediagrams/websequencediagrams-tests.ts b/types/websequencediagrams/websequencediagrams-tests.ts new file mode 100644 index 0000000000..34caa4dc19 --- /dev/null +++ b/types/websequencediagrams/websequencediagrams-tests.ts @@ -0,0 +1,18 @@ +import * as wsd from 'websequencediagrams'; + +wsd.diagram('Alice->Bob: message', 'modern-blue', 'png', (error, buffer, mimeType) => { + if (error) { + console.error(error); + } else { + console.log('Received MIME type:', mimeType); + console.log('Received Buffer:', buffer); + } +}); + +wsd.diagram_url('Alice->Bob: message', 'modern-blue', 'png', (error, url) => { + if (error) { + console.error(error); + } else { + console.log('Received URL:', url); + } +});