mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Rename isLoggerError argument from unknown to arg, remove keyof Logger, use Parameters<ProxyHandler<Logger>[get]>[1] instead, and a comment explaining why @ts-expect-error is needed.
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
This commit is contained in:
parent
ffc69a6fdf
commit
146891e431
@ -50,14 +50,14 @@ const logger = winston.createLogger({
|
||||
});
|
||||
|
||||
type Logger = ReturnType<typeof winston.createLogger>;
|
||||
type LoggerKeys = keyof Logger;
|
||||
type LoggerError = Logger["error"];
|
||||
type LoggerGetProxyHandlerKeyType = Parameters<ProxyHandler<Logger>["get"]>[1];
|
||||
|
||||
/**
|
||||
* Type guard to ensure unknown is logger.error function
|
||||
* Type guard to ensure arg is logger.error function
|
||||
*/
|
||||
const isLoggerError = (unknown: unknown, key: LoggerKeys): unknown is LoggerError =>
|
||||
typeof unknown === "function" && key === "error";
|
||||
const isLoggerError = (arg: unknown, key: LoggerGetProxyHandlerKeyType): arg is LoggerError =>
|
||||
typeof arg === "function" && key === "error";
|
||||
|
||||
/**
|
||||
* Proxied version of logger
|
||||
@ -65,7 +65,9 @@ const isLoggerError = (unknown: unknown, key: LoggerKeys): unknown is LoggerErro
|
||||
* Captures error message using Sentry.captureMessage(...params) when logger.error(...params)
|
||||
*/
|
||||
const proxiedLogger: Logger = new Proxy(logger, {
|
||||
get(target: Logger, key: LoggerKeys) {
|
||||
get(target, key) {
|
||||
// @ts-expect-error both string and symbol can be used as an index type https://github.com/microsoft/TypeScript/issues/1863
|
||||
// this can be removed after upgrade to a ts version with this fix https://github.com/microsoft/TypeScript/pull/44512 in
|
||||
const property = target[key];
|
||||
|
||||
if (isLoggerError(property, key)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user