@chief-editor/flow
Version:
Old核心数据流
1 lines • 774 B
JavaScript
import{ALL_HOOK_POS}from"@chief-editor/base";export function extractHooks(o,n,t){var r=t&&t.hookList||[],e={},c={};return ALL_HOOK_POS.forEach((function(o){var t=n[o];null!=t&&(e[o]=e[o]||[],e[o].push(t))})),r.forEach((function(n){e[n.hookPos]=e[n.hookPos]||[];var t=o.getHook(n.hookFun);null!=t?e[n.hookPos].push(t):console.error("invalid hook function name = "+n.hookFun)})),Object.keys(e).forEach((function(n){var t=e[n];c[n]=function(n){return new Promise((function(r,e){var c=0,i=function(){if(c>=t.length)r(n);else{var u=t[c++];try{var f=u.call(o,n,o);if(null!=f&&"object"==typeof f&&"function"==typeof f.then)return void f.then((function(o){void 0!==o&&(n=o),i()})).catch((function(o){return e(o)}));void 0!==f&&(n=f),i()}catch(o){return e(o.message)}}};i()}))}})),c}