add method

  1. @override
Future<T?> add(
  1. T value
)

Add Single

Implementation

@override
Future<T?> add(T value) async {
  final id = _indexDB.getGeneratedId;
  // print('add id: $id');
  try {
    // map['autoId'] = id;
    final map = _adapter.toMap(value);
    final newValue = _adapter.fromMap(_adapter.setAutoId(map, id));
    final jsonData = _adapter.encodeRecord(_adapter.toJson(newValue));
    await _indexDB.addRecord(
      id: id,
      jsonData: jsonData,
      uniqueFieldId: _adapter.getUniqueFieldId(),
    );
    // event
    notify(TBEventType.add, id, _adapter.getUniqueFieldId());

    return newValue;
  } catch (e) {
    notify(
      TBEventType.add,
      id,
      _adapter.getUniqueFieldId(),
      errorMessage: e.toString(),
    );
    return null;
  }
}