@saihu/common 1.1.57 → 1.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ArgumentsHost } from '@nestjs/common';
|
|
2
2
|
import { BaseRpcExceptionFilter } from '@nestjs/microservices';
|
|
3
|
-
import { BaseError } from '../dto/base-res.dto';
|
|
4
3
|
export declare class BaseErrorRpcFilter extends BaseRpcExceptionFilter {
|
|
5
|
-
catch(exception:
|
|
4
|
+
catch(exception: any, host: ArgumentsHost): import("rxjs").Observable<any>;
|
|
6
5
|
}
|
|
7
6
|
//# sourceMappingURL=base-error-rpc.filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-error-rpc.filter.d.ts","sourceRoot":"","sources":["../../src/filters/base-error-rpc.filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAS,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-error-rpc.filter.d.ts","sourceRoot":"","sources":["../../src/filters/base-error-rpc.filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAS,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,uBAAuB,CAAC;AAE7E,qBACa,kBAAmB,SAAQ,sBAAsB;IAC5D,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;CA+B1C"}
|
|
@@ -10,21 +10,36 @@ exports.BaseErrorRpcFilter = void 0;
|
|
|
10
10
|
// @saihu/common/src/filters/base-error-rpc.filter.ts
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const microservices_1 = require("@nestjs/microservices");
|
|
13
|
-
const base_res_dto_1 = require("../dto/base-res.dto");
|
|
14
13
|
let BaseErrorRpcFilter = class BaseErrorRpcFilter extends microservices_1.BaseRpcExceptionFilter {
|
|
15
14
|
catch(exception, host) {
|
|
16
15
|
var _a;
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
// Only transform for RPC
|
|
17
|
+
if (host.getType() !== 'rpc') {
|
|
18
|
+
return super.catch(exception, host);
|
|
19
|
+
}
|
|
20
|
+
// If it's already RpcException, pass through
|
|
21
|
+
if (exception instanceof microservices_1.RpcException) {
|
|
22
|
+
return super.catch(exception, host);
|
|
23
|
+
}
|
|
24
|
+
// Duck-type check for your BaseError shape
|
|
25
|
+
const isBaseErrorLike = ((exception === null || exception === void 0 ? void 0 : exception.name) === 'BaseError' ||
|
|
26
|
+
typeof (exception === null || exception === void 0 ? void 0 : exception.code) === 'number') &&
|
|
27
|
+
typeof (exception === null || exception === void 0 ? void 0 : exception.message) === 'string';
|
|
28
|
+
const payload = isBaseErrorLike
|
|
29
|
+
? {
|
|
30
|
+
code: Number(exception.code) || 500,
|
|
31
|
+
msg: exception.message,
|
|
32
|
+
data: (_a = exception.data) !== null && _a !== void 0 ? _a : null,
|
|
33
|
+
}
|
|
34
|
+
: {
|
|
35
|
+
code: 500,
|
|
36
|
+
msg: 'Internal server error',
|
|
37
|
+
data: null,
|
|
38
|
+
};
|
|
24
39
|
return super.catch(new microservices_1.RpcException(payload), host);
|
|
25
40
|
}
|
|
26
41
|
};
|
|
27
42
|
exports.BaseErrorRpcFilter = BaseErrorRpcFilter;
|
|
28
43
|
exports.BaseErrorRpcFilter = BaseErrorRpcFilter = __decorate([
|
|
29
|
-
(0, common_1.Catch)(
|
|
44
|
+
(0, common_1.Catch)() // <-- catch everything (not just BaseError)
|
|
30
45
|
], BaseErrorRpcFilter);
|