MeiliRankingScoreDetails.fromJson constructor
MeiliRankingScoreDetails.fromJson(
- Map<String, dynamic> src
)
Implementation
factory MeiliRankingScoreDetails.fromJson(Map<String, dynamic> src) {
final reservedKeys = {
'attribute',
'words',
'exactness',
'proximity',
'typo',
};
T? ruleGuarded<T>(
String key,
T Function(Map<String, dynamic> src) mapper,
) {
final v = src[key];
if (v == null) {
return null;
}
return mapper(v as Map<String, dynamic>);
}
return MeiliRankingScoreDetails._(
src: src,
attribute: ruleGuarded(
'attribute',
MeiliRankingScoreDetailsAttributeRule.fromJson,
),
words: ruleGuarded(
'words',
MeiliRankingScoreDetailsWordsRule.fromJson,
),
exactness: ruleGuarded(
'exactness',
MeiliRankingScoreDetailsExactnessRule.fromJson,
),
proximity: ruleGuarded(
'proximity',
MeiliRankingScoreDetailsProximityRule.fromJson,
),
typo: ruleGuarded(
'typo',
MeiliRankingScoreDetailsTypoRule.fromJson,
),
customRules: {
for (var custom in src.entries
.where((element) => !reservedKeys.contains(element.key)))
custom.key: MeiliRankingScoreDetailsCustomRule.fromJson(
custom.value as Map<String, dynamic>,
)
},
);
}