Files
nest/packages/websockets/errors/ws-exception.ts
2024-11-26 14:39:51 +01:00

28 lines
699 B
TypeScript

import { isObject, isString } from '@nestjs/common/utils/shared.utils';
export class WsException extends Error {
constructor(private readonly error: string | object) {
super();
this.initMessage();
}
public initMessage() {
if (isString(this.error)) {
this.message = this.error;
} else if (
isObject(this.error) &&
isString((this.error as Record<string, any>).message)
) {
this.message = (this.error as Record<string, any>).message;
} else if (this.constructor) {
this.message = this.constructor.name
.match(/[A-Z][a-z]+|[0-9]+/g)!
.join(' ');
}
}
public getError(): string | object {
return this.error;
}
}