import crypto from 'crypto';
+import clone from 'just-clone';
+
import { WebSocketCloseEventStatusString } from '../types/WebSocket';
export default class Utils {
);
}
- public static cloneObject<T>(object: T): T {
- return JSON.parse(JSON.stringify(object)) as T;
+ public static isObject(item: unknown): boolean {
+ return item && typeof item === 'object' && Array.isArray(item) === false;
+ }
+
+ public static cloneObject<T extends object>(object: T): T {
+ return clone<T>(object);
}
public static isIterable<T>(obj: T): boolean {
}
public static JSONStringifyWithMapSupport(
- obj: Record<string, unknown> | Record<string, unknown>[],
+ obj: Record<string, unknown> | Record<string, unknown>[] | Map<string, unknown>,
space?: number
): string {
return JSON.stringify(