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}