Split project into multiple standalone packages
peldax opened this issue · comments
- Tokenizer + Source
- Parser
- Normalizer
- Resolver
- Typesystem
- Introspection
- Printing
- Request (skipped)
- Addon types & directives
- Upload module
Splitting Parser requires refactoring and moving normalizing logic from parser classes. - visitor pattern
Extracting whole typesystem into separate package would lead to deep namespace structure and possibly reduced ergonomics.
Typesystem has been moved to standalone namespace, which is ready to be extracted without BC breaks.
But first there is some refatoring to do, Value must be decoupled from Argument, but this is not important in order to release final 1.0.