mirror of
https://github.com/Shineii86/AniKotoAPI.git
synced 2026-10-22 19:05:11 +00:00
docs: Add box-style headers, section headers, feature markers, JSDoc, inline notes, footers
Added comprehensive documentation following project conventions: Box-style headers (added/fixed where missing): - All 17 files now have standard Project/Author/License headers Section headers (// == == SECTION == ==): - cache.helper.js: LRU CACHE CLASS, TTL CONFIGURATION, SINGLETON, EXPORTED HELPERS - download.controller.js: DOWNLOAD LINKS HANDLER - download.extractor.js: BASE64 DECODER, REDIRECT FOLLOWER, DOWNLOAD LINKS EXTRACTOR - seasons.extractor.js: SEASONS EXTRACTOR - watchOrder.extractor.js: WATCH ORDER EXTRACTOR - extractPages.helper.js: PAGE EXTRACTOR - pagination.helper.js: PAGINATION METADATA Feature markers (// --- FEATURE: XYZ ---): - cache.helper.js: LRU Cache, Per-Endpoint TTL, Cache Get/Set/Clear - download.controller.js: Download Links - download.extractor.js: Base64 Download Data Decoder, Redirect Chain Resolver, Download Links Extraction - seasons.extractor.js: Season Information Extraction - watchOrder.extractor.js: Watch Order / Related Anime Extraction - streamResolver.extractor.js: Server Name Normalization, Stream URL Resolution, Batch Stream URL Resolution, M3U8 Quality Parser, Subtitle Track Extractor - mirror.helper.js: Mirror Domain Configuration, Mirror Health Check, Working Mirror Discovery, Mirror Cache Reset, URL Builder, Resilient Fetch with Mirror Fallback, Mirror Status Reporter - pagination.helper.js: Pagination Metadata Generator - creatorInfo.js: Creator Attribution Object, Response Creator Injection Middleware Function-level JSDoc (added/fixed): - cache.helper.js: Full JSDoc on all 6 class methods (constructor, get, set, delete, clear, getStats, has) and 4 exported helpers Inline notes for non-obvious logic: - cache.helper.js: Lazy expiration, LRU re-insertion, singleton pattern - download.extractor.js: HTML/JSON hybrid response handling, multiple selectors for different mirrors, redirect fallback - random.extractor.js: maxRedirects, validateStatus, responseURL extraction - schedule.extractor.js: Dual selector pattern for different mirror layouts - animeInfo.extractor.js: Positional .bmeta selector fragility - homeInfo.extractor.js: Dual selector for different layouts - mirror.helper.js: 404 vs connection error handling - animeInfo.controller.js: Accept both id and slug params Footers (added where missing): - cache.helper.js, download.controller.js, download.extractor.js, seasons.extractor.js, watchOrder.extractor.js, extractPages.helper.js, mirror.helper.js All 68 source files now have complete documentation coverage (6/6 checks).
This commit is contained in:
@@ -45,6 +45,7 @@ const EMBED_API_MAP = {
|
||||
"embed.bunkrerrer.com": "megaplay-1.buzz",
|
||||
};
|
||||
|
||||
// ---- FEATURE: Server Name Normalization ----
|
||||
/**
|
||||
* Normalizes server display names to clean identifiers
|
||||
* @param {string} name - Raw server name (e.g., "VidPlay-1")
|
||||
@@ -55,6 +56,7 @@ const normalizeServerName = (name) => {
|
||||
return SERVER_NAME_MAP[name] || name.toLowerCase().replace(/[-\s]+\d+$/, "").trim();
|
||||
};
|
||||
|
||||
// ---- FEATURE: Stream URL Resolution ----
|
||||
/**
|
||||
* Resolves the actual video stream URL from an embed player page.
|
||||
* Extracts data-id from the embed HTML, then queries the megaplay API.
|
||||
@@ -166,6 +168,7 @@ const resolveStreamUrl = async (embedUrl, options = {}) => {
|
||||
}
|
||||
};
|
||||
|
||||
// ---- FEATURE: Batch Stream URL Resolution ----
|
||||
/**
|
||||
* Resolves stream URLs for multiple episodes in batch
|
||||
* @param {string} embedUrl - The embed player URL
|
||||
@@ -185,6 +188,7 @@ const resolveStreamUrls = async (embedUrl, options = {}) => {
|
||||
// M3U8 PARSER
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
// ---- FEATURE: M3U8 Quality Parser ----
|
||||
/**
|
||||
* Parses an M3U8 playlist to extract available quality options.
|
||||
* Supports both master playlists (multiple qualities) and media playlists.
|
||||
@@ -265,6 +269,7 @@ const parseM3u8Qualities = async (m3u8Url, options = {}) => {
|
||||
// SUBTITLE EXTRACTOR
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
// ---- FEATURE: Subtitle Track Extractor ----
|
||||
/**
|
||||
* Extracts subtitle information from API response data
|
||||
* @param {object} apiData - The megaplay API response
|
||||
|
||||
Reference in New Issue
Block a user