Skip to content

Commit 272e681

Browse files
committed
Rename most mapK methods to liftTo
Rename `mapK` methods that take a `KindTransformer` to `liftTo`.
1 parent e103efc commit 272e681

File tree

14 files changed

+134
-85
lines changed

14 files changed

+134
-85
lines changed

build.sbt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,17 @@ lazy val `core-trace` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
248248
"org.scodec" %%% "scodec-bits" % ScodecVersion,
249249
"org.typelevel" %%% "cats-laws" % CatsVersion % Test,
250250
"org.typelevel" %%% "discipline-munit" % MUnitDisciplineVersion % Test,
251-
"org.typelevel" %%% "scalacheck-effect-munit" % MUnitScalaCheckEffectVersion % Test
252-
)
251+
"org.typelevel" %%% "scalacheck-effect-munit" % MUnitScalaCheckEffectVersion % Test,
252+
),
253+
mimaBinaryIssueFilters ++= Seq(
254+
// # 1002
255+
// all of these classes are private (and not serializable), so this is safe
256+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.SpanBuilder$MappedK"),
257+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.SpanOps$MappedK"),
258+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.Tracer$MappedK"),
259+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.TracerBuilder$MappedK"),
260+
ProblemFilters.exclude[MissingClassProblem]("org.typelevel.otel4s.trace.TracerProvider$MappedK"),
261+
),
253262
)
254263

255264
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.14.0")
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.14.0")
103+
def mapK[G[_]](implicit kt: KindTransformer[F, G]): InstrumentMeta.Static[G] = liftTo[G]
98104
}
99105

