wit-component 0.5.0

Tooling for working with `*.wit` and component files together.
Documentation
(component
  (type (;0;)
    (component
      (type (;0;)
        (instance
          (type (;0;) (record))
          (export (;1;) "response" (type (eq 0)))
          (type (;2;) (record))
          (export (;3;) "request" (type (eq 2)))
        )
      )
      (export (;0;) "types" "pkg:/types/types" (instance (type 0)))
    )
  )
  (export (;1;) "types" "pkg:/types" (type 0))
  (type (;2;)
    (component
      (type (;0;)
        (instance
          (type (;0;) (record))
          (export (;1;) "response" (type (eq 0)))
          (type (;2;) (record))
          (export (;3;) "request" (type (eq 2)))
        )
      )
      (import "types" "pkg:/types/types" (instance (type 0)))
      (alias export 0 "request" (type (;1;)))
      (alias export 0 "response" (type (;2;)))
      (type (;3;)
        (instance
          (alias outer 1 1 (type (;0;)))
          (export (;1;) "request" (type (eq 0)))
          (alias outer 1 2 (type (;2;)))
          (export (;3;) "response" (type (eq 2)))
          (type (;4;) (func (param "request" 1) (result 3)))
          (export (;0;) "handle" (func (type 4)))
        )
      )
      (export (;0;) "handler" "pkg:/handler/handler" (instance (type 3)))
    )
  )
  (export (;3;) "handler" "pkg:/handler" (type 2))
  (type (;4;)
    (component
      (type (;0;)
        (component
          (type (;0;)
            (instance
              (type (;0;) (enum "info" "debug"))
              (export (;1;) "level" (type (eq 0)))
              (type (;2;) (func (param "level" 1) (param "msg" string)))
              (export (;0;) "log" (func (type 2)))
            )
          )
          (import "console" "path:/wasi-logging/backend/backend" (instance (type 0)))
          (type (;1;)
            (instance
              (type (;0;) (record))
              (export (;1;) "response" (type (eq 0)))
              (type (;2;) (record))
              (export (;3;) "request" (type (eq 2)))
            )
          )
          (import "types" "pkg:/types/types" (instance (type 1)))
          (alias export 1 "request" (type (;2;)))
          (alias export 1 "response" (type (;3;)))
          (type (;4;)
            (instance
              (alias outer 1 2 (type (;0;)))
              (export (;1;) "request" (type (eq 0)))
              (alias outer 1 3 (type (;2;)))
              (export (;3;) "response" (type (eq 2)))
              (type (;4;) (func (param "request" 1) (result 3)))
              (export (;0;) "handle" (func (type 4)))
            )
          )
          (import "origin" "pkg:/handler/handler" (instance (type 4)))
          (alias export 2 "request" (type (;5;)))
          (alias export 2 "response" (type (;6;)))
          (type (;7;)
            (instance
              (alias outer 1 5 (type (;0;)))
              (alias outer 1 6 (type (;1;)))
              (type (;2;) (func (param "request" 0) (result 1)))
              (export (;0;) "handle" (func (type 2)))
            )
          )
          (export (;0;) "handler" "pkg:/handler/handler" (instance (type 7)))
        )
      )
      (export (;0;) "proxy" "pkg:/proxy/proxy" (component (type 0)))
    )
  )
  (export (;5;) "proxy" "pkg:/proxy" (type 4))
)