validate method
Implementation
void validate(String owner, Set<String> layerIds) {
if (targetLayerId case final target? when !layerIds.contains(target)) {
throw ArgumentError.value(
target,
'$owner.targetLayerId',
'Unknown layer.',
);
}
if (!offset.isFinite || offset < 0) {
throw ArgumentError.value(
offset,
'$owner.offset',
'Must be finite and non-negative.',
);
}
if (kind == PortPlacementKind.sideFraction && offset > 1) {
throw ArgumentError.value(
offset,
'$owner.offset',
'A fraction must be between 0 and 1.',
);
}
if (anchor case final value?) {
if (!value.x.isFinite ||
!value.y.isFinite ||
value.x < 0 ||
value.x > 1 ||
value.y < 0 ||
value.y > 1) {
throw ArgumentError.value(
value,
'$owner.anchor',
'A normalized anchor must be finite and within the unit square.',
);
}
}
}