Skip to content

Commit 05d2d0d

Browse files
committed
Rename most mapK methods to liftTo
Rename `mapK` methods that take a `KindTransformer` to `liftTo`.
1 parent fbd0c3e commit 05d2d0d

File tree

10 files changed

+113
-64
lines changed

10 files changed

+113
-64
lines changed

build.sbt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,17 @@ lazy val `core-trace` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
225225
"org.scodec" %%% "scodec-bits" % ScodecVersion,
226226
"org.typelevel" %%% "cats-laws" % CatsVersion % Test,
227227
"org.typelevel" %%% "discipline-munit" % MUnitDisciplineVersion % Test,
228-
"org.typelevel" %%% "scalacheck-effect-munit" % MUnitScalaCheckEffectVersion % Test
229-
)
228+
"org.typelevel" %%% "scalacheck-effect-munit" % MUnitScalaCheckEffectVersion % Test,
229+
),
230+
mimaBinaryIssueFilters ++= Seq(
231+
// # 1002
232+
// all of these classes are private (and not serializable), so this is safe
233+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.SpanBuilder$MappedK"),
234+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.SpanOps$MappedK"),
235+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.Tracer$MappedK"),
236+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.TracerBuilder$MappedK"),
237+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.TracerProvider$MappedK"),
238+
),
230239
)
231240

232241
lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform)

core/common/src/main/scala/org/typelevel/otel4s/baggage/BaggageManager.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ trait BaggageManager[F[_]] {
4242
/** @return the current scope's `Baggage` */
4343
def current: F[Baggage]
4444

45-
@deprecated("BaggageManager no longer extends Local. Use `current` instead", since = "0.13.0")
45+
@deprecated("BaggageManager no longer extends Local. Use `current` instead", since = "otel4s 0.13.0")
4646
final def ask[E2 >: Baggage]: F[E2] = applicative.widen(current)
4747

4848
/** @return
@@ -60,22 +60,22 @@ trait BaggageManager[F[_]] {
6060
/** Creates a new scope in which a modified version of the current `Baggage` is used. */
6161
def local[A](modify: Baggage => Baggage)(fa: F[A]): F[A]
6262

63-
@deprecated("BaggageManager no longer extends Local. Reverse parameter list order", since = "0.13.0")
63+
@deprecated("BaggageManager no longer extends Local. Reverse parameter list order", since = "otel4s 0.13.0")
6464
final def local[A](fa: F[A])(modify: Baggage => Baggage): F[A] =
6565
local(modify)(fa)
6666

6767
/** Creates a new scope in which the given `Baggage` is used. */
6868
def scope[A](baggage: Baggage)(fa: F[A]): F[A]
6969

70-
@deprecated("BaggageManager no longer extends Local. Reverse parameter list order", since = "0.13.0")
70+
@deprecated("BaggageManager no longer extends Local. Reverse parameter list order", since = "otel4s 0.13.0")
7171
final def scope[A](fa: F[A])(baggage: Baggage): F[A] =
7272
scope(baggage)(fa)
7373
}
7474

