/* @flow */ declare var document: WeexDocument; import { warn } from 'core/util/index' export const RECYCLE_LIST_MARKER = '@inRecycleList' // Register the component hook to weex native render engine. // The hook will be triggered by native, not javascript. export function registerComponentHook ( componentId: string, type: string, // hook type, could be "lifecycle" or "instance" hook: string, // hook name fn: Function ) { if (!document || !document.taskCenter) { warn(`Can't find available "document" or "taskCenter".`) return } if (typeof document.taskCenter.registerHook === 'function') { return document.taskCenter.registerHook(componentId, type, hook, fn) } warn(`Failed to register component hook "${type}@${hook}#${componentId}".`) } // Updates the state of the component to weex native render engine. export function updateComponentData ( componentId: string, newData: Object | void, callback?: Function ) { if (!document || !document.taskCenter) { warn(`Can't find available "document" or "taskCenter".`) return } if (typeof document.taskCenter.updateData === 'function') { return document.taskCenter.updateData(componentId, newData, callback) } warn(`Failed to update component data (${componentId}).`) }