From 6b49ffab089c8c25d76abcf485b1a36b1e22d576 Mon Sep 17 00:00:00 2001 From: Ciaran Liedeman Date: Thu, 4 Apr 2019 11:25:32 +0200 Subject: [PATCH] Added Typescript definitions --- index.d.ts | 45 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 4 ++++ 2 files changed, 49 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..6c4c115 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,45 @@ +import * as express from "express"; +import { DefaultMetricsCollectorConfiguration } from "prom-client"; + +type NormalizePathRegexs = [string, string]; + +interface Labels { + [key: string]: string | number; +} + +interface Opts { + autoregister?: boolean; + buckets?: [number]; + + includeStatusCode?: boolean; + includeMethod?: boolean; + includePath?: boolean; + includeUp?: boolean; + + metricType?: "summary" | "histogram"; + metricsPath?: string; + promClient?: DefaultMetricsCollectorConfiguration; + normalizePath?: NormalizePathRegexs; + formatStatusCode?: (res: express.Response) => number | string; + + transformLabels: ( + labels: Labels, + req: express.Request, + res: express.Response + ) => Labels; + + // https://github.com/disjunction/url-value-parser#options + urlValueParser?: { + minHexLength?: number; + minBase64Length?: number; + replaceMasks?: string[]; + extraMasks?: string[]; + }; +} + +export function normalizePath( + req: express.Request, + opts?: { normalizePath?: NormalizePathRegexs } +); + +export default function(opts: Opts): express.RequestHandler; diff --git a/package.json b/package.json index c3d18ae..3782129 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,10 @@ "path", "method" ], + "files": [ + "src", + "index.d.ts" + ], "scripts": { "test": "node_modules/jasme/run.js", "coverage": "make coverage"