7575
object BaggageManager {
7676
def apply[F[_]](implicit ev: BaggageManager[F]): BaggageManager[F] = ev
7777

78-
@deprecated("BaggageManager no longer extends Local", since = "0.13.0")
78+
@deprecated("BaggageManager no longer extends Local", since = "otel4s 0.13.0")
7979
implicit def asExplicitLocal[F[_]](bm: BaggageManager[F]): Local[F, Baggage] =
8080
new Local[F, Baggage] {
8181
def applicative: Applicative[F] = bm.applicative

core/common/src/main/scala/org/typelevel/otel4s/meta/InstrumentMeta.scala

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,11 @@ object InstrumentMeta {
4343

4444
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
4545
*/
46-
def mapK[G[_]: Monad](implicit kt: KindTransformer[F, G]): InstrumentMeta.Dynamic[G] =
46+
def liftTo[G[_]: Monad](implicit kt: KindTransformer[F, G]): InstrumentMeta.Dynamic[G] =
4747
mapK(kt.liftK)
48+
49+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
50+
def mapK[G[_]: Monad](implicit kt: KindTransformer[F, G]): InstrumentMeta.Dynamic[G] = liftTo[G]
4851
}
4952

5053
object Dynamic {
@@ -93,8 +96,11 @@ object InstrumentMeta {
9396

9497
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
9598
*/
96-
def mapK[G[_]](implicit kt: KindTransformer[F, G]): InstrumentMeta.Static[G] =
99+
def liftTo[G[_]](implicit kt: KindTransformer[F, G]): InstrumentMeta.Static[G] =
97100
mapK(kt.liftK)
101+
102+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
103+
def mapK[G[_]](implicit kt: KindTransformer[F, G]): InstrumentMeta.Static[G] = liftTo[G]
98104
}
99105

100106
object Static {

core/trace/src/main/scala/org/typelevel/otel4s/trace/Span.scala

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,11 @@ trait Span[F[_]] extends SpanMacro[F] {
111111

112112
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
113113
*/
114-
final def mapK[G[_]](implicit kt: KindTransformer[F, G]): Span[G] =
114+
final def liftTo[G[_]](implicit kt: KindTransformer[F, G]): Span[G] =
115115
mapK(kt.liftK)
116+
117+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
118+
final def mapK[G[_]](implicit kt: KindTransformer[F, G]): Span[G] = liftTo[G]
116119
}
117120

118121
object Span {
@@ -156,8 +159,11 @@ object Span {
156159

157160
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
158161
*/
159-
final def mapK[G[_]](implicit kt: KindTransformer[F, G]): Backend[G] =
162+
final def liftTo[G[_]](implicit kt: KindTransformer[F, G]): Backend[G] =
160163
mapK(kt.liftK)
164+
165+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
166+
final def mapK[G[_]](implicit kt: KindTransformer[F, G]): Backend[G] = liftTo[G]
161167
}
162168

163169
object Backend {
@@ -204,7 +210,7 @@ object Span {
204210
def end(timestamp: FiniteDuration): F[Unit] = unit
205211
}
206212

207-
/** Implementation for [[Backend.mapK]]. */
213+
/** Implementation for [[Backend.liftTo]]. */
208214
private class MappedK[F[_], G[_]](backend: Backend[F])(f: F ~> G) extends Backend[G] {
209215
val meta: InstrumentMeta.Static[G] =
210216
backend.meta.mapK(f)

core/trace/src/main/scala/org/typelevel/otel4s/trace/SpanBuilder.scala

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,17 @@ trait SpanBuilder[F[_]] extends SpanBuilderMacro[F] {
5252

5353
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
5454
*/
55-
def mapK[G[_]: MonadCancelThrow](implicit
55+
def liftTo[G[_]: MonadCancelThrow](implicit
5656
F: MonadCancelThrow[F],
5757
kt: KindTransformer[F, G]
5858
): SpanBuilder[G] =
59-
new SpanBuilder.MappedK(this)
59+
new SpanBuilder.Lifted(this)
60+
61+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
62+
def mapK[G[_]: MonadCancelThrow](implicit
63+
F: MonadCancelThrow[F],
64+
kt: KindTransformer[F, G]
65+
): SpanBuilder[G] = liftTo[G]
6066
}
6167

6268
object SpanBuilder {
@@ -248,18 +254,16 @@ object SpanBuilder {
248254
}
249255
}
250256

251-
/** Implementation for [[SpanBuilder.mapK]]. */
252-
private class MappedK[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
257+
/** Implementation for [[SpanBuilder.liftTo]]. */
258+
private class Lifted[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
253259
builder: SpanBuilder[F]
254260
)(implicit kt: KindTransformer[F, G])
255261
extends SpanBuilder[G] {
256262
val meta: InstrumentMeta.Dynamic[G] =
257-
builder.meta.mapK[G]
258-
263+
builder.meta.liftTo[G]
259264
def modifyState(f: State => State): SpanBuilder[G] =
260-
builder.modifyState(f).mapK[G]
261-
265+
builder.modifyState(f).liftTo[G]
262266
def build: SpanOps[G] =
263-
builder.build.mapK[G]
267+
builder.build.liftTo[G]
264268
}
265269
}

core/trace/src/main/scala/org/typelevel/otel4s/trace/SpanOps.scala

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,17 @@ trait SpanOps[F[_]] {
244244

245245
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
246246
*/
247-
def mapK[G[_]: MonadCancelThrow](implicit
247+
def liftTo[G[_]: MonadCancelThrow](implicit
248248
F: MonadCancelThrow[F],
249249
kt: KindTransformer[F, G]
250250
): SpanOps[G] =
251-
new SpanOps.MappedK(this)
251+
new SpanOps.Lifted(this)
252+
253+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
254+
def mapK[G[_]: MonadCancelThrow](implicit
255+
F: MonadCancelThrow[F],
256+
kt: KindTransformer[F, G]
257+
): SpanOps[G] = liftTo[G]
252258
}
253259

254260
object SpanOps {
@@ -284,8 +290,11 @@ object SpanOps {
284290

285291
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
286292
*/
287-
def mapK[G[_]](implicit kt: KindTransformer[F, G]): Res[G] =
288-
Res(span.mapK[G], kt.liftFunctionK(trace))
293+
def liftTo[G[_]](implicit kt: KindTransformer[F, G]): Res[G] =
294+
Res(span.liftTo[G], kt.liftFunctionK(trace))
295+
296+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
297+
def mapK[G[_]](implicit kt: KindTransformer[F, G]): Res[G] = liftTo[G]
289298
}
290299

291300
object Res {
@@ -301,20 +310,17 @@ object SpanOps {
301310
Some((res.span, res.trace))
302311
}
303312

304-
/** Implementation for [[SpanOps.mapK]]. */
305-
private class MappedK[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
313+
/** Implementation for [[SpanOps.liftTo]]. */
314+
private class Lifted[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
306315
ops: SpanOps[F]
307316
)(implicit kt: KindTransformer[F, G])
308317
extends SpanOps[G] {
309318
def startUnmanaged: G[Span[G]] =
310-
kt.liftK(ops.startUnmanaged).map(_.mapK[G])
311-
319+
kt.liftK(ops.startUnmanaged).map(_.liftTo[G])
312320
def resource: Resource[G, Res[G]] =
313-
ops.resource.mapK(kt.liftK).map(res => res.mapK[G])
314-
321+
ops.resource.mapK(kt.liftK).map(res => res.liftTo[G])
315322
def use[A](f: Span[G] => G[A]): G[A] =
316323
resource.use { res => res.trace(f(res.span)) }
317-
318324
def use_ : G[Unit] = kt.liftK(ops.use_)
319325
}
320326
}

core/trace/src/main/scala/org/typelevel/otel4s/trace/Tracer.scala

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,17 @@ trait Tracer[F[_]] extends TracerMacro[F] {
199199

200200
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
201201
*/
202-
def mapK[G[_]: MonadCancelThrow](implicit
202+
def liftTo[G[_]: MonadCancelThrow](implicit
203203
F: MonadCancelThrow[F],
204204
kt: KindTransformer[F, G]
205205
): Tracer[G] =
206-
new Tracer.MappedK(this)
206+
new Tracer.Lifted(this)
207+
208+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
209+
def mapK[G[_]: MonadCancelThrow](implicit
210+
F: MonadCancelThrow[F],
211+
kt: KindTransformer[F, G]
212+
): Tracer[G] = liftTo[G]
207213
}
208214

209215
object Tracer {
@@ -239,20 +245,20 @@ object Tracer {
239245
Applicative[F].pure(carrier)
240246
}
241247

242-
/** Implementation for [[Tracer.mapK]]. */
243-
private class MappedK[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
248+
/** Implementation for [[Tracer.liftTo]]. */
249+
private class Lifted[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
244250
tracer: Tracer[F]
245251
)(implicit kt: KindTransformer[F, G])
246252
extends Tracer[G] {
247-
val meta: InstrumentMeta.Dynamic[G] = tracer.meta.mapK[G]
253+
val meta: InstrumentMeta.Dynamic[G] = tracer.meta.liftTo[G]
248254
def currentSpanContext: G[Option[SpanContext]] =
249255
kt.liftK(tracer.currentSpanContext)
250256
def currentSpanOrNoop: G[Span[G]] =
251-
kt.liftK(tracer.currentSpanOrNoop.map(_.mapK[G]))
257+
kt.liftK(tracer.currentSpanOrNoop.map(_.liftTo[G]))
252258
def currentSpanOrThrow: G[Span[G]] =
253-
kt.liftK(tracer.currentSpanOrThrow.map(_.mapK[G]))
259+
kt.liftK(tracer.currentSpanOrThrow.map(_.liftTo[G]))
254260
def spanBuilder(name: String): SpanBuilder[G] =
255-
tracer.spanBuilder(name).mapK[G]
261+
tracer.spanBuilder(name).liftTo[G]
256262
def childScope[A](parent: SpanContext)(ga: G[A]): G[A] =
257263
kt.limitedMapK(ga)(new (F ~> F) {
258264
def apply[B](fb: F[B]): F[B] = tracer.childScope(parent)(fb)

core/trace/src/main/scala/org/typelevel/otel4s/trace/TracerBuilder.scala

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,17 @@ trait TracerBuilder[F[_]] {
4343

4444
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
4545
*/
46-
def mapK[G[_]: MonadCancelThrow](implicit
46+
def liftTo[G[_]: MonadCancelThrow](implicit
4747
F: MonadCancelThrow[F],
4848
kt: KindTransformer[F, G]
4949
): TracerBuilder[G] =
50-
new TracerBuilder.MappedK(this)
50+
new TracerBuilder.Lifted(this)
51+
52+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
53+
def mapK[G[_]: MonadCancelThrow](implicit
54+
F: MonadCancelThrow[F],
55+
kt: KindTransformer[F, G]
56+
): TracerBuilder[G] = liftTo[G]
5157
}
5258

5359
object TracerBuilder {
@@ -66,16 +72,16 @@ object TracerBuilder {
6672
def get: F[Tracer[F]] = F.pure(Tracer.noop)
6773
}
6874

69-
private class MappedK[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
75+
private class Lifted[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
7076
builder: TracerBuilder[F]
7177
)(implicit
7278
kt: KindTransformer[F, G]
7379
) extends TracerBuilder[G] {
7480
def withVersion(version: String): TracerBuilder[G] =
75-
new MappedK(builder.withVersion(version))
81+
new Lifted(builder.withVersion(version))
7682
def withSchemaUrl(schemaUrl: String): TracerBuilder[G] =
77-
new MappedK(builder.withSchemaUrl(schemaUrl))
83+
new Lifted(builder.withSchemaUrl(schemaUrl))
7884
def get: G[Tracer[G]] =
79-
kt.liftK(builder.get.map(_.mapK[G]))
85+
kt.liftK(builder.get.map(_.liftTo[G]))
8086
}
8187
}

core/trace/src/main/scala/org/typelevel/otel4s/trace/TracerProvider.scala

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,17 @@ trait TracerProvider[F[_]] {
6060

6161
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
6262
*/
63-
def mapK[G[_]: MonadCancelThrow](implicit
63+
def liftTo[G[_]: MonadCancelThrow](implicit
6464
F: MonadCancelThrow[F],
6565
kt: KindTransformer[F, G]
6666
): TracerProvider[G] =
67-
new TracerProvider.MappedK(this)
67+
new TracerProvider.Lifted(this)
68+
69+
@deprecated("use `liftTo` instead", since = "otel4s 0.13.1")
70+
def mapK[G[_]: MonadCancelThrow](implicit
71+
F: MonadCancelThrow[F],
72+
kt: KindTransformer[F, G]
73+
): TracerProvider[G] = liftTo[G]
6874
}
6975

7076
object TracerProvider {
@@ -86,13 +92,13 @@ object TracerProvider {
8692
"TracerProvider.Noop"
8793
}
8894

89-
private class MappedK[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
95+
private class Lifted[F[_]: MonadCancelThrow, G[_]: MonadCancelThrow](
9096
provider: TracerProvider[F]
9197
)(implicit kt: KindTransformer[F, G])
9298
extends TracerProvider[G] {
9399
override def get(name: String): G[Tracer[G]] =
94-
kt.liftK(provider.get(name).map(_.mapK[G]))
100+
kt.liftK(provider.get(name).map(_.liftTo[G]))
95101
def tracer(name: String): TracerBuilder[G] =
96-
provider.tracer(name).mapK[G]
102+
provider.tracer(name).liftTo[G]
97103
}
98104
}

0 commit comments

Comments
 (0)