# configuration/constants/report.constants.ts

> 21 lines of code and 20 definitions.

Tree: GovLab Patterns
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-configuration-constants-report-constants-ts
Source text: https://banes-lab.com/source/patterns/configuration/constants/report.constants.ts.txt

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

## Definitions

- `WALK_MAIN` (lexical_declaration, line 3, exported)
- `WALK_NESTED` (lexical_declaration, line 5, exported)
- `CELLS_ID` (lexical_declaration, line 7, exported)
- `NESTED_SUFFIX` (lexical_declaration, line 9, exported)
- `HTML_SUFFIX` (lexical_declaration, line 11, exported)
- `GENERATED_PAGE_SUFFIX` (lexical_declaration, line 13, exported)
- `SVG_SUFFIX` (lexical_declaration, line 15, exported)
- `SLUG_JOIN` (lexical_declaration, line 17, exported)
- `ROOT_PAGE` (lexical_declaration, line 19, exported)
- `MODULE_SCOPE` (lexical_declaration, line 21, exported)
- `INLINE_THRESHOLD` (lexical_declaration, line 23, exported)
- `FALLBACK_STATE` (lexical_declaration, line 25, exported)
- `HIGH_SEVERITY` (lexical_declaration, line 27, exported)
- `MEDIUM_SEVERITY` (lexical_declaration, line 29, exported)
- `ARTIFACT_SUFFIXES` (lexical_declaration, line 31, exported)
- `HEAL_ATTEMPTS` (lexical_declaration, line 33, exported)
- `CACHE_NAME` (lexical_declaration, line 35, exported)
- `BAR_MIN` (lexical_declaration, line 37, exported)
- `BAR_FULL` (lexical_declaration, line 39, exported)
- `REPORT_SCRIPT` (lexical_declaration, line 41, exported)

## Contained in

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

## Source

```typescript
import { DEPTH_PREFIX, INSPECT_HINT } from "#configuration/strings/report.strings";

export const WALK_MAIN = "main";

export const WALK_NESTED = "nested";

export const CELLS_ID = "hexcells";

export const NESTED_SUFFIX = ".nested";

export const HTML_SUFFIX = ".html";

export const GENERATED_PAGE_SUFFIX = ".generated.html";

export const SVG_SUFFIX = ".generated.svg";

export const SLUG_JOIN = "__";

export const ROOT_PAGE = "code";

export const MODULE_SCOPE = "root";

export const INLINE_THRESHOLD = 2500;

export const FALLBACK_STATE = "declare";

export const HIGH_SEVERITY = "high";

export const MEDIUM_SEVERITY = "medium";

export const ARTIFACT_SUFFIXES: readonly string[] = [".html", ".json"];

export const HEAL_ATTEMPTS = 4;

export const CACHE_NAME = "hex-modules";

export const BAR_MIN = 2;

export const BAR_FULL = 100;

export const REPORT_SCRIPT = `(function(){var b=document.createElement("div");b.className="hexbar";b.textContent="${INSPECT_HINT}";document.body.appendChild(b);var raw=document.getElementById("${CELLS_ID}");var cells=raw?JSON.parse(raw.textContent||"{}"):{};function tip(f,ref){var packed=cells[f.getAttribute("data-walk")];var row=packed?packed.rows[parseInt(ref,36)]:null;if(!row){return ""}return (row[3]?row[3]+":"+row[4]:"${DEPTH_PREFIX}"+row[1])+"  \\u00b7  "+row[2]+"  \\u00b7  "+row[6]}var figs=document.querySelectorAll("figure");for(var k=0;k<figs.length;k++){(function(f){var svg=f.querySelector("svg");if(!svg){return}f.className=(f.className+" pz").trim();var s=1,x=0,y=0,dn=false,px=0,py=0,mv=0;function ap(){svg.style.transform="translate("+x+"px,"+y+"px) scale("+s+")"}f.addEventListener("wheel",function(e){e.preventDefault();var r=f.getBoundingClientRect();var px=e.clientX-r.left,py=e.clientY-r.top;var g=e.deltaY<0?1.12:0.89;var ns=Math.min(12,Math.max(0.2,s*g));var k=ns/s;x=px-(px-x)*k;y=py-(py-y)*k;s=ns;ap()},{passive:false});svg.addEventListener("pointerdown",function(e){dn=true;mv=0;px=e.clientX-x;py=e.clientY-y;svg.setPointerCapture(e.pointerId)});svg.addEventListener("pointermove",function(e){if(!dn){return}var nx=e.clientX-px,ny=e.clientY-py;mv+=Math.abs(nx-x)+Math.abs(ny-y);x=nx;y=ny;ap()});svg.addEventListener("pointerup",function(e){dn=false;if(mv<4){var t=e.target&&e.target.closest?e.target.closest("[data-ref]"):null;if(t){b.textContent=tip(f,t.getAttribute("data-ref"))}}});f.addEventListener("dblclick",function(){s=1;x=0;y=0;ap()})})(figs[k])}})();`;
```
