moon_pdk/
extension.rs

1use extism_pdk::{config, json};
2use serde::de::DeserializeOwned;
3use warpgate_pdk::AnyResult;
4
5/// Get configuration for the current extension plugin.
6pub fn get_extension_config<T: Default + DeserializeOwned>() -> AnyResult<T> {
7    let config: T = if let Some(value) = config::get("moon_extension_config")? {
8        json::from_str(&value)?
9    } else {
10        T::default()
11    };
12
13    Ok(config)
14}