package gs.predicate.v0.json import cats.effect.std.MapRef import io.circe.Json /** Provides keys and JSON values, given some in-memory map. * * @param map * The underlying map. */ final class MemoryMapJsonProvider[F[_]]( private val map: MapRef[F, String, Option[Json]] ) extends JsonProvider[F]: /** @inheritDocs */ override def get(key: String): F[Option[Json]] = map.apply(key).get end MemoryMapJsonProvider