From 0c564acdc07ae3750c9bdab62dffd4cd5a7acee5 Mon Sep 17 00:00:00 2001 From: Nate Mara Date: Mon, 14 May 2018 14:12:35 -0400 Subject: [PATCH] Add express-correlation-id and correlation-id packages (#25710) * feat(correlation-id & express-correlation-id): Add express-correlation-id and correlation-id packages * fix(correlation-id) Update type of bindID function --- types/correlation-id/correlation-id-tests.ts | 21 +++++++++++++++++++ types/correlation-id/index.d.ts | 12 +++++++++++ types/correlation-id/tsconfig.json | 16 ++++++++++++++ types/correlation-id/tslint.json | 3 +++ .../express-correlation-id-tests.ts | 9 ++++++++ types/express-correlation-id/index.d.ts | 14 +++++++++++++ types/express-correlation-id/tsconfig.json | 16 ++++++++++++++ types/express-correlation-id/tslint.json | 1 + 8 files changed, 92 insertions(+) create mode 100644 types/correlation-id/correlation-id-tests.ts create mode 100644 types/correlation-id/index.d.ts create mode 100644 types/correlation-id/tsconfig.json create mode 100644 types/correlation-id/tslint.json create mode 100644 types/express-correlation-id/express-correlation-id-tests.ts create mode 100644 types/express-correlation-id/index.d.ts create mode 100644 types/express-correlation-id/tsconfig.json create mode 100644 types/express-correlation-id/tslint.json diff --git a/types/correlation-id/correlation-id-tests.ts b/types/correlation-id/correlation-id-tests.ts new file mode 100644 index 0000000000..36bf65c27d --- /dev/null +++ b/types/correlation-id/correlation-id-tests.ts @@ -0,0 +1,21 @@ +import { withId, bindId, getId } from "correlation-id"; + +withId("my-id", () => { + const id: string = getId() || ""; +}); + +withId(() => { + const id: string = getId() || ""; +}); + +const x: string = bindId("my-id", (foo: string, bar: number): string => { + const id: string = getId() || ""; + + return foo + bar + id; +})("foo", 12); + +const y: string = bindId((foo: string, bar: number): string => { + const id: string = getId() || ""; + + return foo + bar + id; +})("foo", 12); diff --git a/types/correlation-id/index.d.ts b/types/correlation-id/index.d.ts new file mode 100644 index 0000000000..f765765409 --- /dev/null +++ b/types/correlation-id/index.d.ts @@ -0,0 +1,12 @@ +// Type definitions for correlation-id 2.1 +// Project: https://github.com/toboid/correlation-id#readme +// Definitions by: Nate +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export function withId(id: string, work: () => void): void; +export function withId(work: () => void): void; + +export function bindId any>(id: string, work: T): T; +export function bindId any>(work: T): T; + +export function getId(): string | undefined; diff --git a/types/correlation-id/tsconfig.json b/types/correlation-id/tsconfig.json new file mode 100644 index 0000000000..eda38b5e28 --- /dev/null +++ b/types/correlation-id/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "correlation-id-tests.ts"] +} diff --git a/types/correlation-id/tslint.json b/types/correlation-id/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/correlation-id/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} diff --git a/types/express-correlation-id/express-correlation-id-tests.ts b/types/express-correlation-id/express-correlation-id-tests.ts new file mode 100644 index 0000000000..20c9b872de --- /dev/null +++ b/types/express-correlation-id/express-correlation-id-tests.ts @@ -0,0 +1,9 @@ +import * as express from "express"; +import correlator from "express-correlation-id"; + +const app = express(); +app.use(correlator()); +app.use(correlator({})); +app.use(correlator({ header: "x-correlation-id" })); + +const x: string = correlator.getId() || ""; diff --git a/types/express-correlation-id/index.d.ts b/types/express-correlation-id/index.d.ts new file mode 100644 index 0000000000..fa09b65071 --- /dev/null +++ b/types/express-correlation-id/index.d.ts @@ -0,0 +1,14 @@ +// Type definitions for express-correlation-id 1.2 +// Project: https://github.com/toboid/express-correlation-id#readme +// Definitions by: Nate +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import { RequestHandler } from "express-serve-static-core"; + +declare const correlator: { + (options?: { header?: string }): RequestHandler; + getId(): string | undefined; +}; + +export default correlator; diff --git a/types/express-correlation-id/tsconfig.json b/types/express-correlation-id/tsconfig.json new file mode 100644 index 0000000000..bcfa9423b6 --- /dev/null +++ b/types/express-correlation-id/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "express-correlation-id-tests.ts"] +} diff --git a/types/express-correlation-id/tslint.json b/types/express-correlation-id/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/express-correlation-id/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }