Splits up singular files for each language into dirs with the following structure:
language.ts for options and the exported _TargetLanguage class
_Renderer.ts for the various renderer(s) that perform the main logic
utils.ts for help functions, ie. naming
constants.ts for large chunks of static strings
Motivation and Context
This change helps to break down these previously huge files into smaller chunks that are easier to isolate and grok while working on a particular language.
Additionally help to improve performance for linting and formatting threads.
C++ and CJSON are still very large so could use additional refactor work there
Description
Splits up singular files for each language into dirs with the following structure:
language.ts
for options and the exported_TargetLanguage
class_Renderer.ts
for the various renderer(s) that perform the main logicutils.ts
for help functions, ie. namingconstants.ts
for large chunks of static stringsMotivation and Context
This change helps to break down these previously huge files into smaller chunks that are easier to isolate and grok while working on a particular language. Additionally help to improve performance for linting and formatting threads.
C++ and CJSON are still very large so could use additional refactor work there
Previous Behaviour / Output
Before:![image](https://github.com/glideapps/quicktype/assets/10782902/69af96ae-33f4-4f4d-b273-228b38a4a077)
New Behaviour / Output
After:![image](https://github.com/glideapps/quicktype/assets/10782902/a73be267-71b4-410b-9928-f61485a39e39)
How Has This Been Tested?
Builds and tests still pass 👍
Screenshots (if appropriate):