Escape-Technologies / graphman

Quikly scaffold a postman collection for a GraphQL API. Compatible with Postman & Insomnia.
MIT License
242 stars 12 forks source link

refacto: clarify code and separate concerns #2

Closed nohehf closed 2 years ago

nohehf commented 2 years ago

Separate the lib.ts file so that it's easier to understand & upgrade GraphMan. Strings formatting, parsing, and output should be in separated modules.

nohehf commented 2 years ago

Planned new flow and architecture:

graph TD
    cli(CLI) --> |params| introspection(introspection)
    introspection --> |introspection query| parsing(parsing)
    parsing --> |sanitized introspection| formatting(formatting)
    formatting --> |query strings & params| converter(conversion)
    converter --> |postman collection| save[save file]

    clifile[cli.ts] -.-> cli
    lib[lib.ts] -.-> introspection
    introspecter[introspecter.ts / outrospecter.ts ?] -.-> parsing
    format[format.ts] -.-> formatting
    convert[convert.ts] -.-> converter