# Module: themeBroker

Contains all the functions necessary to load and unload debugging themes.

Author:
  - Seth Hollingsead
Copyright:
  - Copyright © 2022-… by Seth Hollingsead. All rights reserved
Source:
  - brokers/themeBroker.js, line 1

### Requires

- module:ruleBroker
- module:chiefConfiguration
- module:chiefData
- module:configurator
- module:loggers
- module:data
- @haystacks/constants
- path

### Methods

#### (inner) applyTheme(themeData) → {boolean}

Takes theme data and applies it to the currently loaded debug configuration data set in the D-Data Structure configuration.debugSettings data hive.

##### Parameters:

Name | Type | Description
--- | --- | ---
`themeData` | object | All the theme debug configuration settings data that control the debug log theme colors.

Author:
  - Seth Hollingsead
Source:
  - brokers/themeBroker.js, line 108

##### Returns:

True or False to indicate if the theme data was applied successfully or not.

Type
  boolean

#### (inner) getNamedThemePath(themeName) → {string|boolean}

Takes a named theme and validates that the theme name exists, then returns the path to that theme.

##### Parameters:

Name | Type | Description
--- | --- | ---
`themeName` | string | The name of the theme that a path should be returned for.

Author:
  - Seth Hollingsead
Source:
  - brokers/themeBroker.js, line 54

##### Returns:

The path of the theme, if it exists, or false if it does not.

Type
  string | boolean

#### (inner) getNamedThemes() → {array.<string>}

Gets the names of the themes installed in the resources/themes folder.

Author:
  - Seth Hollingsead
Source:
  - brokers/themeBroker.js, line 34

##### Returns:

The list of names for the themes that are currently installed.

Type
  array.<string>

#### (inner) loadTheme(themePath) → {object}

Takes a theme path and loads all the theme data debug configuration settings for that theme.

##### Parameters:

Name | Type | Description
--- | --- | ---
`themePath` | string | The fully qualified path to the theme debug configuration settings.

Author:
  - Seth Hollingsead
Source:
  - brokers/themeBroker.js, line 86

##### Returns:

All of the debug configuration data for a specified theme path.

Type
  object