Added middleware interface to prevent original EurekaConfig fields from being nullable

This commit is contained in:
Josh Sullivan
2019-02-07 23:40:41 -05:00
parent 8d1a5817eb
commit 7fe3a0979e

View File

@@ -7,7 +7,7 @@
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export class Eureka {
constructor(config: EurekaClient.EurekaConfig | EurekaClient.EurekaYmlConfig);
constructor(config: EurekaClient.EurekaConfig | EurekaClient.EurekaYmlConfig | EurekaClient.EurekaMiddlewareConfig);
start(cb?: (err: Error, ...rest: any[]) => void): void;
stop(cb?: (err: Error, ...rest: any[]) => void): void;
getInstancesByAppId(appId: string): EurekaClient.EurekaInstanceConfig[];
@@ -20,9 +20,9 @@ export namespace EurekaClient {
type DataCenterName = 'Netflix' | 'Amazon' | 'MyOwn';
interface EurekaConfig {
requestMiddleware?: (requestOpts: any, done: (opts: any) => void) => void;
instance?: EurekaInstanceConfig;
eureka?: EurekaClientConfig;
requestMiddleware?: EurekaMiddlewareConfig;
instance: EurekaInstanceConfig;
eureka: EurekaClientConfig;
}
interface EurekaInstanceConfig {
app: string;
@@ -82,6 +82,9 @@ export namespace EurekaClient {
cwd: string;
filename?: string;
}
interface EurekaMiddlewareConfig {
requestMiddleware: (requestOpts: any, done: (opts: any) => void) => void;
}
interface LegacyPortWrapper {
$: number;
'@enabled': boolean;