MCPcopy
hub / github.com/codeaashu/claude-code / createNode

Function createNode

src/ink/dom.ts:110–132  ·  view source on GitHub ↗
(nodeName: ElementNames)

Source from the content-addressed store, hash-verified

108export type DOMNodeAttribute = boolean | string | number
109
110export const createNode = (nodeName: ElementNames): DOMElement => {
111 const needsYogaNode =
112 nodeName !== 'ink-virtual-text' &&
113 nodeName !== 'ink-link' &&
114 nodeName !== 'ink-progress'
115 const node: DOMElement = {
116 nodeName,
117 style: {},
118 attributes: {},
119 childNodes: [],
120 parentNode: undefined,
121 yogaNode: needsYogaNode ? createLayoutNode() : undefined,
122 dirty: false,
123 }
124
125 if (nodeName === 'ink-text') {
126 node.yogaNode?.setMeasureFunc(measureTextNode.bind(null, node))
127 } else if (nodeName === 'ink-raw-ansi') {
128 node.yogaNode?.setMeasureFunc(measureRawAnsiNode.bind(null, node))
129 }
130
131 return node
132}
133
134export const appendChildNode = (
135 node: DOMElement,

Callers 2

renderToScreenFunction · 0.85
createInstanceFunction · 0.85

Calls 2

createLayoutNodeFunction · 0.85
setMeasureFuncMethod · 0.45

Tested by

no test coverage detected