firewalla-mcp-server
Version:
Model Context Protocol (MCP) server for Firewalla MSP API - Provides real-time network monitoring, security analysis, and firewall management through 28 specialized tools compatible with any MCP client
58 lines • 1.66 kB
JavaScript
/**
* Null safety utilities for parameter validation
*/
/**
* Safely convert a value to a string, handling null/undefined
*/
export function safeString(value, defaultValue = '') {
if (value === null || value === undefined) {
return defaultValue;
}
return String(value);
}
/**
* Safely convert a value to a number, handling null/undefined
*/
export function safeNumber(value, defaultValue = 0) {
if (value === null || value === undefined) {
return defaultValue;
}
const num = Number(value);
return isNaN(num) ? defaultValue : num;
}
/**
* Safely convert a value to a boolean, handling null/undefined
*/
export function safeBoolean(value, defaultValue = false) {
if (value === null || value === undefined) {
return defaultValue;
}
return Boolean(value);
}
/**
* Validate and sanitize tool arguments, removing null/undefined values
*/
export function sanitizeToolArgs(args) {
if (!args || typeof args !== 'object') {
return {};
}
const sanitized = {};
for (const [key, value] of Object.entries(args)) {
// Skip null or undefined values
if (value === null || value === undefined) {
continue;
}
// Handle nested objects recursively
if (typeof value === 'object' && !Array.isArray(value)) {
const nestedSanitized = sanitizeToolArgs(value);
if (Object.keys(nestedSanitized).length > 0) {
sanitized[key] = nestedSanitized;
}
}
else {
sanitized[key] = value;
}
}
return sanitized;
}
//# sourceMappingURL=null-safety.js.map