Support component enum
, variant
, flags
types
#397
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for
enum
,variant
andflags
component model types.enum
: maps to a Ruby String. The string is not validated at convert time given Wasmtime will validate it at a later point. By adding an extra validation, we'd incur the validation cost twice. The tradeoff here is that the error happens outside of the conversion where we can no longer add additional context to the error message (e.g. list of valid values, which arg the error occurred in, etc.)variant
: maps to aWasmtime::Component::Variant
similar toresult
.flags
: maps to a Ruby Array of Strings, reflectingVal::Flags
which wraps aVec<String>
.