status-checker
Version:
A lean, dependency-free URL status checker library
81 lines (80 loc) • 2.28 kB
TypeScript
import { Check, IndividualCheckResult } from './types';
/**
* Response data from an HTTP request
*/
interface ResponseData {
statusCode: number;
headers: Record<string, string>;
body: string;
responseTime: number;
}
/**
* Check evaluator for evaluating different types of checks
*/
export declare class CheckEvaluator {
/**
* Evaluate all checks against a response
* @param checks Array of checks to evaluate
* @param response Response data
* @returns Array of check results
*/
evaluateChecks(checks: Check[], response: ResponseData): IndividualCheckResult[];
/**
* Evaluate a single check against a response
* @param check Check to evaluate
* @param response Response data
* @returns Check result
*/
evaluateCheck(check: Check, response: ResponseData): IndividualCheckResult;
/**
* Evaluate a status code check
* @param check Status code check
* @param response Response data
* @returns Check result
*/
private evaluateStatusCodeCheck;
/**
* Evaluate a header check
* @param check Header check
* @param response Response data
* @returns Check result
*/
private evaluateHeaderCheck;
/**
* Evaluate a body check
* @param check Body check
* @param response Response data
* @returns Check result
*/
private evaluateBodyCheck;
/**
* Evaluate a JSON path check
* @param check JSON path check
* @param response Response data
* @returns Check result
*/
private evaluateJsonPathCheck;
/**
* Evaluate a response time check
* @param check Response time check
* @param response Response data
* @returns Check result
*/
private evaluateResponseTimeCheck;
/**
* Extract a value from a JSON object using a JSON path expression
* @param json JSON object
* @param path JSON path expression
* @returns Extracted value
*/
private extractJsonPath;
/**
* Compare values using the specified operator
* @param actual Actual value
* @param operator Comparison operator
* @param expected Expected value
* @returns Whether the comparison passed
*/
private compareValues;
}
export {};