Files
immich/mobile-v2/lib/domain/utils/store_converters.dart
T
2025-02-26 08:58:19 +05:30

34 lines
771 B
Dart

import 'package:immich_mobile/domain/interfaces/store.interface.dart';
class StoreEnumConverter<T extends Enum> extends IStoreConverter<T, int> {
const StoreEnumConverter(this.values);
final List<T> values;
@override
T? fromPrimitive(int value) => values.elementAtOrNull(value);
@override
int toPrimitive(T value) => value.index;
}
class StoreBooleanConverter extends IStoreConverter<bool, int> {
const StoreBooleanConverter();
@override
bool fromPrimitive(int value) => value != 0;
@override
int toPrimitive(bool value) => value ? 1 : 0;
}
class StorePrimitiveConverter<T> extends IStoreConverter<T, T> {
const StorePrimitiveConverter();
@override
T fromPrimitive(T value) => value;
@override
T toPrimitive(T value) => value;
}