Aller au contenu principal

generateRefinementCall()

generateRefinementCall<T>(varName, refinement, ctx, index?, options?): CodeGenResult

Experimental

Generates code to call a single refinement function.

The refinement is stored as an external function and called via externals.get("ref_N")(value). The result is checked and if it's not true, the error message is returned.


Type Parameters

T: T


Parameters

varName: string

The variable name to validate

refinement: RefinementFn<T>

The refinement function to call

ctx: GeneratorContext

The generator context

index?: number

Optional index for debugging (refinement order)

options?: RefinementOptions

Optional configuration for code generation


Returns: CodeGenResult

Generated code and updated context


Since

2.0.0


Example

const isValidSlug = (value: string) => /^[a-z0-9-]+$/.test(value) || "Invalid slug";
const result = generateRefinementCall("value", isValidSlug, ctx);
// Generated code:
// var ref_result_0 = externals.get("ref_0")(value);
// if (ref_result_0 !== true) return ref_result_0;