add method
- T value, {
- int? parentId,
Add in Box<T>
Return T? [addedValue]
parentId ?? JsonDBAdapter.getParentId(T value)
abstract class JsonDBAdapter<T>
int getParentId(T value) => -1; <--- Need To Override
Implementation
Future<T?> add(T value, {int? parentId}) async {
final id = _indexedDB.generateNextId();
final map = _adapter.toMap(value);
map['id'] = id;
final (record, bool) = await _indexedDB.db.addRecord(
JsonRecord(
id: id,
jsonBytes: _adapter.encodeData(map),
adapterTypeId: _adapter.getUniqueFieldId,
parentId: parentId ?? _adapter.getParentId(value),
),
);
return bool ? _adapter.fromMap(map) : null;
}