getMergeStrategy method
Implementation
MergeStrategy getMergeStrategy(ConstantReader annotation) {
try {
final annotationValue = annotation.read('mergeStrategy');
if (annotationValue.isNull) return defaultMergeStrategy;
final objectValue = annotationValue.objectValue;
if (objectValue.isNull) return defaultMergeStrategy;
final mergeStrategyId = objectValue.getField('index');
if (mergeStrategyId == null || mergeStrategyId.isNull) {
return defaultMergeStrategy;
}
final mergeStrategyIndex =
mergeStrategyId.toIntValue() ?? defaultMergeStrategy.index;
return MergeStrategy.values.firstWhere(
(element) => element.index == mergeStrategyIndex,
orElse: () => defaultMergeStrategy,
);
} on Exception {
return defaultMergeStrategy;
}
}