Skip to content

Instantly share code, notes, and snippets.

View njlr's full-sized avatar
🌏
F# ing

njlr njlr

🌏
F# ing
View GitHub Profile
public boolean isComplete() {
return dependencies.entrySet()
.stream()
.allMatch(entry -> {
final RecipeVersion recipeVersion = entry.getValue().getValue1();
return recipeVersion.dependencies.map(dependencyGroup -> dependencyGroup.dependencies.entrySet()
.stream()
.allMatch(x -> dependencies.containsKey(x.getKey()) &&
x.getValue().isSatisfiedBy(dependencies.get(x.getKey()).getValue0())))
.orElse(true);
@Override
public ObservableSource<C> apply(final Observable<A> x) {
Objects.requireNonNull(x, "x is null");
return Observable.create(new ObservableOnSubscribe<C>() {
transient volatile Optional<A> last = Optional.empty();
private void sendPrevious(@NonNull final ObservableEmitter<C> e) {
if (last.isPresent()) {
e.onNext(last.get());
@njlr
njlr / example.java
Created July 4, 2017 10:49
observable-observable-progress-bars
package com.loopperfect.buckaroo;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
import com.loopperfect.buckaroo.virtualterminal.TerminalBuffer;
import com.loopperfect.buckaroo.virtualterminal.components.Component;
import com.loopperfect.buckaroo.virtualterminal.components.ProgressBar;
import com.loopperfect.buckaroo.virtualterminal.components.StackLayout;
import com.loopperfect.buckaroo.virtualterminal.components.Text;
import io.reactivex.Observable;
A v1 requires B v1
A v1 requires C v2
B v1 requires C v1–3
A v1
B v1
C v2
A requires B
A requires C
B requires D
C requires D
buckaroo install boost/asio
auto progressbar = rx::observable<>::from(
rxcpp::interval(std::chrono::milliseconds(250))
.take_until([](auto x) { return x > 100; })
.map([](auto x) { return x / 100.0;})
.map(Progressbar);
auto app = rx::observable<>::zipWith(
rx::observable<>::just<Text>("progressbar example"),
progressbar,
stackLayout);
curl http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 > /dev/null
// Pseudo-code
function updateProgressBar() {
 print (eraseCharEscapeCode * lastProgressBarLength);
 print (‘#’ * progressBarLength);
lastProgressBarLength = progressBarLength;
}