package io.gitlab.jfronny.muscript.data.dynamic.lens; import io.gitlab.jfronny.muscript.ast.Expr; import io.gitlab.jfronny.muscript.data.dynamic.*; import java.util.Objects; import java.util.function.Function; import java.util.function.Supplier; public final class DCallableLens extends DLens implements DCallable { private final Supplier> value; public DCallableLens(Dynamic source, Supplier> value) { super(source); this.value = Objects.requireNonNull(value); } @Override public Function getValue() { return value.get(); } @Override public Expr toExpr() { return source.toExpr(); } }