public IUniTaskAsyncEnumerable<AsyncUnit> OnSignInButtonClickedAsync => signInButton.OnClickAsAsyncEnumerable();
public IUniTaskAsyncEnumerable<string> OnIdInputFieldEditAsync => idInputField.OnValueChangedAsAsyncEnumerable();
public IUniTaskAsyncEnumerable<string> OnPasswordInputFieldEditAsync => passwordInputField.OnValueChangedAsAsyncEnumerable();
Expose events using IUniTaskAsyncEnumerable.
Using IUniTaskAsyncEnumerable has the advantage of making your code easier to process and more readable, such as processing input through an input buffer or ignoring duplicate inputs while they are being processed.
These will be used by the Liftcycle (presenter) side.