Function: defineUnifiedConstraint()
August 8, 2026 ยท View on GitHub
@plures/praxis / index / defineUnifiedConstraint
Function: defineUnifiedConstraint()
defineUnifiedConstraint(
constraint):UnifiedConstraint
Defined in: src/unified/rules.ts:56
Define a constraint that validates mutations before they're applied.
Parameters
constraint
The constraint descriptor with id, description, watch, and validate
Returns
The constraint descriptor unchanged (identity function โ used for type inference)
Example
const noCloseWithoutHours = defineConstraint({
id: 'no-close-without-hours',
description: 'Cannot close a work item with 0 completed hours',
watch: ['sprint/items'],
validate: (values) => {
const items = values['sprint/items'] ?? [];
const bad = items.find(i => i.state === 'Closed' && !i.completedWork);
if (bad) return `Item #${bad.id} cannot be closed with 0 hours`;
return true;
}
});