xatto
Version:
xatto is View Layer Library based on Function and Context using VirtualDOM. This is developed by forking from jorgebucaran/superfine.
24 lines (22 loc) • 735 B
text/typescript
import { assign } from './assign'
import { LIFECYCLE, PREV_PROPS } from './consts/glueNodeAttributeNames'
import { CREATE } from './consts/lifecycleNames'
import { CHILDREN } from './consts/vNodeAttributeNames'
import { deepSet } from './deepSet'
import { GlueNode } from './GlueNode'
import { Props } from './Props'
import { ResolvedVNode } from './ResolvedVNode'
export function createGlueNode (
vNode: ResolvedVNode,
next: Function,
recursion: Function
): GlueNode {
const newGlueNode = assign({}, vNode)
newGlueNode.i = 0
newGlueNode[LIFECYCLE] = CREATE
newGlueNode[CHILDREN] = vNode[CHILDREN].map((child) =>
recursion(CREATE, child)
)
deepSet(newGlueNode, PREV_PROPS, {})
return newGlueNode as GlueNode
}