@rr0/cms
Version:
RR0 Content Management System (CMS)
33 lines (32 loc) • 1.01 kB
TypeScript
import { Datasource } from "./Datasource.js";
import { CaseMapper } from "./CaseMapper.js";
import { FileDatasource } from "./FileDatasource.js";
import { ChronologyReplacerActions } from "./ChronologyReplacerActions.js";
/**
* @param C The context type to use.
* @param S The source case type (FuforaCaseSummary for instance).
* @param T The target case type (RR0CaseSummary for instance).
*/
export interface CaseMapping<C, S, T> {
/**
* The source to fetch cases from.
*
* @param S The source case type.
*/
readonly datasource: Datasource<S>;
/**
* The source to read/write cases from (for backup).
*
* @param S The source case type.
*/
readonly backupDatasource?: FileDatasource<S>;
/**
* Maps source case to target case.
*
* @param C The context type
* @param S The source case type
* @param T The target case type
*/
readonly mapper: CaseMapper<C, S, T>;
readonly actions: ChronologyReplacerActions;
}