status-checker
Version:
A lean, dependency-free URL status checker library
67 lines • 2.81 kB
JavaScript
;
/**
* 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