Open martin-yin opened 3 years ago
function mapRoute(instance: Object) { const prototype = Object.getPrototypeOf(instance); // 筛选出类的 methodName const methodsNames = Object.getOwnPropertyNames(prototype) .filter(item => !isConstructor(item) && isFunction(prototype[item])); return methodsNames.map(methodName => { const fn = prototype[methodName]; // 取出定义的 metadata const route = Reflect.getMetadata(PATH_METADATA, fn); const method = Reflect.getMetadata(METHOD_METADATA, fn); return { route, method, fn, methodName } }) };
这里缺少 isConstructor 和 isFunction函数。
测试之后,加上这俩函数即可解决问题。
export const isFunction = (fn: any): boolean => typeof fn === 'function'; export const isConstructor = (fn: any): boolean => fn === 'constructor';
这里缺少 isConstructor 和 isFunction函数。
测试之后,加上这俩函数即可解决问题。