Make polymorphic interface work with static-time tooling.
- Dominant language
- TypeScript
- Stars
- 117
- Forks
- 51
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 4
Description
We have utilized maps of interfaces, with polymorhphic loading of these interfaces (based on type), in order to do more with less code. This is good.
However, the downside is specifically in the approach used in the building of the interface maps, which is done at build time -- post time in which our static tooling can work. This means that we have reduced code navigation, bundle analysis tools (for architecture decisions), and reduced the ability for other devs to also maintain our codebase.
This ticket is about taking our dynamically built interface maps, and making the map be:
1. explicitly, statically defined.
* e.g. ` const interfaceMap = {[type: string]: ClientLib}` with all of the types.
* remove the loading of interfaces by file path
2. using a typescript defined interfaces.
* e.g. each `ClientLib` is an object typed by the `ClientLibType` typescript interface.
Example interface maps, which we have as of now:
* SUPPORTED_VISUALIZATIONS
* PIPE_DEFINITIONS
* ENDPOINT_DEFINITIONS
* TEMPLATES
* CLIENT_DEFINITIONS
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.