Rust winmd parser
A winmd parser written in Rust and based on the ECMA-335 standard. This winmd parser powers Rust/WinRT. A C++ winmd parser can be found here.
Rust winmd parser
License: MIT License
A winmd parser written in Rust and based on the ECMA-335 standard. This winmd parser powers Rust/WinRT. A C++ winmd parser can be found here.
This needs to be made more idiomatic.
It would be dramatically easier to use this parser if the TypeDef
and other row kinds stored a reference to the TypeReader
rather than having to pass it into every method explicitly. That's the way the C++ version of winmd-rs works and its the one thing that's much easier about the library that inspired this Rust version.
A macro should probably be used to generate the implementations of encode
and decode
as they are very repetitive and error prone.
Mentioned here: #1 (review)
Ideally we can avoid (most of) the unsafe code in database.rs
by offsetting directly into the Database::bytes
vector rather than casting to the various C-style structs for the various PE headers.
Ideally we can avoid having to create a collection/array to call this function.
Mentioned here: #1 (review)
I wonder if you've seen the https://github.com/Boddlnagg/climeta project, and (as the larger context), the https://github.com/contextfree/winrt-rust project?
Seems like the goal is basically the same as what you're doing here. I'm currently the maintainer of both projects, but I don't really have much time to work on it. I'm very happy that you (and Microsoft) are looking into this space officially now.
I just wonder if there's something you can reuse from the existing projects so you don't have to reinvent the wheel ;-)
I've done most of these but some remain.
Mentioned here: #1 (review)
From #23 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.