30 lines
678 B
JavaScript
30 lines
678 B
JavaScript
/**
|
|
* Job 模块统一导出
|
|
* 聚合所有 job 相关模块的方法,提供统一的对外接口
|
|
*/
|
|
|
|
const { jobManager, resumeManager, chatManager } = require('./managers');
|
|
|
|
const pack = (instance) => {
|
|
const proto = Object.getPrototypeOf(instance);
|
|
|
|
const methods = Object.getOwnPropertyNames(proto)
|
|
.filter(k => k !== 'constructor')
|
|
.reduce((acc, key) => {
|
|
acc[key] = proto[key].bind(instance);
|
|
return acc;
|
|
}, {});
|
|
|
|
return { ...instance, ...methods };
|
|
}
|
|
|
|
/**
|
|
* 便捷方法:直接导出常用方法
|
|
*/
|
|
module.exports = {
|
|
...pack(jobManager),
|
|
...pack(resumeManager),
|
|
...pack(chatManager),
|
|
};
|
|
|