Skip to main content

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;