Use Declaration Merging Instead of Generics #72
Labels
core
Concerns the piral-core library.
enhancement
New feature or request
framework
Concerns the full piral library / framework.
pilets
Concerns the API of the pilets.
Milestone
Description
The current API uses generics, which makes it hard to deal with it on multiple layers. Especially from a pilet POV its a huge pain.
We need a better way - that originates the API already from
piral-core
and only extends it all the way.Background
Right now the app shell should / would alias the "final" API and use it in generics. As such
MyAppShellApi
becomes a thing. It should not be. It will prevent cross Piral solutions (pilets) independent of any pattern libraries or other dependencies - just because the APIs are named differently (but share the same core or are even 100% the same).Discussion
This will have an impact on how pilet API extensions are written. The intention here is not to make things more complicated or worse, but to simplify.
By using declaration merging we are on the road to have a single Piral instance only (which makes sense - multiple instances are academic anyway).
The text was updated successfully, but these errors were encountered: