Note: currently, only the identifier name and the optional documentation for each supported entity and member are implemented. That was all that was needed at the time the crate was developed. However, we will implement requests and/or accept pull requests that add additional introspection—please just leave an issue on the issues page!
📚 Getting Started
You can add introspect
as a dependency via the Github repository.
You can then use the introspect::Introspected
trait and related traits to pull out the
information you wish. Typically, you will do with the introspect::Introspect
derive
macro like so.
use Entity;
use Introspect;
use IntrospectedEntity;
use IntrospectedMembers;
use Member;
/// This is the documentation for the [`Example`] enum.
///
/// We can add more text down here.
Examples
You can also take a look at the examples to get a sense of the various ways you can use the crate.
🖥️ Development
To bootstrap a development environment, please use the following commands.
# Clone the repository
# Build the crate in release mode
# List out the examples
🚧️ Tests
Before submitting any pull requests, please make sure the code passes the following checks.
# Run the project's tests.
# Ensure the project doesn't have any linting warnings.
# Ensure the project passes `cargo fmt`.
# Ensure the docs build successfully.
Minumum Supported Rust Version (MSRV)
This crate is designed to work with Rust version 1.74.0 or later. It may, by happenstance, work with earlier versions of Rust.
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check issues page.
📝 License
This project is licensed as either Apache 2.0 or MIT at your discretion.
Copyright © 2023-Present Clay McLeod.