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;