diff --git a/mailgen/index.d.ts b/mailgen/index.d.ts new file mode 100644 index 0000000000..1db097ffad --- /dev/null +++ b/mailgen/index.d.ts @@ -0,0 +1,57 @@ +// Type definitions for mailgen 2.0 +// Project: https://github.com/eladnava/mailgen#readme +// Definitions by: Kiet Thanh Vo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +import Option = Mailgen.Option; +import Content = Mailgen.Content; +/** + * Created by kiettv on 7/24/16. + */ +declare class Mailgen { + constructor(opts: Option); + + cacheThemes(): void; + + generate(params: Content): any; + + generatePlaintext(params: Content): any; + + parseParams(params: any): any; +} + +declare namespace Mailgen { + interface Option { + theme: string; + product: Product; + } + + interface Product { + name: string; + link: string; + logo?: string; + } + + interface Content { + body: ContentBody; + } + + interface ContentBody { + name: string; + intro: string; + action?: Action; + outro: string; + } + + interface Action { + instructions: string; + button: Button; + } + + interface Button { + color: string; + text: string; + link: string; + } +} + +export = Mailgen; diff --git a/mailgen/mailgen-tests.ts b/mailgen/mailgen-tests.ts new file mode 100644 index 0000000000..87d04ee943 --- /dev/null +++ b/mailgen/mailgen-tests.ts @@ -0,0 +1,20 @@ +import * as Mailgen from "mailgen" + +const generator: Mailgen = new Mailgen({ + theme: "default", + product: { + name: "test", + link: "http://localhost", + } +}); + +let content: Mailgen.Content = { + body: { + name: "Hi", + intro: "test", + outro: "test", + }, +}; + +let html = generator.generate(content); +html = generator.generatePlaintext(content); diff --git a/mailgen/tsconfig.json b/mailgen/tsconfig.json new file mode 100644 index 0000000000..0cb8974bf2 --- /dev/null +++ b/mailgen/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "mailgen-tests.ts" + ] +} diff --git a/mailgen/tslint.json b/mailgen/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/mailgen/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }