Parameters to validate
Type predicate indicating if params are valid SearchParams
// Valid search parameters
const validParams = {
limit: "10",
format: "json"
};
if (isValidSearchParams(validParams)) {
console.log("Valid search parameters");
console.log("Limit:", validParams.limit);
}
// Invalid search parameters (missing required properties)
const missingProps = {
limit: "10"
// Missing format
};
if (!isValidSearchParams(missingProps)) {
console.error("Invalid parameters - missing required properties");
}
// Invalid search parameters (wrong types)
const wrongTypes = {
limit: 10, // Should be string
format: 123 // Should be "json"
};
if (!isValidSearchParams(wrongTypes)) {
console.error("Invalid parameters - wrong property types");
}
// Invalid search parameters (invalid limit)
const invalidLimit = {
limit: "not a number",
format: "json"
};
if (!isValidSearchParams(invalidLimit)) {
console.error("Invalid parameters - invalid limit value");
}
// Invalid search parameters (wrong format)
const wrongFormat = {
limit: "10",
format: "xml"
};
if (!isValidSearchParams(wrongFormat)) {
console.error("Invalid parameters - wrong format value");
}
Type guard to validate if an object has the correct structure for Laboratorium Discounter search parameters. Checks for the presence and correct types of required parameters including limit (must be a valid number string) and format (must be "json").