generateWithConstraints function exported ✓ 90.0%
Last updated: 2026-02-24T21:07:57.586Z
Location
Metrics
LOC: 26
Complexity: 5
Params: 1
Coverage: 90.0% (9/10 lines, 3x executed)
Signature
generateWithConstraints(
generatorFn: () => string,
constraints: ValueConstraints = {},
): : string
Summary
Repeatedly invokes a generator function until the result satisfies the given constraints (e.g. maxLength, native element validity).
Tags
#@param generatorFn - Zero-arg function that produces a random value#@param constraints - Optional element/length constraints to satisfy#@returns A value that passes validation, or empty string if `requireValidity` is set and no valid value is found
Source Code
export function generateWithConstraints(
generatorFn: () => string,
constraints: ValueConstraints = {},
): string {
const attempts = constraints.attempts ?? DEFAULT_ATTEMPTS;
let lastGenerated = "";
for (let i = 0; i < attempts; i += 1) {
const raw = generatorFn();
lastGenerated = raw;
const adapted = adaptGeneratedValue(raw, {
...constraints,
requireValidity: true,
});
if (adapted) return adapted;
}
if (constraints.requireValidity) {
return "";
}
return adaptGeneratedValue(lastGenerated, {
...constraints,
requireValidity: false,
});
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| adaptGeneratedValue | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| generateDateForField | uses |