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); + } +});