Skip to content

Commit fc02943

Browse files
committed
wip: KType instead of KClass
1 parent fec7178 commit fc02943

File tree

20 files changed

+1620
-1255
lines changed

20 files changed

+1620
-1255
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android.useAndroidX=true
88
systemProp.org.gradle.internal.publish.checksums.insecure=true
99

1010
GROUP=com.squareup.workflow1
11-
VERSION_NAME=1.13.0-beta2-SNAPSHOT
11+
VERSION_NAME=1.13.0-ehmagic01-SNAPSHOT
1212

1313
POM_DESCRIPTION=Square Workflow
1414

samples/dungeon/timemachine/src/test/java/com/squareup/sample/timemachine/TimeMachineWorkflowTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.squareup.workflow1.Workflow
88
import com.squareup.workflow1.stateful
99
import com.squareup.workflow1.testing.launchForTestingFromStartWith
1010
import org.junit.Test
11+
import kotlin.reflect.typeOf
1112
import kotlin.time.Duration
1213
import kotlin.time.Duration.Companion.seconds
1314
import kotlin.time.ExperimentalTime
@@ -27,7 +28,7 @@ class TimeMachineWorkflowTest {
2728
render = { renderState ->
2829
DelegateRendering(
2930
renderState,
30-
setState = eventHandler("setState", String::class) { s -> state = s }
31+
setState = eventHandler("setState", typeOf<String>()) { s -> state = s }
3132
)
3233
}
3334
)

