UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

19 lines (18 loc) 696 B
import { CsvMapper } from "../CsvMapper.js"; import { CsvFileSource } from "../CsvFileSource.js"; import { RR0Datasource } from "./RR0Datasource.js"; export class RR0FileDatasource extends RR0Datasource { constructor(mapper) { super(); this.mapper = mapper; this.file = new CsvFileSource(); } save(context, fetched, fetchTime) { return this.file.write(context, fetched, fetchTime, this); } async readCases(context) { const fileMapper = new CsvMapper(); const file = await this.file.read(context, this); return fileMapper.parse(file.contents).map(csvCase => this.mapper.map(context, csvCase, file.lastModified)); } }