Web app helping explain how a particular Smithy schema and input would get represented using several wire formats.
The application is implemented using Scala.js with the Calico library, with a little bit of Java used to interact with the smithy-model JVM library - the Java bits are accessed through CheerpJ.
Further processing of the Smithy model is done with Smithy4s and its Dynamic module.
Possible improvements for the future:
- Attempt to discover poor connections so that the JVM doesn't eagerly get loaded on those
- Responsive design for any kind of mobile support
- Encoding/decoding to more formats
- Running CheerpJ in Web Workers
- Automatically updating the content-length header in HTTP requests
- UI cleanup
- Embedding in Smithy4s documentation
Code formatting(done)Permalinks(done)- Textarea replacement (Codemirror, Monaco, etc.)
cd web && yarn start