umay-render
Version:
Free, high-performance HTML to PDF and HTML to Image conversion SDK for both browser and Node.js
60 lines (59 loc) • 3.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorCodes = exports.UmayError = void 0;
// src/errors.ts
class UmayError extends Error {
constructor(
/** Standartlaştırılmış hata kodu (ErrorCodes'dan gelmeli) */
code, // Allow known codes or custom strings
/** Hatanın geliştiriciye yönelik açıklaması veya iç mesaj */
message,
/** API'den gelen veya SDK içinde oluşan ek detaylar (opsiyonel) */
details) {
super(message);
this.code = code;
this.details = details;
Object.setPrototypeOf(this, UmayError.prototype);
this.name = "UmayError";
}
}
exports.UmayError = UmayError;
/**
* Standart Hata Kodları: Hem SDK içi hataları hem de Backend API'den beklenen hataları içerir.
*/
exports.ErrorCodes = {
// --- SDK İç Hataları ---
/** SDK'ya sağlanan girdinin validasyondan geçememesi. */
SDK_INVALID_INPUT: "SDK_INVALID_INPUT",
/** SDK içinde girdi işlenirken beklenmedik bir hata oluşması. */
SDK_UNEXPECTED_PROCESSING_ERROR: "SDK_UNEXPECTED_PROCESSING_ERROR",
// --- Ağ ve Bağlantı Hataları ---
/** API isteği sırasında ağ hatası (örn. bağlantı kurulamadı). */
NETWORK_ERROR: "NETWORK_ERROR",
/** API isteğinin zaman aşımına uğraması. */
TIMEOUT: "TIMEOUT", // Hem SDK timeout hem de backend timeout olabilir
// --- Backend API Hataları (Backend'den gelen 'code' alanıyla eşleşmeli) ---
/** API'nin genel bir hata döndürmesi (spesifik kod alınamadığında kullanılır). */
API_ERROR: "API_ERROR",
/** API'nin bilinmeyen veya beklenmedik bir sunucu hatası vermesi. */
INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR",
/** Backend'in isteği doğrulayamaması (örn. eksik veya geçersiz parametre). */
VALIDATION_ERROR: "VALIDATION_ERROR", // Backend validasyon hatası
/** İşlemin (navigasyon, bekleme vb.) zaman aşımına uğraması (Backend'den). */
TIMEOUT_ERROR: "TIMEOUT_ERROR", // Backend'den gelen timeout
/** Belirtilen URL'ye gidilememesi (Backend'den). */
NAVIGATION_ERROR: "NAVIGATION_ERROR",
/** Beklenen HTML seçicisinin bulunamaması (Backend'den). */
SELECTOR_NOT_FOUND: "SELECTOR_NOT_FOUND",
/** Render işlemi sırasında sayfa bağlamının kaybolması (Backend'den). */
PAGE_CONTEXT_DESTROYED: "PAGE_CONTEXT_DESTROYED",
/** Özel JS kodunun çalıştırılamaması (Backend'den). */
SCRIPT_EVAL_FAILED: "SCRIPT_EVAL_FAILED",
/** Genel render/dönüştürme hatası (Backend'den). */
CONVERSION_ERROR: "CONVERSION_ERROR",
/** Tarayıcı başlatılamadı (Backend'den). */
BROWSER_LAUNCH_FAILED: "BROWSER_LAUNCH_FAILED",
/** Hizmet geçici olarak kullanılamıyor (örn. tarayıcı kapanıyor) (Backend'den). */
SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
// ... backend'den gelebilecek diğer spesifik kodlar buraya eklenebilir ...
}; // 'as const' ile değerlerin string literal tipler olmasını sağlarız
;