decodeCapabilities static method
Decodes an explicit capability report, rejecting unknown feature names.
Implementation
static JackfieldCapabilities decodeCapabilities(Object? payload) {
final data = _envelope(
payload,
{'platform', 'mechanism', 'features'},
{'reason'},
);
return JackfieldCapabilities(
platform: _nonemptyString(data, 'platform'),
mechanism: _enum(data['mechanism'], JackfieldMechanism.values),
features: Set.unmodifiable(
_list(data['features']).map((e) => _enum(e, JackfieldFeature.values)),
),
reason: _optionalString(data, 'reason'),
);
}