use napi_derive::napi;
use rspack_core::ResourceData;
#[napi(object)]
pub struct JsResourceData {
pub resource: String,
pub path: Option<String>,
pub query: Option<String>,
pub fragment: Option<String>,
}
impl From<ResourceData> for JsResourceData {
fn from(value: ResourceData) -> Self {
Self {
resource: value.resource,
path: value.resource_path.map(|p| p.as_str().to_string()),
query: value.resource_query,
fragment: value.resource_fragment,
}
}
}
impl From<&ResourceData> for JsResourceData {
fn from(value: &ResourceData) -> Self {
Self {
resource: value.resource.to_owned(),
path: value.resource_path.as_ref().map(|p| p.as_str().to_string()),
fragment: value.resource_fragment.as_ref().map(|r| r.to_owned()),
query: value.resource_query.as_ref().map(|r| r.to_owned()),
}
}
}