# configuration/constants/concern.domain.constants.ts

> 47 lines of code and 11 definitions.

Tree: GovLab Quality
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/quality#file-quality-configuration-constants-concern-domain-constants-ts
Source text: https://banes-lab.com/source/quality/configuration/constants/concern.domain.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/quality/configuration/constants.md), after [configuration/constants/concern.constants.ts](https://banes-lab.com/source/quality/configuration/constants/concern.constants.ts.md) and before [configuration/constants/construct.constants.ts](https://banes-lab.com/source/quality/configuration/constants/construct.constants.ts.md).

## Definitions

- `DOM_OBJECTS` (lexical_declaration, line 1, exported)
- `DOM_DOCUMENT_METHODS` (lexical_declaration, line 3, exported)
- `DOM_MUTATION_METHODS` (lexical_declaration, line 13, exported)
- `DOM_PROPERTIES` (lexical_declaration, line 26, exported)
- `API_METHODS` (lexical_declaration, line 34, exported)
- `API_GLOBALS` (lexical_declaration, line 36, exported)
- `STORAGE_OBJECTS` (lexical_declaration, line 38, exported)
- `EVENT_METHODS` (lexical_declaration, line 40, exported)
- `EVENT_OBJECTS` (lexical_declaration, line 42, exported)
- `TIMER_GLOBALS` (lexical_declaration, line 44, exported)
- `DOMAIN_LABELS` (lexical_declaration, line 51, exported)

## Contained in

- [configuration/constants](https://banes-lab.com/anatomy/quality/folder-quality-configuration-constants.md)

## Source

```typescript
export const DOM_OBJECTS: ReadonlySet<string> = new Set(["DOMFactory", "domLab", "DOMSelectors", "StyleManager"]);

export const DOM_DOCUMENT_METHODS: ReadonlySet<string> = new Set([
    "createElement",
    "createElementNS",
    "querySelector",
    "querySelectorAll",
    "getElementById",
    "getElementsByClassName",
    "getElementsByTagName",
]);

export const DOM_MUTATION_METHODS: ReadonlySet<string> = new Set([
    "appendChild",
    "removeChild",
    "insertBefore",
    "replaceChild",
    "replaceChildren",
    "append",
    "prepend",
    "remove",
    "insertAdjacentElement",
    "insertAdjacentHTML",
]);

export const DOM_PROPERTIES: ReadonlySet<string> = new Set([
    "innerHTML",
    "textContent",
    "innerText",
    "outerHTML",
    "classList",
]);

export const API_METHODS: ReadonlySet<string> = new Set(["get", "post", "put", "delete", "patch"]);

export const API_GLOBALS: ReadonlySet<string> = new Set(["fetch", "XMLHttpRequest"]);

export const STORAGE_OBJECTS: ReadonlySet<string> = new Set(["localStorage", "sessionStorage", "indexedDB"]);

export const EVENT_METHODS: ReadonlySet<string> = new Set(["addEventListener", "removeEventListener"]);

export const EVENT_OBJECTS: ReadonlySet<string> = new Set(["EventManager", "GestureManager", "HapticManager"]);

export const TIMER_GLOBALS: ReadonlySet<string> = new Set([
    "setTimeout",
    "setInterval",
    "requestAnimationFrame",
    "cancelAnimationFrame",
]);

export const DOMAIN_LABELS: Readonly<Record<string, string>> = {
    api: "API/network calls",
    dom: "DOM manipulation",
    events: "event binding",
    storage: "storage operations",
    timer: "timer/animation scheduling",
};
```
