BindingIdentity.fromJson constructor
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,
);
}