(
self: Layer.Layer<ROut, E, RIn>,
schedule: Schedule.Schedule<X, E, RIn2>,
stateTag: Context.Tag<{ state: unknown }, { state: unknown }>,
state: unknown
)
| 887 | })) |
| 888 | |
| 889 | const retryLoop = <ROut, E, RIn, X, RIn2>( |
| 890 | self: Layer.Layer<ROut, E, RIn>, |
| 891 | schedule: Schedule.Schedule<X, E, RIn2>, |
| 892 | stateTag: Context.Tag<{ state: unknown }, { state: unknown }>, |
| 893 | state: unknown |
| 894 | ): Layer.Layer<ROut, E, RIn | RIn2> => { |
| 895 | return pipe( |
| 896 | self, |
| 897 | catchAll((error) => |
| 898 | pipe( |
| 899 | retryUpdate(schedule, stateTag, error, state), |
| 900 | flatMap((env) => fresh(retryLoop(self, schedule, stateTag, pipe(env, Context.get(stateTag)).state))) |
| 901 | ) |
| 902 | ) |
| 903 | ) |
| 904 | } |
| 905 | |
| 906 | const retryUpdate = <X, E, RIn>( |
| 907 | schedule: Schedule.Schedule<X, E, RIn>, |
no test coverage detected