using System; using EcsRx.MicroRx.Observers; /* * This code was taken from UniRx project by neuecc * https://github.com/neuecc/UniRx */ namespace EcsRx.MicroRx.Extensions { public static class IObservableExtensions { public static IDisposable Subscribe(this IObservable source, Action onNext) { return source.Subscribe(CreateSubscribeObserver(onNext, Stubs.Throw, Stubs.Nop)); } internal static IObserver CreateSubscribeObserver(Action onNext, Action onError, Action onCompleted) { // need compare for avoid iOS AOT if (onNext == Stubs.Ignore) { return new StubbedSubscribeObserver(onError, onCompleted); } return new SubscribeObserver(onNext, onError, onCompleted); } } }