resolveEditorOverrideBuilder function

ManifoldEditorOverrideBuilder? resolveEditorOverrideBuilder(
  1. Map<Type, ManifoldEditorOverrideBuilder> overrides,
  2. Type valueType
)

Implementation

ManifoldEditorOverrideBuilder? resolveEditorOverrideBuilder(
  Map<Type, ManifoldEditorOverrideBuilder> overrides,
  Type valueType,
) {
  ManifoldEditorOverrideBuilder? exact = overrides[valueType];
  if (exact != null) {
    return exact;
  }

  String normalizedValueType = normalizeTypeLookup(valueType.toString());
  List<MapEntry<Type, ManifoldEditorOverrideBuilder>> entries = overrides
      .entries
      .toList(growable: false);
  for (int i = entries.length - 1; i >= 0; i--) {
    MapEntry<Type, ManifoldEditorOverrideBuilder> entry = entries[i];
    if (normalizeTypeLookup(entry.key.toString()) == normalizedValueType) {
      return entry.value;
    }
  }

  return null;
}