fix: inconsistent behavior with multiple invocations of SwaggerUI (via #4923)

* add narrow e2e tests
* add failing system unit test
* break plugin object inheritance in combinePlugins
* style: add braces to if block
* drop unused `lodash.repeat` import
* remove deep-freeze from lockfile
This commit is contained in:
kyle
2018-10-04 18:00:38 -05:00
committed by GitHub
parent c949483dac
commit ecfc23972a
6 changed files with 302 additions and 70 deletions

View File

@@ -4,6 +4,7 @@ import Im, { fromJS, Map } from "immutable"
import deepExtend from "deep-extend"
import { combineReducers } from "redux-immutable"
import serializeError from "serialize-error"
import assignDeep from "@kyleshockey/object-assign-deep"
import { NEW_THROWN_ERR } from "corePlugins/err/actions"
import win from "core/window"
@@ -310,11 +311,13 @@ export default class Store {
}
function combinePlugins(plugins, toolbox) {
if(isObject(plugins) && !isArray(plugins))
return plugins
if(isObject(plugins) && !isArray(plugins)) {
return assignDeep({}, plugins)
}
if(isFunc(plugins))
if(isFunc(plugins)) {
return combinePlugins(plugins(toolbox), toolbox)
}
if(isArray(plugins)) {
return plugins