wit-component 0.251.0

Tooling for working with `*.wit` and component files together.
Documentation
(component
  (type (;0;)
    (component
      (type (;0;)
        (instance
          (type (;0;) (option string))
          (type (;1;) (func (param "key" string) (result 0)))
          (export (;0;) "get" (func (type 1)))
          (type (;2;) (func (param "key" string) (param "value" string)))
          (export (;1;) "set" (func (type 2)))
        )
      )
      (export (;0;) "foo:foo/store" (instance (type 0)))
    )
  )
  (export (;1;) "store" (type 0))
  (type (;2;)
    (component
      (type (;0;)
        (instance
          (type (;0;) (func (param "msg" string)))
          (export (;0;) "log" (func (type 0)))
        )
      )
      (export (;0;) "foo:foo/logger" (instance (type 0)))
    )
  )
  (export (;3;) "logger" (type 2))
  (type (;4;)
    (component
      (type (;0;)
        (component
          (type (;0;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (import "primary" (implements "foo:foo/store") (instance (;0;) (type 0)))
          (type (;1;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (import "backup" (implements "foo:foo/store") (instance (;1;) (type 1)))
          (type (;2;)
            (instance
              (type (;0;) (func (param "msg" string)))
              (export (;0;) "log" (func (type 0)))
            )
          )
          (import "foo:foo/logger" (instance (;2;) (type 2)))
        )
      )
      (export (;0;) "foo:foo/multi-import" (component (type 0)))
    )
  )
  (export (;5;) "multi-import" (type 4))
  (type (;6;)
    (component
      (type (;0;)
        (component
          (type (;0;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (export (;0;) "primary" (implements "foo:foo/store") (instance (type 0)))
          (type (;1;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (export (;1;) "backup" (implements "foo:foo/store") (instance (type 1)))
        )
      )
      (export (;0;) "foo:foo/multi-export" (component (type 0)))
    )
  )
  (export (;7;) "multi-export" (type 6))
  (type (;8;)
    (component
      (type (;0;)
        (component
          (type (;0;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (import "foo:foo/store" (instance (;0;) (type 0)))
          (type (;1;)
            (instance
              (type (;0;) (option string))
              (type (;1;) (func (param "key" string) (result 0)))
              (export (;0;) "get" (func (type 1)))
              (type (;2;) (func (param "key" string) (param "value" string)))
              (export (;1;) "set" (func (type 2)))
            )
          )
          (import "cache" (implements "foo:foo/store") (instance (;1;) (type 1)))
        )
      )
      (export (;0;) "foo:foo/mixed" (component (type 0)))
    )
  )
  (export (;9;) "mixed" (type 8))
  (@custom "package-docs" "\01{\22worlds\22:{\22multi-import\22:{\22docs\22:\22A world that imports the same interface multiple times under different\5cnplain names using the `implements` syntax.\22},\22multi-export\22:{\22docs\22:\22A world that exports the same interface multiple times.\22},\22mixed\22:{\22docs\22:\22A world with both implements imports and a normal interface import,\5cntesting that elaboration adds the dependency correctly.\22}}}")
  (@producers
    (processed-by "wit-component" "$CARGO_PKG_VERSION")
  )
)