From 8b73535396001643fd919d5809501300e9de6b02 Mon Sep 17 00:00:00 2001 From: lew Date: Mon, 23 Mar 2026 23:59:40 +0000 Subject: [PATCH] chore: optional descriptors for language and species --- data/schema/languages.xsd | 2 +- data/schema/species.xsd | 4 ++-- src/lib/data/parse.ts | 6 +++--- src/lib/data/types.ts | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/schema/languages.xsd b/data/schema/languages.xsd index 3f0db9d..440038c 100644 --- a/data/schema/languages.xsd +++ b/data/schema/languages.xsd @@ -7,7 +7,7 @@ - + diff --git a/data/schema/species.xsd b/data/schema/species.xsd index 7375608..18afdfc 100644 --- a/data/schema/species.xsd +++ b/data/schema/species.xsd @@ -4,7 +4,7 @@ - + @@ -13,7 +13,7 @@ - + diff --git a/src/lib/data/parse.ts b/src/lib/data/parse.ts index 10fd419..fd07b20 100644 --- a/src/lib/data/parse.ts +++ b/src/lib/data/parse.ts @@ -21,14 +21,14 @@ export function parseSpecies(xml: string): SpeciesData { return { id: root['@_id'], name: root['@_name'], - description: root.description.trim(), + description: root.description?.trim(), subspeciesLabel: root['@_subspeciesLabel'], languages: extractRefs(root.languages), citizenships: extractRefs(root.citizenships), subspecies: subspecies.map((e: any) => ({ id: e['@_id'], name: e['@_name'], - description: e.description.trim() + description: e.description?.trim() })) }; } @@ -47,7 +47,7 @@ export function parseLanguages(xml: string): LanguageData[] { return root.language.map((l: any) => ({ id: l['@_id'], name: l['@_name'], - description: l.description.trim() + description: l.description?.trim() })); } diff --git a/src/lib/data/types.ts b/src/lib/data/types.ts index da92d87..cbeff51 100644 --- a/src/lib/data/types.ts +++ b/src/lib/data/types.ts @@ -1,9 +1,9 @@ export interface SpeciesData { id: string; name: string; - description: string; + description?: string; subspeciesLabel: string; - subspecies: { id: string; name: string; description: string }[]; + subspecies: { id: string; name: string; description?: string }[]; languages: string[]; citizenships: string[]; } @@ -17,5 +17,5 @@ export interface CitizenshipData { export interface LanguageData { id: string; name: string; - description: string; + description?: string; }