import { Patch } from '../diff' import { Renderer } from './renderer' export interface ReducerRenderer extends Renderer { reduceNode (node: Node, patch: Patch): Node } export const isReducer = (renderer: Renderer): renderer is ReducerRenderer => typeof renderer['reduceNode'] === 'function' export interface BatchReducerRenderer extends ReducerRenderer { batchReduceNode (node: Node, patches: Patch[]): Node } export const isBatchReducer = (reducer: ReducerRenderer): reducer is BatchReducerRenderer => typeof reducer['batchReduceNode'] === 'function'