UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

24 lines (23 loc) 818 B
import { CsvMapper } from "./CsvMapper.js"; import { FileSource } from "./FileSource.js"; export class CsvFileSource extends FileSource { constructor(encoding = "utf-8", separator = ",") { super(encoding); this.mapper = new CsvMapper(separator); } /** * Get the file name to read/write data from an external datasource. * * @param context * @param datasource * @protected */ fileName(context, datasource) { return super.fileName(context, datasource) + ".csv"; } write(context, datasourceCases, fetchTime, datasource) { const csvContents = this.mapper.mapAll(context, datasourceCases, fetchTime); return super.writeContents(context, csvContents, datasource); } } CsvFileSource.specialChars = /[ \-?!&*#().:\/\\;=°',]/g;