@@ -46,13 +46,27 @@ export class ContextProviderRegistryContainer {
4646 * };
4747 *
4848 */
49- export const extendAndPatchRegistry = ( registryContainer , classConfigMap , classesToPatch = { } ) => {
49+ export const extendAndPatchRegistry = (
50+ registryContainer ,
51+ classConfigMap ,
52+ classesToPatch = { } ,
53+ defaultSettings = { } ,
54+ ) => {
5055 Object . entries ( classConfigMap ) . forEach ( ( [ name , { providerCls, config } ] ) => {
5156 Object . entries ( classesToPatch ) . forEach ( ( [ clsName , cls ] ) => {
5257 if ( providerCls [ clsName ] ) {
5358 providerCls [ clsName ] = cls ;
5459 }
60+ const providerDefaultSettings = defaultSettings [ providerCls . name ] ;
61+ if ( providerDefaultSettings ) {
62+ Object . entries ( providerDefaultSettings ) . forEach ( ( [ key , value ] ) => {
63+ if ( providerCls [ key ] ) {
64+ providerCls [ key ] = value ;
65+ }
66+ } ) ;
67+ }
5568 } ) ;
69+
5670 registryContainer . addProvider ( {
5771 instance : providerCls . getConstructorConfig ( config ) ,
5872 name,
@@ -66,7 +80,16 @@ export const extendAndPatchRegistry = (registryContainer, classConfigMap, classe
6680 * @param {Object } classConfigMap
6781 * @param {{Material: SpecificMockMaterial} } classesToPatch
6882 */
69- export const createAndPatchRegistry = ( classConfigMap , classesToPatch = { } ) => {
83+ export const createAndPatchRegistry = (
84+ classConfigMap ,
85+ classesToPatch = { } ,
86+ defaultSettings = { } ,
87+ ) => {
7088 const registryContainer = new ContextProviderRegistryContainer ( ) ;
71- return extendAndPatchRegistry ( registryContainer , classConfigMap , classesToPatch ) ;
89+ return extendAndPatchRegistry (
90+ registryContainer ,
91+ classConfigMap ,
92+ classesToPatch ,
93+ defaultSettings ,
94+ ) ;
7295} ;
0 commit comments