modify<RET> method

RET modify<RET>(
  1. RET modify()
)

Implementation

RET modify<RET>(RET Function() modify) {
  if (isDirty || _isInModify) {
    try {
      return modify();
    } finally {
      _isDirty = TimeSequence.now();
      onAfterAnyModify();
    }
  }
  _isInModify = true;
  onBeforeModify();
  try {
    return modify();
  } finally {
    _isDirty = TimeSequence.now();
    _isInModify = false;
    onAfterModify();
    onAfterAnyModify();
    _controller.add(ChangeEvent(object: this as T, isDirty: isDirty));
  }
}