All files / internal / engine / phase.ts

100.00% Branches 0/0
100.00% Lines 1/1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
 
 
 
 
 
 
 
x84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


































































































// Imports
import type { Directive as _Directive } from "./directive.ts"

/**
 * Enum representing all possible value that a {@linkcode _Directive | Directive.phase} can have.
 *
 * For more information, see the {@link https://mizu.sh/#concept-rendering-phase | mizu.sh documentation}.
 */
export enum Phase {
  /** Placeholder value (intended for internal use only). */
  UNKNOWN = NaN,

  // 0X - Preprocessing ————————————————————————————————————————————————————————————————————————————————

  /** Directives that contain only metadata. */
  META = 0,

  /** Directives that determine the rendering eligibility of an element. */
  ELIGIBILITY = 1,

  /** Directives that must be executed first as they influence the rendering process. */
  PREPROCESSING = 2,

  // 10 - Testing ——————————————————————————————————————————————————————————————————————————————————————

  /** Directives that are intended for testing purposes only. */
  TESTING = 10,

  // 1X - Context ——————————————————————————————————————————————————————————————————————————————————————

  /** Directives that alter the rendering context. */
  CONTEXT = 11,

  // 2X - Transforms ———————————————————————————————————————————————————————————————————————————————————

  /** Directives that expand elements. */
  EXPAND = 21,
  /** Directives that morph elements. */
  MORPHING = 22,
  /** Directives that toggle elements. */
  TOGGLE = 23,

  // 3X - HTTP —————————————————————————————————————————————————————————————————————————————————————————

  /** HTTP directives that set headers. */
  HTTP_HEADER = 31,
  /** HTTP directives that set the body. */
  HTTP_BODY = 32,
  /** HTTP directives that perform requests. */
  HTTP_REQUEST = 33,
  /** HTTP directives that set content. */
  HTTP_CONTENT = 34,
  /** HTTP directives that add interactivity. */
  HTTP_INTERACTIVITY = 35,

  // 4X - Content ——————————————————————————————————————————————————————————————————————————————————————

  /** Directives that set content. */
  CONTENT = 41,

  /** Directives that interpolate content. */
  CONTENT_INTERPOLATION = 42,

  /** Directives that clean content. */
  CONTENT_CLEANING = 49,

  // 5X - Attributes ———————————————————————————————————————————————————————————————————————————————————

  /** Directives that set attributes. */
  ATTRIBUTE = 51,
  /** Directives that model value attributes. */
  ATTRIBUTE_MODEL_VALUE = 52,

  /** Directives that clean attributes. */
  ATTRIBUTE_CLEANING = 59,

  // 6X - Interactivity ————————————————————————————————————————————————————————————————————————————————

  /** Directives that enhance element interactivity. */
  INTERACTIVITY = 61,

  // 7X - Styling ——————————————————————————————————————————————————————————————————————————————————————

  /** Directives that affect display. */
  DISPLAY = 71,

  // 8X - Others ———————————————————————————————————————————————————————————————————————————————————————

  /** Directives that register custom elements. */
  CUSTOM_ELEMENT = 81,
  /** Directives that register references. */
  REFERENCE = 82,

  /** Directives that apply custom processing logic. */
  CUSTOM_PROCESSING = 89,

  // 9X - Postprocessing ———————————————————————————————————————————————————————————————————————————————

  /** Directives that must be executed last as they influence the rendering process. */
  POSTPROCESSING = 99,
}