yt-dlp-typescript-wrapper
Version:
TypeScript OOP wrapper for youtube-dl-exec with advanced YouTube Shorts support
133 lines • 4.08 kB
JavaScript
/**
* Кастомные ошибки для yt-dlp-wrapper
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileAccessError = exports.NetworkError = exports.InvalidChannelError = exports.InvalidUrlError = exports.YtDlpNotAvailableError = exports.ConfigurationError = exports.ShortsDownloadError = exports.ShortsRetrievalError = exports.AudioDownloadError = exports.VideoDownloadError = exports.VideoInfoError = exports.YtDlpError = void 0;
/**
* Базовая ошибка для всех ошибок библиотеки
*/
class YtDlpError extends Error {
constructor(message) {
super(message);
this.name = 'YtDlpError';
}
}
exports.YtDlpError = YtDlpError;
/**
* Ошибка при получении информации о видео
*/
class VideoInfoError extends YtDlpError {
constructor(message, url) {
super(`Failed to get video info: ${message}`);
this.url = url;
this.name = 'VideoInfoError';
}
}
exports.VideoInfoError = VideoInfoError;
/**
* Ошибка при загрузке видео
*/
class VideoDownloadError extends YtDlpError {
constructor(message, url) {
super(`Failed to download video: ${message}`);
this.url = url;
this.name = 'VideoDownloadError';
}
}
exports.VideoDownloadError = VideoDownloadError;
/**
* Ошибка при загрузке аудио
*/
class AudioDownloadError extends YtDlpError {
constructor(message, url) {
super(`Failed to download audio: ${message}`);
this.url = url;
this.name = 'AudioDownloadError';
}
}
exports.AudioDownloadError = AudioDownloadError;
/**
* Ошибка при получении Shorts с канала
*/
class ShortsRetrievalError extends YtDlpError {
constructor(message, channelHandle) {
super(`Failed to retrieve shorts: ${message}`);
this.channelHandle = channelHandle;
this.name = 'ShortsRetrievalError';
}
}
exports.ShortsRetrievalError = ShortsRetrievalError;
/**
* Ошибка при загрузке Shorts
*/
class ShortsDownloadError extends YtDlpError {
constructor(message, channelHandle) {
super(`Failed to download shorts: ${message}`);
this.channelHandle = channelHandle;
this.name = 'ShortsDownloadError';
}
}
exports.ShortsDownloadError = ShortsDownloadError;
/**
* Ошибка конфигурации
*/
class ConfigurationError extends YtDlpError {
constructor(message) {
super(`Configuration error: ${message}`);
this.name = 'ConfigurationError';
}
}
exports.ConfigurationError = ConfigurationError;
/**
* Ошибка yt-dlp недоступен
*/
class YtDlpNotAvailableError extends YtDlpError {
constructor(binPath) {
super(`yt-dlp is not available${binPath ? ` at path: ${binPath}` : ''}`);
this.name = 'YtDlpNotAvailableError';
}
}
exports.YtDlpNotAvailableError = YtDlpNotAvailableError;
/**
* Ошибка неверного URL
*/
class InvalidUrlError extends YtDlpError {
constructor(url) {
super(`Invalid URL: ${url}`);
this.name = 'InvalidUrlError';
}
}
exports.InvalidUrlError = InvalidUrlError;
/**
* Ошибка неверного канала
*/
class InvalidChannelError extends YtDlpError {
constructor(channelHandle) {
super(`Invalid channel: ${channelHandle}`);
this.name = 'InvalidChannelError';
}
}
exports.InvalidChannelError = InvalidChannelError;
/**
* Ошибка сети
*/
class NetworkError extends YtDlpError {
constructor(message) {
super(`Network error: ${message}`);
this.name = 'NetworkError';
}
}
exports.NetworkError = NetworkError;
/**
* Ошибка доступа к файлу
*/
class FileAccessError extends YtDlpError {
constructor(message, path) {
super(`File access error: ${message}`);
this.path = path;
this.name = 'FileAccessError';
}
}
exports.FileAccessError = FileAccessError;
//# sourceMappingURL=errors.js.map
;