Josiah Kaviani

Results 172 issues of Josiah Kaviani

`a1s1` can't be coroutine while `a1s2` is a function. A suggested implementation: ```python steps = ['a1s1','a1s2','b1'] methods = {'a1s1': f, 'a1s2': async f} kinds = {is_coroutine_function, methods.values()} # set generator...

feature

```python state = State(a1v1=1) state.a1v2 = 2 # error a1(state) ```

feature

State is append only.

feature

People should not use `hasattr` to set `user` attribute from three tries. Choice different names for different situations. 1. Inside story steps. ```python def a1s1(self, state): state.foo # error ```...

feature

Story without steps should be able to wrap any kind of stories.

feature

This is implicit state contract. If in a story composition `c1s1` sets `b1v1` which will be used in the conditional, we should check enum type at the moment of assignment.

feature

This is implicit state contract. If in a story composition `c1s1` sets `b1v1` which will be used in the conditional, we should check boolean type at the moment of assignment.

feature

This is implicit state contract. If in a story composition `c1s1` sets `b1v1` which will be used in the conditional, we should check boolean type at the moment of assignment.

feature

Different types are forbidden. ```python A1State & A2State & None # error ``` Plain state is also forbidden. ```python A1State & A2State & State # error - needs a subclass...

feature