impl TryFrom<export::js::PackageJson> for Package {
type Error = export::js::LoadPackageError;
fn try_from(input: export::js::PackageJson) -> Result<Self, Self::Error> {
use package_json_schema::{Person, PersonObject};
Ok(Self {
language: "js".into(),
name: input.name.unwrap_or_default(),
version: input.version.unwrap_or_default(),
authors: input
.author
.into_iter()
.map(|person| match person {
Person::String(name) => name,
Person::Object(person) => person.name,
})
.collect(),
description: input.description,
homepage: input.homepage,
keywords: input.keywords.unwrap_or_default(),
categories: vec![], licenses: input.license.into_iter().collect(),
repository: None,
metadata: None, })
}
}