UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

23 lines (22 loc) 764 B
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"); } }