Commit graph

25 commits

Author SHA1 Message Date
James Harton
252d01ea22
improvement(Dsl): Extract DSL entities into their target modules. (#50)
This helps with reuse in extensions.
2023-09-01 13:44:34 +12:00
9a2738f98b
chore: update to Erlang 26 and Elixir 1.15.5. 2023-09-01 13:24:12 +12:00
James Harton
a9dd4c5c22
fix: Don't swallow errors when a step runs out of retries. (#41)
When a step runs out of retry attempts we either use the error supplied, or synthesise a new one.
2023-07-27 13:26:54 +12:00
James Harton
aa670a4a64
improvement: Add wait_for DSL. (#39) 2023-07-25 10:50:01 +12:00
James Harton
dd75458c76
improvement: Add "subpaths" to templates. (#31) 2023-07-12 07:36:06 +12:00
James Harton
be35183998
improvement(Step.Debug): Add debug step and DSL. (#30) 2023-07-11 12:04:01 +12:00
James Harton
4224aeb23c
improvement(Step.Switch): Add switch DSL and step type. (#29) 2023-07-11 07:20:51 +12:00
James Harton
efc7cb4a91
improvement: Add group DSL entity and Reactor.Step.Group. (#27) 2023-07-04 09:37:53 +12:00
65b302c891
chore: Add doctor. 2023-06-23 15:19:46 +12:00
James Harton
b985126894
improvement(Reactor.Executor): track concurrent process usage across multiple reactors. (#26) 2023-06-23 12:29:27 +12:00
James Harton
749e399c02
feat(Step.Around): Add ability to wrap a function around a group of steps. (#24) 2023-06-23 09:09:42 +12:00
027cf03fb8
perf(Dsl): Build and pre-plan DSL reactors. 2023-06-20 14:09:09 +12:00
e2ac25b69e
perf(Builder): build transformation steps as synchronous. 2023-06-20 13:40:43 +12:00
85bd7b77a2
fix(Executor): don't double-iterate the graph each time through the loop. 2023-06-20 13:34:49 +12:00
James Harton
611bf314f0
improvement: Support timeout and async? Reactor options. (#20) 2023-06-16 16:16:40 +12:00
James Harton
614e6725e2
improvement: Invert DSL entity building. (#19)
Instead of defining how to do it in `Reactor.Info` for all entities present and future, we use a protocol which entities must implement.  This allows us to support dynamically patched entities in the future without having to change core code.
2023-06-16 15:28:00 +12:00
James Harton
8f0248857a
improvement: Allow entire step behaviour to be defined in the DSL. (#18) 2023-06-16 14:39:29 +12:00
1af160c6b3 improvement: Add ability to compose reactors. 2023-06-15 14:57:32 +12:00
James Harton
8450554c41
improvement(Builder): rename internally generated steps to start with :__reactor__. (#10) 2023-06-08 13:25:11 +12:00
James Harton
b23e5ef688
improvement: Add step-wide argument transforms. (#9)
* improvement: Add step-wide argument transforms.

* docs: add more entity documentation.
2023-06-08 11:40:02 +12:00
1442cabeb4
fix(Reactor.Argument): Remove spurious is_atom constraint on Argument.from_input/2..3. 2023-05-15 17:10:53 +12:00
b94ab3ede3
docs: Add missing groups_for_modules needed for docs import into ash_hq. 2023-05-12 19:47:36 +12:00
James Harton
7b2e469135
improvement(Reactor.Step): remove can?/1 and replace with optional callbacks. (#6) 2023-05-12 15:50:49 +12:00
James Harton
7ac8cce871
feat: implement basic reactor behaviour. (#1) 2023-05-10 16:27:18 +12:00
Zach Daniel
96fd561714 init 2023-04-18 18:23:04 -04:00