feat(wasm): validate client event and state ABI
req: client_local/005\nreq: client_local/006\nreq: client_local/007\nreq: client_local/008\nreq: client_local/009\nreq: client_local/010\nreq: client_local/014
This commit is contained in:
@@ -1609,6 +1609,8 @@ fn known_hemx_attr(name: &str) -> bool {
|
||||
| "data-hemx-on"
|
||||
| "data-hemx-client"
|
||||
| "data-hemx-client-event"
|
||||
| "data-hemx-client-fallback"
|
||||
| "data-hemx-client-state-version"
|
||||
| "data-hemx-pending-class"
|
||||
| "data-hemx-indicator"
|
||||
| "data-hemx-confirm"
|
||||
@@ -1668,6 +1670,20 @@ fn reject_invalid_hemx_attr_values(path: &Path, attrs: &[SurfaceAttribute]) -> i
|
||||
"expected a runtime-supported event",
|
||||
));
|
||||
}
|
||||
"data-hemx-client-state-version"
|
||||
if value
|
||||
.parse::<u32>()
|
||||
.ok()
|
||||
.filter(|version| *version > 0)
|
||||
.is_none() =>
|
||||
{
|
||||
return Err(invalid_hemx_value(
|
||||
path,
|
||||
&attr.name,
|
||||
value,
|
||||
"expected a positive client state ABI version",
|
||||
));
|
||||
}
|
||||
"data-hemx-on" if !valid_event_list(value) => {
|
||||
return Err(invalid_hemx_value(
|
||||
path,
|
||||
|
||||
Reference in New Issue
Block a user