@@ -105,48 +105,36 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
105105 */
106106{ {#useInversify} }
107107export function mergeConfiguration(conf: Configuration, options?: Configuration): Configuration {
108- if (options) {
109- conf = options;
110- }
111- return conf;
108+ return options || conf;
112109}
113110{ {/useInversify} }
114111{ {^useInversify} }
115112export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
116- let allMiddleware: Middleware[] = mergeMiddleware(conf.middleware, options?.middleware, options?.middlewareMergeStrategy);
117- if (options) {
118- conf = {
119- baseServer: options.baseServer || conf.baseServer,
120- httpApi: options.httpApi || conf.httpApi,
121- authMethods: options.authMethods || conf.authMethods,
122- middleware: allMiddleware,
123- } ;
113+ if (! options) {
114+ return conf;
124115 }
125- return conf;
116+ return {
117+ baseServer: options.baseServer || conf.baseServer,
118+ httpApi: options.httpApi || conf.httpApi,
119+ authMethods: options.authMethods || conf.authMethods,
120+ middleware: mergeMiddleware(conf.middleware, options?.middleware, options?.middlewareMergeStrategy),
121+ } ;
126122}
127123
128124function mergeMiddleware(staticMiddleware: Middleware[], calltimeMiddleware?: Middleware[], strategy?: "append" | "prepend" | "replace") {
129- let allMiddleware: Middleware[] = staticMiddleware;
130- if (calltimeMiddleware) {
131- const middlewareMergeStrategy = strategy || " replace" // default to replace behavior
132- // call-time middleware provided
133- const calltimeMiddleware: Middleware[] = calltimeMiddleware;
134-
135- switch (middlewareMergeStrategy) {
125+ if (! calltimeMiddleware) {
126+ return staticMiddleware;
127+ }
128+ // default to replace behavior
129+ switch(strategy ?? "replace") {
136130 case " append" :
137- allMiddleware = staticMiddleware.concat(calltimeMiddleware);
138- break ;
131+ return staticMiddleware.concat(calltimeMiddleware);
139132 case " prepend" :
140- allMiddleware = calltimeMiddleware.concat(staticMiddleware)
141- break ;
133+ return calltimeMiddleware.concat(staticMiddleware)
142134 case " replace" :
143- allMiddleware = calltimeMiddleware
144- break ;
145- default :
146- throw new Error(`unrecognized middleware merge strategy ' ${middlewareMergeStrategy}' `);
147- }
135+ return calltimeMiddleware
148136 }
149- return allMiddleware;
137+ throw new Error(`Unrecognized middleware merge strategy '$ { strategy } '`)
150138}
151139{ {/useInversify} }
152140
0 commit comments