100106
object Static {

core/logs/src/main/scala/org/typelevel/otel4s/logs/LogRecordBuilder.scala

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ trait LogRecordBuilder[F[_], Ctx] {
148148

149149
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
150150
*/
151-
def mapK[G[_]](implicit G: Monad[G], kt: KindTransformer[F, G]): LogRecordBuilder[G, Ctx] =
151+
def liftTo[G[_]](implicit G: Monad[G], kt: KindTransformer[F, G]): LogRecordBuilder[G, Ctx] =
152152
new LogRecordBuilder.MappedK(this)
153153

154154
}
@@ -181,40 +181,40 @@ object LogRecordBuilder {
181181
val meta: InstrumentMeta.Dynamic[G] = builder.meta.mapK[G]
182182

183183
def withTimestamp(timestamp: FiniteDuration): LogRecordBuilder[G, Ctx] =
184-
builder.withTimestamp(timestamp).mapK
184+
builder.withTimestamp(timestamp).liftTo
185185

186186
def withTimestamp(timestamp: Instant): LogRecordBuilder[G, Ctx] =
187-
builder.withTimestamp(timestamp).mapK
187+
builder.withTimestamp(timestamp).liftTo
188188

189189
def withObservedTimestamp(timestamp: FiniteDuration): LogRecordBuilder[G, Ctx] =
190-
builder.withObservedTimestamp(timestamp).mapK
190+
builder.withObservedTimestamp(timestamp).liftTo
191191

192192
def withObservedTimestamp(timestamp: Instant): LogRecordBuilder[G, Ctx] =
193-
builder.withObservedTimestamp(timestamp).mapK
193+
builder.withObservedTimestamp(timestamp).liftTo
194194

195195
def withContext(context: Ctx): LogRecordBuilder[G, Ctx] =
196-
builder.withContext(context).mapK
196+
builder.withContext(context).liftTo
197197

198198
def withSeverity(severity: Severity): LogRecordBuilder[G, Ctx] =
199-
builder.withSeverity(severity).mapK
199+
builder.withSeverity(severity).liftTo
200200

201201
def withSeverityText(severityText: String): LogRecordBuilder[G, Ctx] =
202-
builder.withSeverityText(severityText).mapK
202+
builder.withSeverityText(severityText).liftTo
203203

204204
def withBody(body: AnyValue): LogRecordBuilder[G, Ctx] =
205-
builder.withBody(body).mapK
205+
builder.withBody(body).liftTo
206206

207207
def withEventName(eventName: String): LogRecordBuilder[G, Ctx] =
208-
builder.withEventName(eventName).mapK
208+
builder.withEventName(eventName).liftTo
209209

210210
def addAttribute[A](attribute: Attribute[A]): LogRecordBuilder[G, Ctx] =
211-
builder.addAttribute(attribute).mapK
211+
builder.addAttribute(attribute).liftTo
212212

213213
def addAttributes(attributes: Attribute[_]*): LogRecordBuilder[G, Ctx] =
214-
builder.addAttributes(attributes).mapK
214+
builder.addAttributes(attributes).liftTo
215215

216216
def addAttributes(attributes: immutable.Iterable[Attribute[_]]): LogRecordBuilder[G, Ctx] =
217-
builder.addAttributes(attributes).mapK
217+
builder.addAttributes(attributes).liftTo
218218

219219
def emit: G[Unit] =
220220
kt.liftK(builder.emit)

core/logs/src/main/scala/org/typelevel/otel4s/logs/Logger.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ trait Logger[F[_], Ctx] {
4646

4747
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
4848
*/
49-
def mapK[G[_]: Monad](implicit kt: KindTransformer[F, G]): Logger[G, Ctx] =
49+
def liftTo[G[_]: Monad](implicit kt: KindTransformer[F, G]): Logger[G, Ctx] =
5050
new Logger.MappedK(this)
5151
}
5252

@@ -66,13 +66,13 @@ object Logger {
6666
val logRecordBuilder: LogRecordBuilder[F, Ctx] = LogRecordBuilder.noop[F, Ctx]
6767
}
6868

69-
/** Implementation for [[Logger.mapK]]. */
69+
/** Implementation for [[Logger.liftTo]]. */
7070
private class MappedK[F[_], G[_]: Monad, Ctx](
7171
logger: Logger[F, Ctx]
7272
)(implicit kt: KindTransformer[F, G])
7373
extends Logger[G, Ctx] {
7474
val meta: InstrumentMeta.Dynamic[G] = logger.meta.mapK[G]
75-
def logRecordBuilder: LogRecordBuilder[G, Ctx] = logger.logRecordBuilder.mapK
75+
def logRecordBuilder: LogRecordBuilder[G, Ctx] = logger.logRecordBuilder.liftTo
7676
}
7777

7878
object Implicits {

core/logs/src/main/scala/org/typelevel/otel4s/logs/LoggerBuilder.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ trait LoggerBuilder[F[_], Ctx] {
4949

5050
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
5151
*/
52-
def mapK[G[_]](implicit F: Functor[F], G: Monad[G], kt: KindTransformer[F, G]): LoggerBuilder[G, Ctx] =
52+
def liftTo[G[_]](implicit F: Functor[F], G: Monad[G], kt: KindTransformer[F, G]): LoggerBuilder[G, Ctx] =
5353
new LoggerBuilder.MappedK(this)
5454
}
5555

@@ -78,6 +78,6 @@ object LoggerBuilder {
7878
def withSchemaUrl(schemaUrl: String): LoggerBuilder[G, Ctx] =
7979
new MappedK(builder.withSchemaUrl(schemaUrl))
8080
def get: G[Logger[G, Ctx]] =
81-
kt.liftK(builder.get.map(_.mapK[G]))
81+
kt.liftK(builder.get.map(_.liftTo[G]))
8282
}
8383
}

core/logs/src/main/scala/org/typelevel/otel4s/logs/LoggerProvider.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ trait LoggerProvider[F[_], Ctx] {
6464

6565
/** Modify the context `F` using an implicit [[KindTransformer]] from `F` to `G`.
6666
*/
67-
def mapK[G[_]](implicit F: Functor[F], G: Monad[G], kt: KindTransformer[F, G]): LoggerProvider[G, Ctx] =
67+
def liftTo[G[_]](implicit F: Functor[F], G: Monad[G], kt: KindTransformer[F, G]): LoggerProvider[G, Ctx] =
6868
new LoggerProvider.MappedK(this)
6969
}
7070

@@ -92,8 +92,8 @@ object LoggerProvider {
9292
)(implicit kt: KindTransformer[F, G])
9393
extends LoggerProvider[G, Ctx] {
9494
override def get(name: String): G[Logger[G, Ctx]] =
95-
kt.liftK(provider.get(name).map(_.mapK[G]))
95+
kt.liftK(provider.get(name).map(_.liftTo[G]))
9696
def logger(name: String): LoggerBuilder[G, Ctx] =
97-
provider.logger(name).mapK[G]
97+
provider.logger(name).liftTo[G]
9898
}
9999
}

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.14.0")
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.14.0")
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.14.0")
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.14.0")
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.14.0")
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
}

0 commit comments

Comments
 (0)