UNPKG

xatto

Version:

xatto is View Layer Library based on Function and Context using VirtualDOM. This is developed by forking from jorgebucaran/superfine.

47 lines (40 loc) 1.17 kB
import { eventProxyProvider } from './eventProxyProvider' import { glueNodeMergerProvider } from './glueNodeMergerProvider' import { patcherProvider } from './patcherProvider' import { Props } from './Props' import { resolverProvider } from './resolverProvider' export function rendererProvider ( mutate, getContext, setContext /*, view, glueNode */ ) { const eventTargetProps = new WeakMap<EventTarget, Props>() const removedNodes = new WeakMap<Node, boolean>() const eventProxy = eventProxyProvider(mutate, getContext, eventTargetProps) return () => { const lifecycleEvents: Function[] = [] return [ // resolver resolverProvider(getContext, setContext), // meger glueNodeMergerProvider(removedNodes), // pather patcherProvider( mutate, lifecycleEvents, eventProxy, eventTargetProps, removedNodes ), // finallyer () => () => { lifecycleEvents.reduceRight((_, lifecycleEvent) => lifecycleEvent(), 0) } ] as [ Function | undefined, Function | undefined, Function | undefined, Function | undefined ] } }