happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
47 lines (45 loc) • 1.1 kB
text/typescript
import IBrowserSettings from './types/IBrowserSettings.js';
import IOptionalBrowserSettings from './types/IOptionalBrowserSettings.js';
import DefaultBrowserSettings from './DefaultBrowserSettings.js';
/**
* Browser settings utility.
*/
export default class BrowserSettingsFactory {
/**
* Returns browser settings.
*
* @param [settings] Browser settings.
* @param [freezeObject] "true" to freeze the object.
* @returns Settings.
*/
public static createSettings(settings?: IOptionalBrowserSettings): IBrowserSettings {
return {
...DefaultBrowserSettings,
...settings,
navigation: {
...DefaultBrowserSettings.navigation,
...settings?.navigation
},
navigator: {
...DefaultBrowserSettings.navigator,
...settings?.navigator
},
timer: {
...DefaultBrowserSettings.timer,
...settings?.timer
},
fetch: {
...DefaultBrowserSettings.fetch,
...settings?.fetch
},
device: {
...DefaultBrowserSettings.device,
...settings?.device
},
debug: {
...DefaultBrowserSettings.debug,
...settings?.debug
}
};
}
}