@playkit-js/playkit-js
Version:
[](https://github.com/kaltura/playkit-js/actions/workflows/run_canary.yaml) [ • 1.55 kB
text/typescript
import getLogger, {getLogLevel, LogLevel} from '../utils/logger';
import type {SeverityType} from './severity';
import {Severity} from './severity';
import type {CodeType} from './code';
import {Code} from './code';
import type {CategoryType} from './category';
import {Category} from './category';
const CLASS_NAME: string = 'Error';
/**
* @classdesc This is a description of the error class.
*/
export default class Error {
public severity: number;
public category: number;
public code: number;
public data: any;
public errorDetails: any;
/**
* @enum {number}
*/
public static Severity: SeverityType = Severity;
/**
* @enum {number}
*/
public static Category: CategoryType = Category;
/**
* @enum {number}
*/
public static Code: CodeType = Code;
private static _logger: any = getLogger(CLASS_NAME);
/**
* @constructor
* @param {number} severity - error's severity
* @param {number} category - error's category.
* @param {number} code - error's code.
* @param {any} data - additional data for the error.
* @param {any} errorDetails - error details including title and message - optional.
*/
constructor(severity: number, category: number, code: number, data: any = {}, errorDetails?: any) {
this.severity = severity;
this.category = category;
this.code = code;
this.data = data;
this.errorDetails = errorDetails || {};
if (getLogLevel(CLASS_NAME) !== LogLevel.OFF) {
Error._logger.error(`Category:${category} | Code:${code} |`, data);
}
}
}