Export createRouter and createSofa methods #1459
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Preamble
Currently, SOFA evaluates whether a type is a model or not by looking for both a single endpoint with a non-optional id and a list endpoint that returns a raw list of the type.
However, some more mature schemas will reasonably change the way objects are accessed to include pagination or even intermediate nodes ala Github. For example:
While it'd ideal for SOFA to understand this kind of special syntax for identifying models, it turns out to be easier for bigger codebases to manually pass the
models
argument intocreateRouter
. This is not currently possible with the current exports defined by the library.Description
This PR allows for anyone to replace
useSofa
with the use ofcreateRouter
andcreateSofa
, so that custom configuration can be hooked in.