macro_rules! namespace_field_getter {
(
$namespace:literal {
$(
$field_js_name:literal: $function_name:ident -> $field_type:ty;
)*
}
) => {
$(
pub fn $function_name<'env>(env: &'env napi::Env) -> Result<$field_type, napi::Error> {
let vscode_object = super::VscodeContext::vscode(env)?;
let window: bindgen_prelude::Object = vscode_object.get_named_property($namespace)?;
window.get_named_property($field_js_name)
}
)*
};
}
pub(crate) use namespace_field_getter;