Skip to content

Commit 504f74d

Browse files
committed
Rename {ID,CB} to {Impure,Pure} in StateAccessors
1 parent d4ad8ae commit 504f74d

File tree

7 files changed

+42
-41
lines changed

7 files changed

+42
-41
lines changed

core/src/main/scala/japgolly/scalajs/react/StateAccessor.scala

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,17 @@ object StateAccessor extends StateAccessorImplicits {
3030

3131
type ReadWrite[-I, R[_], W[_], S] = Read[I, R, S] with Write[I, W, S]
3232

33-
type ReadId[-I, S] = Read[I, Effect.Id, S]
34-
type ReadCB[-I, S] = Read[I, CallbackTo, S]
33+
type ReadImpure[-I, S] = Read[I, Effect.Id, S]
34+
type ReadPure[-I, S] = Read[I, CallbackTo, S]
3535

36-
type WriteId[-I, S] = Write[I, Effect.Id, S]
37-
type WriteCB[-I, S] = Write[I, CallbackTo, S]
36+
type WriteImpure[-I, S] = Write[I, Effect.Id, S]
37+
type WritePure[-I, S] = Write[I, CallbackTo, S]
3838

39-
type ReadIdWriteId[-I, S] = ReadWrite[I, Effect.Id, Effect.Id, S]
40-
type ReadIdWriteCB[-I, S] = ReadWrite[I, Effect.Id, CallbackTo, S]
41-
type ReadCBWriteId[-I, S] = ReadWrite[I, CallbackTo, Effect.Id, S]
42-
type ReadCBWriteCB[-I, S] = ReadWrite[I, CallbackTo, CallbackTo, S]
39+
type ReadWriteImpure[-I, S] = ReadWrite[I, Effect.Id, Effect.Id, S]
40+
type ReadWritePure[-I, S] = ReadWrite[I, CallbackTo, CallbackTo, S]
41+
42+
type ReadImpureWritePure[-I, S] = ReadWrite[I, Effect.Id, CallbackTo, S]
43+
type ReadPureWriteImpure[-I, S] = ReadWrite[I, CallbackTo, Effect.Id, S]
4344
}
4445

4546
trait StateAccessorImplicits2 {
@@ -56,24 +57,24 @@ trait StateAccessorImplicits2 {
5657
}
5758
}
5859

59-
private def newScalaLifecycleStateW[S]: WriteCB[Lifecycle.StateW[_, S, _], S] = {
60+
private def newScalaLifecycleStateW[S]: WritePure[Lifecycle.StateW[_, S, _], S] = {
6061
type I = Lifecycle.StateW[_, S, _]
6162
new Write[I, CallbackTo, S] {
6263
override val setStateCB = (i: I) => i.setState(_, _)
6364
override val modStateCB = (i: I) => i.modState(_, _)
6465
}
6566
}
6667
private[this] lazy val scalaLifecycleStateWInstance = newScalaLifecycleStateW[Any]
67-
implicit def scalaLifecycleStateW[S]: WriteCB[Lifecycle.StateW[_, S, _], S] = castW(scalaLifecycleStateWInstance)
68+
implicit def scalaLifecycleStateW[S]: WritePure[Lifecycle.StateW[_, S, _], S] = castW(scalaLifecycleStateWInstance)
6869
}
6970

