8000 remove some implicits by cquiroz · Pull Request #1109 · japgolly/scalajs-react · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

remove some implicits #1109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintain 8000 ers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trait JsBaseComponentTemplate[RawComponent[_ <: js.Object] <: js.Any] {
override def root = this
override val raw = rc
override val ctor = c
override implicit def ctorPF = pf
override implicit def ctorPF: Profunctor[CT] = pf
override def mapRaw(f: Raw => Raw) = componentRoot(f(rc), c)(pf)
override def cmapCtorProps[P2](f: P2 => P) = mappedC(this)(f, identityFn, identityFn, pf)
override def mapUnmounted[U2](f: U => U2) = mappedC(this)(identityFn, identityFn, f, pf)
Expand All @@ -68,7 +68,7 @@ trait JsBaseComponentTemplate[RawComponent[_ <: js.Object] <: js.Any] {
override def root = from.root
override val raw = from.raw
override val ctor = mc(from.ctor).dimap(cp, mu)
override implicit def ctorPF = pf
override implicit def ctorPF: Profunctor[CT2] = pf
override def mapRaw(f: Raw => Raw) = mappedC(from.mapRaw(f))(cp, mc, mu, pf)
override def cmapCtorProps[P3](f: P3 => P2) = mappedC(from)(cp compose f, mc, mu, pf)
override def mapUnmounted[U3](f: U2 => U3) = mappedC(from)(cp, mc, f compose mu, pf)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ object JsForwardRef {
override def root = this
override val raw = rc
override val ctor = c
override implicit def ctorPF = pf
override implicit def ctorPF: Profunctor[CT]= pf
override def mapRaw(f: Raw => Raw) = componentRoot(f(rc), c)(pf)
override def cmapCtorProps[P2](f: P2 => P) = mappedC(this)(f, identityFn, identityFn, pf)
override def mapUnmounted[U2](f: U => U2) = mappedC(this)(identityFn, identityFn, f, pf)
Expand Down Expand Up @@ -113,7 +113,7 @@ object JsForwardRef {
override def root = from.root
override val raw = from.raw
override val ctor = mc(from.ctor).dimap(cp, mu)
override implicit def ctorPF = pf
override implicit def ctorPF: Profunctor[CT2] = pf
override def mapRaw(f: Raw => Raw) = mappedC(from.mapRaw(f))(cp, mc, mu, pf)
override def cmapCtorProps[P3](f: P3 => P2) = mappedC(from)(cp compose f, mc, mu, pf)
override def mapUnmounted[U3](f: U2 => U3) = mappedC(from)(cp, mc, f compose mu, pf)
Expand Down Expand Up @@ -195,4 +195,4 @@ object JsForwardRef {
override def mapMounted[M3](f: M2 => M3) = mappedU(from)(mp, f compose mm)
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,15 @@ object Scala {
new Template.MountedWithRoot[Id, DefaultA, P, S]()(UnsafeSync.id, DefaultA)
with MountedRoot[Id, DefaultA, P, S, B] {

override implicit def F = UnsafeSync.id
override implicit def A = DefaultA
override def root = this
override val js = x
override val raw = x.raw
override def props = x.props.unbox
override def propsChildren = x.propsChildren
override def state = x.state.unbox
override def getDOMNode = x.getDOMNode
override implicit def F: UnsafeSync[Id] = UnsafeSync.id
override implicit def A: Async[DefaultA] = DefaultA
override def root = this
override val js = x
override val raw = x.raw
override def props = x.props.unbox
override def propsChildren = x.propsChildren
override def state = x.state.unbox
override def getDOMNode = x.getDOMNode

override def setState[G[_]](newState: S, callback: => G[Unit])(implicit G: Dispatch[G]) =
x.setState(Box(newState), callback)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ object Template {
override type WithMappedProps[P3] = Mapped[F, A, P3, S2]
override type WithMappedState[S3] = Mapped[F, A, P2, S3]

override implicit def F = ft
override implicit def A = at
override def getDOMNode = ft.transSync(from.getDOMNode)
override def propsChildren = ft.transSync(from.propsChildren)
override def props = ft.transSync[Id, P2](mp(from.props))
override def state = ft.transSync[Id, S2](ls.get(from.state))
override implicit def F: UnsafeSync[F] = ft
override implicit def A: Async[A] = at
override def getDOMNode = ft.transSync(from.getDOMNode)
override def propsChildren = ft.transSync(from.propsChildren)
override def props = ft.transSync[Id, P2](mp(from.props))
override def state = ft.transSync[Id, S2](ls.get(from.state))

override def forceUpdate[G[_]](callback: => G[Unit])(implicit G: Dispatch[G]) =
ft.transSync(from.forceUpdate(callback))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ trait ImplicitsForVdomAttr extends ImplicitsForVdomAttr1 {

object ImplicitsForTagMod {
final class OptionExt[O[_], A](o: O[A])(implicit O: OptionLike[O]) {
def whenDefined(implicit f: A => TagMod): TagMod =
def whenDefined(f: A => TagMod): TagMod =
O.fold(o, TagMod.empty)(f)
}
}
Expand All @@ -64,11 +64,11 @@ object ImplicitsForVdomNode {
final class TraversableOnceExt[A](private val as: IterableOnce[A]) extends AnyVal {

/** Like `.mkString(String)` in Scala stdlib. */
def mkReactFragment(sep: VdomNode)(implicit f: A => VdomNode): VdomElement =
mkReactFragment(VdomNode.empty, sep, VdomNode.empty)
def mkReactFragment(sep: VdomNode)(f: A => VdomNode): VdomElement =
mkReactFragment(VdomNode.empty, sep, VdomNode.empty)(f)

/** Like `.mkString(String, String, String)` in Scala stdlib. */
def mkReactFragment(start: VdomNode, sep: VdomNode, end: VdomNode)(implicit f: A => VdomNode): VdomElement = {
def mkReactFragment(start: VdomNode, sep: VdomNode, end: VdomNode)(f: A => VdomNode): VdomElement = {
val b = List.newBuilder[VdomNode]
if (start ne VdomNode.empty) b += start
Util.intercalateInto(b, as.iterator.map(f), sep)
Expand All @@ -77,22 +77,22 @@ object ImplicitsForVdomNode {
}

/** Like `.mkString(String)` in Scala stdlib. */
def mkTagMod(sep: TagMod)(implicit f: A => TagMod): TagMod =
mkTagMod(VdomNode.empty, sep, VdomNode.empty)
def mkTagMod(sep: TagMod)(f: A => TagMod): TagMod =
mkTagMod(VdomNode.empty, sep, VdomNode.empty)(f)

/** Like `.mkString(String, String, String)` in Scala stdlib. */
def mkTagMod(start: TagMod, sep: TagMod, end: TagMod)(implicit f: A => TagMod): TagMod = {
def mkTagMod(start: TagMod, sep: TagMod, end: TagMod)(f: A => TagMod): TagMod = {
val b = Vector.newBuilder[TagMod]
if (start ne VdomNode.empty) b += start
Util.intercalateInto(b, as.iterator.map(f), sep)
if (end ne VdomNode.empty) b += end
TagMod.fromTraversableOnce(b.result())
}

def toReactFragment(implicit f: A => VdomNode): VdomElement =
def toReactFragment(f: A => VdomNode): VdomElement =
ReactFragment(as.iterator.map(f).toList: _*)

def toTagMod(implicit f: A => TagMod): TagMod =
def toTagMod(f: A => TagMod): TagMod =
TagMod.fromTraversableOnce(as.iterator.map(f))

def toVdomArray(implicit f: A => VdomNode): VdomArray =
Expand Down Expand Up @@ -137,4 +137,4 @@ object ImplicitsFromRaw {

@inline implicit def vdomNodeFromRawReactNode(e: facade.React.Node): VdomNode =
VdomNode(e)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -103,31 +103,31 @@ object RouterCtlF {
reuse.asInstanceOf[Reusability[RouterCtlF[F, A]]]

final case class Contramap[F[_], A, B](u: RouterCtlF[F, A], f: B => A)(implicit x: Sync[F]) extends RouterCtlF[F, B] {
override protected implicit def F = x
override def baseUrl = u.baseUrl
override def byPath = u.byPath
override def refresh = u.refresh
override def pathFor(b: B) = u pathFor f(b)
override def set(b: B, v: SetRouteVia) = u.set(f(b), v)
override protected implicit def F: Sync[F] = x
override def baseUrl = u.baseUrl
override def byPath = u.byPath
override def refresh = u.refresh
override def pathFor(b: B) = u pathFor f(b)
override def set(b: B, v: SetRouteVia) = u.set(f(b), v)
}

final case class ModCB[F[_], A](u: RouterCtlF[F, A], f: (A, F[Unit]) => F[Unit])(implicit x: Sync[F]) extends RouterCtlF[F, A] {
override protected implicit def F = x
override def baseUrl = u.baseUrl
override def byPath = u.byPath
override def refresh = u.refresh
override def pathFor(a: A) = u pathFor a
override def set(a: A, v: SetRouteVia) = f(a, u.set(a, v))
override protected implicit def F: Sync[F] = x
override def baseUrl = u.baseUrl
override def byPath = u.byPath
override def refresh = u.refresh
override def pathFor(a: A) = u pathFor a
override def set(a: A, v: SetRouteVia) = f(a, u.set(a, v))
}

final case class AltEffect[F[_], G[_], A](u: RouterCtlF[F, A])(implicit G: Sync[G]) extends RouterCtlF[G, A] {
import u.{F => FF}
override protected implicit def F = G
override def baseUrl = u.baseUrl
override def byPath = u.byPath.withEffect(G)
override def refresh = G.transSync(u.refresh)
override def pathFor(a: A) = u pathFor a
override def set(a: A, v: SetRouteVia) = G.transSync(u.set(a, v))
import u.{F=> FF}
override protected implicit def F: Sync[G] = G
override def baseUrl = u.baseUrl
override def byPath = u.byPath.withEffect(G)
override def refresh = G.transSync(u.refresh)
override def pathFor(a: A) = u pathFor a
override def set(a: A, v: SetRouteVia) = G.transSync(u.set(a, v))

override def withEffect[H[_]](implicit H: Sync[H]): RouterCtlF[H, A] =
H.subst[G, ({type L[E[_]] = RouterCtlF[E, A]})#L](this)(
Expand Down
Loading
0