private Diffuser()

in jvm/diffuser/src/main/java/com/spotify/diffuser/diffuser/Diffuser.java [51:62]


  private Diffuser(DidChange<A> didChange, Effect<A> sideEffect) {
    final AtomicReference<A> cache = new AtomicReference<>();

    this.effect =
        value -> {
          A cachedValue = cache.get();
          if (cachedValue == null || didChange.test(cachedValue, value)) {
            sideEffect.run(value);
          }
          cache.set(value);
        };
  }