7071
trait StateAccessorImplicits1 extends StateAccessorImplicits2 {
7172

7273
private[this] lazy val stateAccessImpureInstance = stateAccess[Effect.Id, Any]
73-
implicit def stateAccessImpure[S]: ReadIdWriteId[StateAccessImpure[S], S] = castRW(stateAccessImpureInstance)
74+
implicit def stateAccessImpure[S]: ReadWriteImpure[StateAccessImpure[S], S] = castRW(stateAccessImpureInstance)
7475

75-
// Coercion: Lifecycle ReadIdWriteCBReadCBWriteCB
76-
private def newScalaLifecycleStateRWCB[S]: ReadCBWriteCB[Lifecycle.StateRW[_, S, _], S] = {
76+
// Coercion: Lifecycle ReadImpureWritePureReadPureWritePure
77+
private def newScalaLifecycleStateRWCB[S]: ReadWritePure[Lifecycle.StateRW[_, S, _], S] = {
7778
type I = Lifecycle.StateRW[_, S, _]
7879
new Read[I, CallbackTo, S] with Write[I, CallbackTo, S] {
7980
override val state = (i: I) => CallbackTo(i.state)
@@ -82,15 +83,15 @@ trait StateAccessorImplicits1 extends StateAccessorImplicits2 {
8283
}
8384
}
8485
private[this] lazy val scalaLifecycleStateRWCBInstance = newScalaLifecycleStateRWCB[Any]
85-
implicit def scalaLifecycleStateRWCB[S]: ReadCBWriteCB[Lifecycle.StateRW[_, S, _], S] = castRW(scalaLifecycleStateRWCBInstance)
86+
implicit def scalaLifecycleStateRWCB[S]: ReadWritePure[Lifecycle.StateRW[_, S, _], S] = castRW(scalaLifecycleStateRWCBInstance)
8687
}
8788

8889
trait StateAccessorImplicits extends StateAccessorImplicits1 {
8990

9091
private[this] lazy val stateAccessPureInstance = stateAccess[CallbackTo, Any]
91-
implicit def stateAccessPure[S]: ReadCBWriteCB[StateAccessPure[S], S] = castRW(stateAccessPureInstance)
92+
implicit def stateAccessPure[S]: ReadWritePure[StateAccessPure[S], S] = castRW(stateAccessPureInstance)
9293

93-
private def newScalaLifecycleStateRW[S]: ReadIdWriteCB[Lifecycle.StateRW[_, S, _], S] = {
94+
private def newScalaLifecycleStateRW[S]: ReadImpureWritePure[Lifecycle.StateRW[_, S, _], S] = {
9495
type I = Lifecycle.StateRW[_, S, _]
9596
new Read[I, Effect.Id, S] with Write[I, CallbackTo, S] {
9697
override val state = (_: I).state
@@ -99,5 +100,5 @@ trait StateAccessorImplicits extends StateAccessorImplicits1 {
99100
}
100101
}
101102
private[this] lazy val scalaLifecycleStateRWInstance = newScalaLifecycleStateRW[Any]
102-
implicit def scalaLifecycleStateRW[S]: ReadIdWriteCB[Lifecycle.StateRW[_, S, _], S] = castRW(scalaLifecycleStateRWInstance)
103+
implicit def scalaLifecycleStateRW[S]: ReadImpureWritePure[Lifecycle.StateRW[_, S, _], S] = castRW(scalaLifecycleStateRWInstance)
103104
}

extra/src/main/scala/japgolly/scalajs/react/extra/Px.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ object Px {
240240
def props[P](s: GenericComponent.MountedPure[P, _]): FromThunk[P] =
241241
callback(s.props)
242242

243-
def state[I, S](i: I)(implicit sa: StateAccessor.ReadCB[I, S]): FromThunk[S] =
243+
def state[I, S](i: I)(implicit sa: StateAccessor.ReadPure[I, S]): FromThunk[S] =
244244
callback(sa.state(i))
245245

246246
final class FromThunk[A](private val thunk: () => A) extends AnyVal {

extra/src/main/scala/japgolly/scalajs/react/extra/Reusable.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ object Reusable {
110110
def apply[A: Reusability, B: Reusability, C: Reusability, D: Reusability, E: Reusability, Y, Z](f: (A, B, C, D, E, Y) => Z): A ~=> (B ~=> (C ~=> (D ~=> (E ~=> (Y ~=> Z))))) =
111111
Reusable.implicitly(new Fn6(f))
112112

113-
def state[I, S](i: I)(implicit t: StateAccessor.WriteCB[I, S]) = new StateAccessWriteOps(i)(t)
114-
final class StateAccessWriteOps[I, S](i: I)(implicit t: StateAccessor.WriteCB[I, S]) {
113+
def state[I, S](i: I)(implicit t: StateAccessor.WritePure[I, S]) = new StateAccessWriteOps(i)(t)
114+
final class StateAccessWriteOps[I, S](i: I)(implicit t: StateAccessor.WritePure[I, S]) {
115115

116116
def mod: (S => S) ~=> Callback =
117117
Reusable.fn(t modState i)

extra/src/main/scala/japgolly/scalajs/react/extra/StateSnapshot.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ object StateSnapshot {
4646
def apply[S](value: S): FromValue[S] =
4747
new FromValue(value)
4848

49-
def of[I, S](i: I)(implicit t: StateAccessor.ReadIdWriteCB[I, S], r: Reusability[S]): StateSnapshot[S] =
49+
def of[I, S](i: I)(implicit t: StateAccessor.ReadImpureWritePure[I, S], r: Reusability[S]): StateSnapshot[S] =
5050
apply(t.state(i)).setStateVia(i)(t, r)
5151

5252
/** This is meant to be called once and reused so that the setState callback stays the same. */
5353
def prepare[S](f: S => Callback): FromSetStateFn[S] =
5454
new FromSetStateFn(Reusable.fn(f))
5555

5656
/** This is meant to be called once and reused so that the setState callback stays the same. */
57-
def prepareVia[I, S](i: I)(implicit t: StateAccessor.WriteCB[I, S]): FromSetStateFn[S] =
57+
def prepareVia[I, S](i: I)(implicit t: StateAccessor.WritePure[I, S]): FromSetStateFn[S] =
5858
prepare(t.setState(i))
5959

6060
def zoom[S, T](get: S => T)(set: T => S => S): FromLens[S, T] =
@@ -70,7 +70,7 @@ object StateSnapshot {
7070
new FromLensSetStateFn(l, Reusable.fn(modify compose l.set))
7171

7272
/** This is meant to be called once and reused so that the setState callback stays the same. */
73-
def prepareVia[I](i: I)(implicit t: StateAccessor.WriteCB[I, S]): FromLensSetStateFn[S, T] =
73+
def prepareVia[I](i: I)(implicit t: StateAccessor.WritePure[I, S]): FromLensSetStateFn[S, T] =
7474
prepare(t.modState(i))
7575

7676
def zoom[U](get: T => U)(set: U => T => T): FromLens[S, U] =
@@ -81,7 +81,7 @@ object StateSnapshot {
8181
def apply(set: S ~=> Callback)(implicit r: Reusability[S]): StateSnapshot[S] =
8282
new StateSnapshot(value, set, r)
8383

84-
def setStateVia[I](i: I)(implicit t: StateAccessor.WriteCB[I, S], r: Reusability[S]): StateSnapshot[S] =
84+
def setStateVia[I](i: I)(implicit t: StateAccessor.WritePure[I, S], r: Reusability[S]): StateSnapshot[S] =
8585
apply(Reusable.fn(t setState i))(r)
8686
}
8787

@@ -102,7 +102,7 @@ object StateSnapshot {
102102
def apply[S](value: S): FromValue[S] =
103103
new FromValue(value)
104104

105-
def of[I, S](i: I)(implicit t: StateAccessor.ReadIdWriteCB[I, S]): StateSnapshot[S] =
105+
def of[I, S](i: I)(implicit t: StateAccessor.ReadImpureWritePure[I, S]): StateSnapshot[S] =
106106
apply(t.state(i)).setStateVia(i)
107107

108108
def zoom[S, T](get: S => T)(set: T => S => S): FromLens[S, T] =
@@ -112,7 +112,7 @@ object StateSnapshot {
112112
final class FromLens[S, T](private val l: Lens[S, T]) extends AnyVal {
113113
def apply(value: S) = new FromLensValue(l, l get value)
114114

115-
def of[I](i: I)(implicit t: StateAccessor.ReadIdWriteCB[I, S]): StateSnapshot[T] =
115+
def of[I](i: I)(implicit t: StateAccessor.ReadImpureWritePure[I, S]): StateSnapshot[T] =
116116
apply(t.state(i)).setStateVia(i)
117117

118118
def zoom[U](get: T => U)(set: U => T => T): FromLens[S, U] =
@@ -123,15 +123,15 @@ object StateSnapshot {
123123
def apply(set: S => Callback): StateSnapshot[S] =
124124
new StateSnapshot(value, Reusable.fn(set), Reusability.never)
125125

126-
def setStateVia[I](i: I)(implicit t: StateAccessor.WriteCB[I, S]): StateSnapshot[S] =
126+
def setStateVia[I](i: I)(implicit t: StateAccessor.WritePure[I, S]): StateSnapshot[S] =
127127
apply(t.setState(i))
128128
}
129129

130130
final class FromLensValue[S, T](l: Lens[S, T], value: T) {
131131
def apply(modify: (S => S) => Callback): StateSnapshot[T] =
132132
StateSnapshot(value)(modify compose l.set)
133133

134-
def setStateVia[I](i: I)(implicit t: StateAccessor.WriteCB[I, S]): StateSnapshot[T] =
134+
def setStateVia[I](i: I)(implicit t: StateAccessor.WritePure[I, S]): StateSnapshot[T] =
135135
apply(t.modState(i))
136136
}
137137
}

monocle/src/main/scala/japgolly/scalajs/react/internal/MonocleExtComponent.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package japgolly.scalajs.react.internal
33
import japgolly.scalajs.react._
44

55
trait MonocleExtComponentLowPriorityImplicits {
6-
implicit final def MonocleReactExt_StateWritableCB[I, S](i: I)(implicit sa: StateAccessor.WriteCB[I, S]) = new MonocleExtComponent.StateWritableCB[I, S](i)(sa)
6+
implicit final def MonocleReactExt_StateWritableCB[I, S](i: I)(implicit sa: StateAccessor.WritePure[I, S]) = new MonocleExtComponent.StateWritableCB[I, S](i)(sa)
77
}
88
trait MonocleExtComponent extends MonocleExtComponentLowPriorityImplicits {
99
implicit final def MonocleReactExt_StateAccess[F[_], S](m: StateAccess[F, S]) = new MonocleExtComponent.StateAcc[F, S, m.type](m)
@@ -27,7 +27,7 @@ object MonocleExtComponent {
2727
setStateL(l)(_, cb)
2828
}
2929

30-
final class StateWritableCB[I, S](private val i: I)(implicit sa: StateAccessor.WriteCB[I, S]) {
30+
final class StateWritableCB[I, S](private val i: I)(implicit sa: StateAccessor.WritePure[I, S]) {
3131
def modStateL[A, B](l: PLens[S, S, A, B])(f: A => B, cb: Callback = Callback.empty): Callback =
3232
sa.modStateCB(i)(l.modify(f), cb)
3333

scalaz-7.2/src/main/scala/japgolly/scalajs/react/internal/ScalazReactState.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@ trait ScalazReactState1 {
1919

2020
import ScalazReactState._
2121

22-
implicit final def ScalazReactExt_StateAccessId[I, S](i: I)(implicit sa: StateAccessor.ReadIdWriteId[I, S]): Ext_StateAccessRW[Effect.Id, I, S, Effect.Id] = new Ext_StateAccessRW(i)
22+
implicit final def ScalazReactExt_StateAccessId[I, S](i: I)(implicit sa: StateAccessor.ReadWriteImpure[I, S]): Ext_StateAccessRW[Effect.Id, I, S, Effect.Id] = new Ext_StateAccessRW(i)
2323
}
2424

2525
trait ScalazReactState2 extends ScalazReactState1 {
2626
import ScalazReactState._
2727

28-
implicit final def ScalazReactExt_StateAccessCB[I, S](i: I)(implicit sa: StateAccessor.ReadCBWriteCB[I, S]): Ext_StateAccessRW[CallbackTo, I, S, CallbackTo] = new Ext_StateAccessRW(i)
28+
implicit final def ScalazReactExt_StateAccessCB[I, S](i: I)(implicit sa: StateAccessor.ReadWritePure[I, S]): Ext_StateAccessRW[CallbackTo, I, S, CallbackTo] = new Ext_StateAccessRW(i)
2929
}
3030

3131
trait ScalazReactState extends ScalazReactState2 {
3232
import ScalazReactState._
3333

34-
// implicit final def ScalazReactExt_StateAccessRIWC[I, S](i: I)(implicit sa: StateAccessor.ReadIdWriteCB[I, S]) =
34+
// implicit final def ScalazReactExt_StateAccessRIWC[I, S](i: I)(implicit sa: StateAccessor.ReadImpureWritePure[I, S]) =
3535
// ScalazReactExt_StateAccessCB(i)(sa.withReadEffect)
3636

3737
implicit final def ScalazReactExt_ReactS[S, A](a: ReactS[S, A]) = new Ext_ReactS(a)

test/src/test/scala/japgolly/scalajs/react/core/StateAccessorTest.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ object StateAccessorTest extends TestSuite {
1010

1111
override def tests = TestSuite {
1212

13-
'writeCB {
14-
def use[I, S](i: I)(implicit t: StateAccessor.WriteCB[I, S]): S => Callback = t.setState(i)(_)
13+
'writePure {
14+
def use[I, S](i: I)(implicit t: StateAccessor.WritePure[I, S]): S => Callback = t.setState(i)(_)
1515
test[Render ](use(_)).expect[S => Callback]
1616
test[Backend ](use(_)).expect[S => Callback]
1717
test[ScalaMountedCB](use(_)).expect[S => Callback]
@@ -21,8 +21,8 @@ object StateAccessorTest extends TestSuite {
2121
compileError(""" test[StateAccessI ](use(_)) """)
2222
}
2323

24-
'readIdWriteCB {
25-
def use[I, S](i: I)(implicit t: StateAccessor.ReadIdWriteCB[I, S]): CallbackTo[S] = t.setState(i)(t.state(i)).ret(t state i)
24+
'readIdWritePure {
25+
def use[I, S](i: I)(implicit t: StateAccessor.ReadImpureWritePure[I, S]): CallbackTo[S] = t.setState(i)(t.state(i)).ret(t state i)
2626
test[Render ](use(_)).expect[CallbackTo[S]]
2727
compileError(""" test[StateAccessP ](use(_)) """)
2828
compileError(""" test[StateAccessI ](use(_)) """)
@@ -32,8 +32,8 @@ object StateAccessorTest extends TestSuite {
3232
compileError(""" test[ScalaMountedId](use(_)) """)
3333
}
3434

35-
'readCBWriteCB {
36-
def use[I, S](i: I)(implicit sa: StateAccessor.ReadCBWriteCB[I, S]): CallbackTo[S] = sa.state(i)
35+
'readCBWritePure {
36+
def use[I, S](i: I)(implicit sa: StateAccessor.ReadWritePure[I, S]): CallbackTo[S] = sa.state(i)
3737
test[Backend ](use(_)).expect[CallbackTo[S]]
3838
test[ScalaMountedCB](use(_)).expect[CallbackTo[S]]
3939
test[Render ](use(_)).expect[CallbackTo[S]] // coercion
@@ -43,8 +43,8 @@ object StateAccessorTest extends TestSuite {
4343
compileError(""" test[StateAccessI ](use(_)) """)
4444
}
4545

46-
'readIdWriteId {
47-
def use[I, S](i: I)(implicit sa: StateAccessor.ReadIdWriteId[I, S]): S = sa.state(i)
46+
'readIdWriteImpure {
47+
def use[I, S](i: I)(implicit sa: StateAccessor.ReadWriteImpure[I, S]): S = sa.state(i)
4848
compileError(""" test[Backend ](use(_)) """)
4949
compileError(""" test[ScalaMountedCB](use(_)) """)
5050
compileError(""" test[Render ](use(_)) """)

0 commit comments

Comments
 (0)