samples/tictactoe/common/src/main/java/com/squareup/sample/authworkflow/AuthWorkflow.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,7 @@ class RealAuthWorkflow(private val authService: AuthService) : AuthWorkflow,
7777
BackStackScreen(
7878
LoginScreen(
7979
renderState.errorMessage,
80-
onLogin = context.eventHandler(
81-
"onLogin",
82-
String::class,
83-
String::class,
84-
) { email, password ->
80+
onLogin = context.eventHandler("onLogin") { email, password ->
8581
state = when {
8682
email.isValidEmail -> Authorizing(email, password)
8783
else -> LoginPrompt(email.emailValidationErrorMessage)
@@ -109,10 +105,7 @@ class RealAuthWorkflow(private val authService: AuthService) : AuthWorkflow,
109105
LoginScreen(),
110106
SecondFactorScreen(
111107
renderState.errorMessage,
112-
onSubmit = context.eventHandler(
113-
"onSubmitSecondFactor",
114-
String::class
115-
) { secondFactor ->
108+
onSubmit = context.eventHandler("onSubmitSecondFactor") { secondFactor ->
116109
(state as? SecondFactorPrompt)?.let { oldState ->
117110
state = AuthorizingSecondFactor(oldState.tempToken, secondFactor)
118111
}

workflow-core/api/workflow-core.api

Lines changed: 33 additions & 33 deletions
Large diffs are not rendered by default.

workflow-core/src/commonMain/kotlin/com/squareup/workflow1/BaseRenderContext.kt

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import com.squareup.workflow1.WorkflowAction.Companion.noAction
1212
import kotlinx.coroutines.CoroutineScope
1313
import kotlin.jvm.JvmMultifileClass
1414
import kotlin.jvm.JvmName
15-
import kotlin.reflect.KClass
1615
import kotlin.reflect.KType
1716
import kotlin.reflect.typeOf
1817

@@ -126,9 +125,10 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
126125
sideEffect: suspend CoroutineScope.() -> Unit
127126
)
128127

129-
public fun <ResultT : Any> remember(
128+
/** TODO kdoc */
129+
public fun <ResultT> remember(
130130
key: String,
131-
resultType: KClass<ResultT>,
131+
resultType: KType,
132132
vararg inputs: Any?,
133133
calculation: () -> ResultT
134134
): ResultT
@@ -143,42 +143,42 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
143143
>.Updater.() -> Unit
144144
): () -> Unit
145145

146-
public fun <EventT : Any> eventHandler(
146+
public fun <EventT> eventHandler(
147147
name: String,
148-
eventType: KClass<EventT>,
148+
eventType: KType,
149149
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
150150
EventT
151151
) -> Unit
152152
): (EventT) -> Unit
153153

154-
public fun <E1 : Any, E2 : Any> eventHandler(
154+
public fun <E1, E2> eventHandler(
155155
name: String,
156-
e1Type: KClass<E1>,
157-
e2Type: KClass<E2>,
156+
e1Type: KType,
157+
e2Type: KType,
158158
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
159159
E1,
160160
E2
161161
) -> Unit
162162
): (E1, E2) -> Unit
163163

164-
public fun <E1 : Any, E2 : Any, E3 : Any> eventHandler(
164+
public fun <E1, E2, E3> eventHandler(
165165
name: String,
166-
e1Type: KClass<E1>,
167-
e2Type: KClass<E2>,
168-
e3Type: KClass<E3>,
166+
e1Type: KType,
167+
e2Type: KType,
168+
e3Type: KType,
169169
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
170170
E1,
171171
E2,
172172
E3
173173
) -> Unit
174174
): (E1, E2, E3) -> Unit
175175

176-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any> eventHandler(
176+
public fun <E1, E2, E3, E4> eventHandler(
177177
name: String,
178-
e1Type: KClass<E1>,
179-
e2Type: KClass<E2>,
180-
e3Type: KClass<E3>,
181-
e4Type: KClass<E4>,
178+
e1Type: KType,
179+
e2Type: KType,
180+
e3Type: KType,
181+
e4Type: KType,
182182
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
183183
E1,
184184
E2,
@@ -187,13 +187,13 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
187187
) -> Unit
188188
): (E1, E2, E3, E4) -> Unit
189189

190-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any> eventHandler(
190+
public fun <E1, E2, E3, E4, E5> eventHandler(
191191
name: String,
192-
e1Type: KClass<E1>,
193-
e2Type: KClass<E2>,
194-
e3Type: KClass<E3>,
195-
e4Type: KClass<E4>,
196-
e5Type: KClass<E5>,
192+
e1Type: KType,
193+
e2Type: KType,
194+
e3Type: KType,
195+
e4Type: KType,
196+
e5Type: KType,
197197
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
198198
E1,
199199
E2,
@@ -203,14 +203,14 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
203203
) -> Unit
204204
): (E1, E2, E3, E4, E5) -> Unit
205205

206-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any, E6 : Any> eventHandler(
206+
public fun <E1, E2, E3, E4, E5, E6> eventHandler(
207207
name: String,
208-
e1Type: KClass<E1>,
209-
e2Type: KClass<E2>,
210-
e3Type: KClass<E3>,
211-
e4Type: KClass<E4>,
212-
e5Type: KClass<E5>,
213-
e6Type: KClass<E6>,
208+
e1Type: KType,
209+
e2Type: KType,
210+
e3Type: KType,
211+
e4Type: KType,
212+
e5Type: KType,
213+
e6Type: KType,
214214
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
215215
E1,
216216
E2,
@@ -221,15 +221,15 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
221221
) -> Unit
222222
): (E1, E2, E3, E4, E5, E6) -> Unit
223223

224-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any, E6 : Any, E7 : Any> eventHandler(
224+
public fun <E1, E2, E3, E4, E5, E6, E7> eventHandler(
225225
name: String,
226-
e1Type: KClass<E1>,
227-
e2Type: KClass<E2>,
228-
e3Type: KClass<E3>,
229-
e4Type: KClass<E4>,
230-
e5Type: KClass<E5>,
231-
e6Type: KClass<E6>,
232-
e7Type: KClass<E7>,
226+
e1Type: KType,
227+
e2Type: KType,
228+
e3Type: KType,
229+
e4Type: KType,
230+
e5Type: KType,
231+
e6Type: KType,
232+
e7Type: KType,
233233
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
234234
E1,
235235
E2,
@@ -241,16 +241,16 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
241241
) -> Unit
242242
): (E1, E2, E3, E4, E5, E6, E7) -> Unit
243243

244-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any, E6 : Any, E7 : Any, E8 : Any> eventHandler(
244+
public fun <E1, E2, E3, E4, E5, E6, E7, E8> eventHandler(
245245
name: String,
246-
e1Type: KClass<E1>,
247-
e2Type: KClass<E2>,
248-
e3Type: KClass<E3>,
249-
e4Type: KClass<E4>,
250-
e5Type: KClass<E5>,
251-
e6Type: KClass<E6>,
252-
e7Type: KClass<E7>,
253-
e8Type: KClass<E8>,
246+
e1Type: KType,
247+
e2Type: KType,
248+
e3Type: KType,
249+
e4Type: KType,
250+
e5Type: KType,
251+
e6Type: KType,
252+
e7Type: KType,
253+
e8Type: KType,
254254
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
255255
E1,
256256
E2,
@@ -263,17 +263,17 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
263263
) -> Unit
264264
): (E1, E2, E3, E4, E5, E6, E7, E8) -> Unit
265265

266-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any, E6 : Any, E7 : Any, E8 : Any, E9 : Any> eventHandler(
266+
public fun <E1, E2, E3, E4, E5, E6, E7, E8, E9> eventHandler(
267267
name: String,
268-
e1Type: KClass<E1>,
269-
e2Type: KClass<E2>,
270-
e3Type: KClass<E3>,
271-
e4Type: KClass<E4>,
272-
e5Type: KClass<E5>,
273-
e6Type: KClass<E6>,
274-
e7Type: KClass<E7>,
275-
e8Type: KClass<E8>,
276-
e9Type: KClass<E9>,
268+
e1Type: KType,
269+
e2Type: KType,
270+
e3Type: KType,
271+
e4Type: KType,
272+
e5Type: KType,
273+
e6Type: KType,
274+
e7Type: KType,
275+
e8Type: KType,
276+
e9Type: KType,
277277
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
278278
E1,
279279
E2,
@@ -287,18 +287,18 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
287287
) -> Unit
288288
): (E1, E2, E3, E4, E5, E6, E7, E8, E9) -> Unit
289289

290-
public fun <E1 : Any, E2 : Any, E3 : Any, E4 : Any, E5 : Any, E6 : Any, E7 : Any, E8 : Any, E9 : Any, E10 : Any> eventHandler(
290+
public fun <E1, E2, E3, E4, E5, E6, E7, E8, E9, E10> eventHandler(
291291
name: String,
292-
e1Type: KClass<E1>,
293-
e2Type: KClass<E2>,
294-
e3Type: KClass<E3>,
295-
e4Type: KClass<E4>,
296-
e5Type: KClass<E5>,
297-
e6Type: KClass<E6>,
298-
e7Type: KClass<E7>,
299-
e8Type: KClass<E8>,
300-
e9Type: KClass<E9>,
301-
e10Type: KClass<E10>,
292+
e1Type: KType,
293+
e2Type: KType,
294+
e3Type: KType,
295+
e4Type: KType,
296+
e5Type: KType,
297+
e6Type: KType,
298+
e7Type: KType,
299+
e8Type: KType,
300+
e9Type: KType,
301+
e10Type: KType,
302302
update: WorkflowAction<@UnsafeVariance PropsT, StateT, @UnsafeVariance OutputT>.Updater.(
303303
E1,
304304
E2,
@@ -314,12 +314,12 @@ public interface BaseRenderContext<out PropsT, StateT, in OutputT> {
314314
): (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10) -> Unit
315315
}
316316

317-
public inline fun <reified ResultT : Any> BaseRenderContext<*, *, *>.remember(
317+
public inline fun <reified ResultT> BaseRenderContext<*, *, *>.remember(
318318
key: String,
319319
vararg inputs: Any?,
320320
noinline calculation: () -> ResultT
321321
): ResultT {
322-
return remember(key, ResultT::class, inputs = inputs, calculation)
322+
return remember(key, typeOf<ResultT>(), inputs = inputs, calculation)
323323
}
324324

325325
/**

0 commit comments

Comments
 (0)