@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
27 lines • 1.17 kB
JavaScript
import { compareCodePoints } from "../utils/sort.js";
export function validateOptions(query, allowed) {
const unknown = Object.keys(query.options ?? {})
.filter((key) => !allowed.includes(key))
.sort(compareCodePoints);
if (unknown.length > 0)
throw new Error(`unknown options: ${unknown.join(', ')}`);
}
export function intOption(query, key, fallback) {
const value = query.options?.[key] === undefined ? fallback : query.options[key];
if (typeof value !== 'number' || !Number.isSafeInteger(value))
throw new Error(`${key} must be an integer`);
return value;
}
export function floatOption(query, key, fallback) {
const value = query.options?.[key] === undefined ? fallback : query.options[key];
if (typeof value !== 'number' || !Number.isFinite(value))
throw new Error(`${key} must be a finite number`);
return value;
}
export function textOption(query, key, fallback) {
const value = query.options?.[key] === undefined ? fallback : query.options[key];
if (typeof value !== 'string')
throw new Error(`${key} must be a string`);
return value;
}
//# sourceMappingURL=search.js.map