wit-parser 0.247.0

Tooling for parsing `*.wit` files and working with their contents.
Documentation
package wasmtime:test;

world test{
    @unstable(feature = active)
    include wasi:unstable/imports@0.2.3; 
    include wasi:foo/imports@0.2.3;
    include wasi:someother/imports@0.2.3;
}

world test-ordered {
    include wasi:someother/imports@0.2.3;
    include wasi:foo/imports@0.2.3;
    @unstable(feature = active)
    include wasi:unstable/imports@0.2.3; 
}

world test-no-stability {
    include wasi:someother/imports@0.2.3;
    include wasi:foo/imports@0.2.3;
    include wasi:unstable/imports@0.2.3; 
}

world test-only-stable {
    include wasi:foo/imports@0.2.3;
}

world test-only-stable-with-feature {
    @unstable(feature = active)
    include wasi:foo/imports@0.2.3;
}

// in test this results in world with nothing
world test-only-stable-with-in-active-feature {
    @unstable(feature = in-active)
    include wasi:foo/imports@0.2.3;
}

package wasi:unstable@0.2.3 {
    @unstable(feature = active)
    world imports {
        @unstable(feature = active)
        use wasi:dep2/stable@0.2.3.{stable-resource};
        @unstable(feature = active)
        use wasi:dep-unversioned/unversioned.{unversioned-resource};
        @unstable(feature = active)
        use wasi:dep-unstable/unstable.{unstable-resource};
    }
}

package wasi:someother@0.2.3 {
    @since(version = 0.2.0)
    world imports {
        import someother;
    }

    @since(version = 0.2.0)
    interface someother {
        @since(version = 0.2.0)
        resource someother-resource {
        }
    }
}



package wasi:foo@0.2.3 {
    @since(version = 0.2.0)
    world imports {
        @since(version = 0.2.0)
        include wasi:dep2/imports@0.2.3;
        include wasi:dep-unversioned/imports;
        include wasi:dep-unstable/imports;
    }
}

package wasi:dep2@0.2.3 {
    @since(version = 0.2.0)
    world imports {
        @since(version = 0.2.0)
        import stable;
    }
    @since(version = 0.2.0)
    interface stable {
        resource stable-resource {
        }
    }
}

package wasi:dep-unversioned{
    world imports {
        import unversioned;
    }
    interface unversioned {
        resource unversioned-resource {

        }
    }
}

package wasi:dep-unstable{
    @unstable(feature = active)
    world imports {
        @unstable(feature = active)
        import unstable;
    }
    @unstable(feature = active)
    interface unstable {
        @unstable(feature = active)
        resource unstable-resource {

        }
    }
}