@rr0/cms
Version:
RR0 Content Management System (CMS)
23 lines (22 loc) • 764 B
JavaScript
import { TypedDataFactory } from "@rr0/data";
import { NamedPlace } from "@rr0/place";
import { Level2Date as EdtfDate } from "@rr0/time";
export class CaseFactory extends TypedDataFactory {
parse(dataJson) {
const parsedCase = super.parse(dataJson);
const time = dataJson.time;
if (time) {
Object.assign(parsedCase, { time: EdtfDate.fromString(time) });
}
const placeName = dataJson.place;
if (placeName) {
parsedCase.place = new NamedPlace(placeName);
}
parsedCase.classification = dataJson.classification;
parsedCase.conclusion = dataJson.conclusion;
return parsedCase;
}
constructor(eventFactory) {
super(eventFactory, "case");
}
}