UNPKG

status-checker

Version:

A lean, dependency-free URL status checker library

67 lines 2.81 kB
"use strict"; /** * Status Checker - A lean, dependency-free URL status checker library * * @author Shubham Sharma <shubhamsharma.emails@gmail.com> * @license MIT */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = exports.StatusChecker = exports.ConfigLoader = void 0; exports.checkUrls = checkUrls; exports.checkUrl = checkUrl; // Export all types __exportStar(require("./types"), exports); // Export classes var config_1 = require("./config"); Object.defineProperty(exports, "ConfigLoader", { enumerable: true, get: function () { return config_1.ConfigLoader; } }); var checker_1 = require("./checker"); Object.defineProperty(exports, "StatusChecker", { enumerable: true, get: function () { return checker_1.StatusChecker; } }); var logger_1 = require("./logger"); Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } }); const config_2 = require("./config"); const checker_2 = require("./checker"); const logger_2 = require("./logger"); /** * Check URLs from a configuration file * @param configPath Path to the configuration file * @param options Checker options * @returns Promise resolving to check results */ async function checkUrls(configPath, options) { const logger = new logger_2.Logger(options?.log ? 'info' : 'error'); const configLoader = new config_2.ConfigLoader(logger); const config = configLoader.loadConfig(configPath); const checker = new checker_2.StatusChecker(config, options); return checker.checkAll(); } /** * Check a single URL * @param url URL to check * @param timeout Timeout in milliseconds (default: 5000) * @param successCodes Array of success status codes (default: [200]) * @returns Promise resolving to check result */ async function checkUrl(url, timeout = 5000, successCodes = [200]) { const config = { urls: [{ url, timeout }], globalSuccessCodes: successCodes }; const checker = new checker_2.StatusChecker(config, { log: false }); const results = await checker.checkAll(); return results[0]; } //# sourceMappingURL=index.js.map