docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
Utilities for verifying required props on JSX elements while respecting case sensitivity and spread handling preferences.
export interface PropCheckOptions {
/** Defaults to true. When false, comparisons must match case exactly. */
ignoreCase?: boolean;
/** Defaults to true. When false, spreads are treated as possibly satisfying required props. */
spreadStrict?: boolean;
}
/**
* Returns true when every required prop is present on the JSX attributes.
*/
export function requireAllProps(
attributes: Array<JSXAttribute | JSXSpreadAttribute>,
requiredProps: string[],
options?: PropCheckOptions
): boolean;
/**
* Returns true when at least one prop from the candidate list is present.
*/
export function requireAnyProp(
attributes: Array<JSXAttribute | JSXSpreadAttribute>,
candidateProps: string[],
options?: PropCheckOptions
): boolean;
/**
* Returns the required props that are not satisfied by the JSX attributes.
*/
export function listMissingProps(
attributes: Array<JSXAttribute | JSXSpreadAttribute>,
requiredProps: string[],
options?: PropCheckOptions
): string[];Utilities for inspecting JSX attributes and spreads. @satisfied-by