/** * ComicLand adapter: JSON API listing + page URLs, image download, and CBZ CLIs. * Tweak {@link ./constants.js} if the API origin or routes change. */ const { API_JSON_HEADERS, CDN_IMAGE_HEADERS, CHAPTER_PATHNAME_PATTERN, COMICLAND_API_ORIGIN, COMICLAND_HOSTS, COMICLAND_ORIGIN, DEFAULT_LISTING_URL, LISTING_PATHNAME_PATTERN, } = require("./constants.js"); const { fetchChapterLinks, isChapterPathname, isLikelyComicLandSite, isListingPathname, parseComicLandUrl, seriesSlugFromListingUrl, } = require("./chapters.js"); const { collectChapterImageUrls, downloadChapterImages, } = require("./images.js"); const { chapterUrlToCbz, resolveCliOutputPath, sanitizeComicDirName, sanitizeFsStem, stemForComicLandChapterCbz, } = require("./downloadChapterCbz.js"); module.exports = { API_JSON_HEADERS, CDN_IMAGE_HEADERS, CHAPTER_PATHNAME_PATTERN, COMICLAND_API_ORIGIN, COMICLAND_HOSTS, COMICLAND_ORIGIN, DEFAULT_LISTING_URL, LISTING_PATHNAME_PATTERN, chapterUrlToCbz, collectChapterImageUrls, downloadChapterImages, fetchChapterLinks, isChapterPathname, isLikelyComicLandSite, isListingPathname, parseComicLandUrl, resolveCliOutputPath, sanitizeComicDirName, sanitizeFsStem, seriesSlugFromListingUrl, stemForComicLandChapterCbz, };