UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

28 lines (27 loc) 949 B
import { UfoSearchDatasource } from "./UfoSearchDatasource.js"; import { JsonMapper } from "../JsonMapper.js"; import { FileContents } from "@javarome/fileutil"; class FileMapper extends JsonMapper { constructor(mapper) { super(); this.mapper = mapper; } parse(context, data) { const allData = super.parse(context, data); return allData["Majestic Timeline"].map((line) => this.mapper.map(context, line, context.file.lastModified)); } } export class UfoSearchFileDatasource extends UfoSearchDatasource { constructor(fileName, mapper) { super(); this.fileName = fileName; this.fileMapper = new FileMapper(mapper); } async readCases(context) { const file = FileContents.read(this.fileName, "utf-8"); return this.fileMapper.parse(context, file.contents); } save(context, fetched, fetchTime) { throw new Error("Not implemented"); } }