validate method

void validate(
  1. String owner,
  2. Set<String> layerIds
)

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.',
      );
    }
  }
}