MCPcopy Create free account
hub / github.com/RtlZeroMemory/Rezi / textStyleEqual

Function textStyleEqual

packages/core/src/runtime/commit/equality.ts:20–64  ·  view source on GitHub ↗
(
  a:
    | {
        bold?: boolean;
        dim?: boolean;
        italic?: boolean;
        underline?: boolean;
        inverse?: boolean;
        strikethrough?: boolean;
        overline?: boolean;
        blink?: boolean;
        fg?: unknown;
        bg?: unknown;
      }
    | undefined,
  b:
    | {
        bold?: boolean;
        dim?: boolean;
        italic?: boolean;
        underline?: boolean;
        inverse?: boolean;
        strikethrough?: boolean;
        overline?: boolean;
        blink?: boolean;
        fg?: unknown;
        bg?: unknown;
      }
    | undefined,
)

Source from the content-addressed store, hash-verified

18}
19
20function textStyleEqual(
21 a:
22 | {
23 bold?: boolean;
24 dim?: boolean;
25 italic?: boolean;
26 underline?: boolean;
27 inverse?: boolean;
28 strikethrough?: boolean;
29 overline?: boolean;
30 blink?: boolean;
31 fg?: unknown;
32 bg?: unknown;
33 }
34 | undefined,
35 b:
36 | {
37 bold?: boolean;
38 dim?: boolean;
39 italic?: boolean;
40 underline?: boolean;
41 inverse?: boolean;
42 strikethrough?: boolean;
43 overline?: boolean;
44 blink?: boolean;
45 fg?: unknown;
46 bg?: unknown;
47 }
48 | undefined,
49): boolean {
50 if (a === b) return true;
51 if (!a || !b) return false;
52 return (
53 a.bold === b.bold &&
54 a.dim === b.dim &&
55 a.italic === b.italic &&
56 a.underline === b.underline &&
57 a.inverse === b.inverse &&
58 a.strikethrough === b.strikethrough &&
59 a.overline === b.overline &&
60 a.blink === b.blink &&
61 colorEqual(a.fg, b.fg) &&
62 colorEqual(a.bg, b.bg)
63 );
64}
65
66export function leafVNodeEqual(a: VNode, b: VNode): boolean {
67 switch (a.kind) {

Callers 4

leafVNodeEqualFunction · 0.85
boxPropsEqualFunction · 0.85
stackPropsEqualFunction · 0.85
diagWhichPropFailsFunction · 0.85

Calls 1

colorEqualFunction · 0.85

Tested by

no test coverage detected