Skip to content

Commit dc42e20

Browse files
committed
Add int variation to mtl client.
1 parent d42c9d8 commit dc42e20

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

mtl/src/main/scala/org.typelevel/catapult/mtl/LaunchDarklyMTLClient.scala

+19-12
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ trait LaunchDarklyMTLClient[F[_]] {
5555
* @return the flag value, suspended in the `F` effect. If evaluation fails for any reason, or the evaluated value cannot be represented as type Int, returns the default value.
5656
* @see [[https://javadoc.io/doc/com.launchdarkly/launchdarkly-java-server-sdk/latest/com/launchdarkly/sdk/server/interfaces/LDClientInterface.html#intVariation(java.lang.String,com.launchdarkly.sdk.LDContext,int) LDClientInterface#intVariation]]
5757
*/
58+
def intVariation(featureKey: String, defaultValue: Int): F[Int]
5859

5960
/** @param featureKey the key of the flag to be evaluated
6061
* @param defaultValue the value to use if evaluation fails for any reason
@@ -113,46 +114,52 @@ object LaunchDarklyMTLClient {
113114
launchDarklyClient: LaunchDarklyClient[F]
114115
)(implicit F: Monad[F], contextAsk: Ask[F, LDContext]): LaunchDarklyMTLClient[F] =
115116
new LaunchDarklyMTLClient[F] {
116-
def flush: F[Unit] = launchDarklyClient.flush
117+
override def flush: F[Unit] = launchDarklyClient.flush
117118

118-
def boolVariation(featureKey: String, defaultValue: Boolean): F[Boolean] =
119+
override def boolVariation(featureKey: String, defaultValue: Boolean): F[Boolean] =
119120
contextAsk.ask.flatMap(launchDarklyClient.boolVariation(featureKey, _, defaultValue))
120121

121-
def doubleVariation(featureKey: String, defaultValue: Double): F[Double] =
122+
override def intVariation(featureKey: String, defaultValue: Int): F[Int] =
123+
contextAsk.ask.flatMap(launchDarklyClient.intVariation(featureKey, _, defaultValue))
124+
125+
override def doubleVariation(featureKey: String, defaultValue: Double): F[Double] =
122126
contextAsk.ask.flatMap(launchDarklyClient.doubleVariation(featureKey, _, defaultValue))
123127

124-
def jsonValueVariation(
128+
override def jsonValueVariation(
125129
featureKey: String,
126130
defaultValue: com.launchdarkly.sdk.LDValue,
127131
): F[com.launchdarkly.sdk.LDValue] =
128132
contextAsk.ask.flatMap(launchDarklyClient.jsonValueVariation(featureKey, _, defaultValue))
129133

130-
def stringVariation(featureKey: String, defaultValue: String): F[String] =
134+
override def stringVariation(featureKey: String, defaultValue: String): F[String] =
131135
contextAsk.ask.flatMap(launchDarklyClient.stringVariation(featureKey, _, defaultValue))
132136

133-
def trackFlagValueChanges(
137+
override def trackFlagValueChanges(
134138
featureKey: String
135139
): fs2.Stream[F, com.launchdarkly.sdk.server.interfaces.FlagValueChangeEvent] =
136140
Stream.eval(contextAsk.ask).flatMap(launchDarklyClient.trackFlagValueChanges(featureKey, _))
137141
}
138142

139143
def mapK[F[_], G[_]](ldc: LaunchDarklyMTLClient[F])(fk: F ~> G): LaunchDarklyMTLClient[G] =
140144
new LaunchDarklyMTLClient[G] {
141-
def boolVariation(featureKey: String, defaultValue: Boolean): G[Boolean] =
145+
override def boolVariation(featureKey: String, defaultValue: Boolean): G[Boolean] =
142146
fk(ldc.boolVariation(featureKey, defaultValue))
143147

144-
def stringVariation(featureKey: String, defaultValue: String): G[String] =
148+
override def stringVariation(featureKey: String, defaultValue: String): G[String] =
145149
fk(ldc.stringVariation(featureKey, defaultValue))
146150

147-
def doubleVariation(featureKey: String, defaultValue: Double): G[Double] =
151+
override def intVariation(featureKey: String, defaultValue: Int): G[Int] =
152+
fk(ldc.intVariation(featureKey, defaultValue))
153+
154+
override def doubleVariation(featureKey: String, defaultValue: Double): G[Double] =
148155
fk(ldc.doubleVariation(featureKey, defaultValue))
149156

150-
def jsonValueVariation(featureKey: String, defaultValue: LDValue): G[LDValue] =
157+
override def jsonValueVariation(featureKey: String, defaultValue: LDValue): G[LDValue] =
151158
fk(ldc.jsonValueVariation(featureKey, defaultValue))
152159

153-
def trackFlagValueChanges(featureKey: String): Stream[G, FlagValueChangeEvent] =
160+
override def trackFlagValueChanges(featureKey: String): Stream[G, FlagValueChangeEvent] =
154161
ldc.trackFlagValueChanges(featureKey).translate(fk)
155162

156-
def flush: G[Unit] = fk(ldc.flush)
163+
override def flush: G[Unit] = fk(ldc.flush)
157164
}
158165
}

0 commit comments

Comments
 (0)