- public static median(dataSet: number[]): number {
- if (Utils.isEmptyArray(dataSet)) {
- return 0;
- }
- if (Array.isArray(dataSet) === true && dataSet.length === 1) {
- return dataSet[0];
- }
- dataSet = dataSet.slice().sort((a, b) => a - b);
- return (dataSet[(dataSet.length - 1) >> 1] + dataSet[dataSet.length >> 1]) / 2;
- }
+/**
+ * Converts websocket error code to human readable string message
+ *
+ * @param code - websocket error code
+ * @returns human readable string message
+ */
+export const getWebSocketCloseEventStatusString = (code: number): string => {
+ if (code >= 0 && code <= 999) {
+ return '(Unused)'
+ } else if (code >= 1016) {
+ if (code <= 1999) {
+ return '(For WebSocket standard)'
+ } else if (code <= 2999) {
+ return '(For WebSocket extensions)'
+ } else if (code <= 3999) {
+ return '(For libraries and frameworks)'
+ } else if (code <= 4999) {
+ return '(For applications)'
+ }
+ }
+ if (
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
+ WebSocketCloseEventStatusString[code as keyof typeof WebSocketCloseEventStatusString] != null
+ ) {
+ return WebSocketCloseEventStatusString[code as keyof typeof WebSocketCloseEventStatusString]
+ }
+ return '(Unknown)'
+}