UNPKG

ctrlshiftleft

Version:

AI-powered toolkit for embedding QA and security testing into development workflows

92 lines (91 loc) 2.78 kB
/** * ctrl.shift.left QA Validation Middleware * * This middleware provides input validation and security checks for API routes * in various JavaScript frameworks including Next.js, Express, and others. */ type ValidationResult = { valid: boolean; message: string; securityIssues: string[]; }; type InputType = 'url' | 'email' | 'password' | 'text' | 'number' | 'json'; /** * Validate user input for common security risks * @param input User input to validate * @param inputType Type of input */ export declare function validateInput(input: string, inputType?: InputType): ValidationResult; /** * Validate request body fields * @param body Request body object * @param fieldValidations Validation rules for each field */ export declare function validateRequestBody(body: Record<string, any>, fieldValidations: Record<string, { type: InputType; required?: boolean; }>): { isValid: boolean; errors: Record<string, string>; securityIssues: string[]; }; /** * Create Express-style middleware for input validation * @param validationRules Validation rules for request body fields */ export declare function createValidationMiddleware(validationRules: Record<string, { type: InputType; required?: boolean; }>): (req: any, res: any, next: () => void) => any; /** * Validate URL with security checks * @param url URL to validate */ export declare function validateUrl(url: string): { isValid: boolean; errorMessage: string; hasSecurity: boolean; securityIssues: string[]; }; /** * Validate email address with security checks * @param email Email to validate */ export declare function validateEmail(email: string): { isValid: boolean; errorMessage: string; hasSecurity: boolean; securityIssues: string[]; }; /** * Validate a password for security and strength * @param password Password to validate */ export declare function validatePassword(password: string): { isValid: boolean; errorMessage: string; hasSecurity: boolean; securityIssues: string[]; strength: string; suggestions: (string | null)[]; }; /** * Validate JSON string or object for security issues * @param json JSON string or object to validate */ export declare function validateJson(json: string | object): { isValid: boolean; errorMessage: string; hasSecurity: boolean; securityIssues: string[]; }; declare const _default: { validateInput: typeof validateInput; validateRequestBody: typeof validateRequestBody; createValidationMiddleware: typeof createValidationMiddleware; validateUrl: typeof validateUrl; validateEmail: typeof validateEmail; validatePassword: typeof validatePassword; validateJson: typeof validateJson; }; export default _default;