BindingIdentity.fromJson constructor

BindingIdentity.fromJson(
  1. Map<String, Object?> json
)

Implementation

factory BindingIdentity.fromJson(Map<String, Object?> json) {
  String required(String name) {
    final value = json[name];
    if (value is! String || value.trim().isEmpty) {
      throw FormatException('Binding identity requires $name');
    }
    return value;
  }

  final slot = required('slot');
  if (!isValidBindingSlot(slot)) {
    throw FormatException('Invalid binding slot: $slot');
  }
  return BindingIdentity(
    subjectKind: required('subjectKind'),
    subjectId: required('subjectId'),
    target: required('target'),
    role: required('role'),
    variant: required('variant'),
    slot: slot,
  );
}