UNPKG

@lantsang/nestjs-tdengine

Version:

NestJS TDengine 驱动

48 lines (47 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TDengineErrorWrapper = void 0; /** * 错误捕获装饰器 * @param params 错误捕获参数 * @returns 包装好的错误格式或正常的方法调用 */ const TDengineErrorWrapper = (params) => (_target, _propertyKey, descriptor) => { const original = descriptor.value; const type = params?.type || "async" /* Async */; // 默认方法为异步方法 switch (type) { case "async" /* Async */: descriptor.value = async function () { try { return await original.apply(this, arguments); } catch (error) { if (error.isAxiosError) { const { response } = error; const { data } = response; return { success: false, error: data.desc }; } throw error; } }; break; case "sync" /* Sync */: descriptor.value = function () { try { return original.apply(this, arguments); } catch (error) { if (error.isAxiosError) { const { response } = error; const { data } = response; return { success: false, error: data.desc }; } throw error; } }; break; default: throw new Error('Invalid Function Type'); } }; exports.TDengineErrorWrapper = TDengineErrorWrapper;