add method

void add(
  1. T o
)

Implementation

void add(T o) {
  if (isNull) {
    set([o]);
    return;
  }

  var ids = _ids;

  if (isEntitiesSet) {
    var entities = _entities!;
    entities.add(o);
    if (ids != null) {
      var id = _getEntityID(o);
      ids.add(id);
      assert(entities.length == ids.length);
    }
  } else if (isIDsSet) {
    var id = _getEntityID(o);
    ids!.add(id);

    if (ids.length == 1) {
      _entities = <T?>[o];
    } else {
      var entities =
          _entities = List<T?>.filled(ids.length, null, growable: true);

      entities[ids.lastIndex] = o;
    }

    assert(ids.length == _entities!.length);
  }
}