@the_cfdude/productboard-mcp
Version:
Model Context Protocol server for Productboard REST API with dynamic tool loading
45 lines (44 loc) • 1.4 kB
TypeScript
/**
* Sanitize a string input
*/
export declare function sanitizeString(value: unknown, field: string, maxLength?: number): string;
/**
* Validate and sanitize email
*/
export declare function validateEmail(value: unknown, field?: string): string;
/**
* Validate and sanitize URL
*/
export declare function validateUrl(value: unknown, field?: string): string;
/**
* Validate array input
*/
export declare function validateArray<T>(value: unknown, field: string, validator?: (item: unknown, index: number) => T): T[];
/**
* Validate object has required fields
*/
export declare function validateRequired<T extends Record<string, unknown>>(obj: T, requiredFields: (keyof T)[]): void;
/**
* Validate pagination parameters
*/
export interface PaginationParams {
limit: number;
offset: number;
}
export declare function validatePagination(params: any): PaginationParams;
/**
* Validate date string
*/
export declare function validateDate(value: unknown, field: string): string;
/**
* Validate enum value
*/
export declare function validateEnum<T extends string>(value: unknown, validValues: readonly T[], field: string): T;
/**
* Sanitize object by removing undefined/null values
*/
export declare function sanitizeObject<T extends Record<string, unknown>>(obj: T): Partial<T>;
/**
* Validate request size
*/
export declare function validateRequestSize(data: unknown): void;