feat: добавить адаптеры Color и IconData для Hive
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hive_ce/hive.dart';
|
||||
|
||||
/// Кастомный адаптер для сериализации Color в Hive
|
||||
/// Преобразует Color в int и обратно для хранения в базе данных
|
||||
class ColorAdapter extends TypeAdapter<Color> {
|
||||
@override
|
||||
final int typeId = 100; // Уникальный ID для этого адаптера
|
||||
|
||||
@override
|
||||
Color read(BinaryReader reader) {
|
||||
// Читаем int значение и создаем Color
|
||||
final colorValue = reader.readInt();
|
||||
return Color(colorValue);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, Color obj) {
|
||||
// Записываем значение цвета как int
|
||||
writer.writeInt(obj.value);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hive_ce/hive.dart';
|
||||
|
||||
/// Кастомный адаптер для сериализации IconData в Hive
|
||||
/// Преобразует IconData в int (codePoint) и обратно
|
||||
class IconDataAdapter extends TypeAdapter<IconData> {
|
||||
@override
|
||||
final int typeId = 101; // Уникальный ID для этого адаптера
|
||||
|
||||
@override
|
||||
IconData read(BinaryReader reader) {
|
||||
// Читаем codePoint и создаем IconData
|
||||
final codePoint = reader.readInt();
|
||||
return IconData(codePoint, fontFamily: 'MaterialIcons');
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, IconData obj) {
|
||||
// Записываем codePoint иконки
|
||||
writer.writeInt(obj.codePoint);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hive_ce/hive.dart';
|
||||
import '../../utils/id_generator.dart';
|
||||
import '../utils/id_generator.dart';
|
||||
|
||||
part 'category.g.dart';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user