Skip to content

Support Junctions() API in ServiceTrain#41

Merged
Theauxm merged 1 commit intomainfrom
feat/junctions-api
Mar 23, 2026
Merged

Support Junctions() API in ServiceTrain#41
Theauxm merged 1 commit intomainfrom
feat/junctions-api

Conversation

@Theauxm
Copy link
Copy Markdown
Member

@Theauxm Theauxm commented Mar 23, 2026

Summary

  • Override RunInternal as virtual (was abstract) with a default that initializes the Monad with ServiceProvider and delegates to Junctions()
  • Concrete trains can now override Junctions() while retaining full metadata tracking, lifecycle hooks, and effect system integration
  • Fully backwards compatible — existing RunInternal overrides continue to work

Depends on TraxSharp/Trax.Core#14.

Test plan

  • 6 new integration tests (InMemory provider) covering happy path, failure/state tracking, multi-chain, and backwards compat
  • All 347 existing Trax.Effect tests pass
  • Zero build warnings

Override RunInternal as virtual with a default that initializes the
Monad with ServiceProvider and delegates to Junctions(). Concrete
trains can now override Junctions() instead of RunInternal while
retaining full metadata tracking and lifecycle hooks.
@Theauxm Theauxm merged commit 1ae69a2 into main Mar 23, 2026
1 of 2 checks passed
@Theauxm Theauxm deleted the feat/junctions-api branch March 23, 2026 18:17
@traxsharp
Copy link
Copy Markdown

traxsharp Bot commented Mar 23, 2026

This PR is included in version 1.25.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant