@rr0/cms
Version:
RR0 Content Management System (CMS)
21 lines (20 loc) • 626 B
JavaScript
export class TimeReplacerFactory {
constructor(replacer, timeUrlBuilder) {
this.replacer = replacer;
this.timeUrlBuilder = timeUrlBuilder;
}
/**
* Creates a contextual replacer for time tags.
*
* @param context
*/
async create(context) {
return {
replace: (original) => {
const isTimeFile = this.timeUrlBuilder.isTimeFile(context.file.name);
const replacementContext = isTimeFile ? context.clone() : context;
return this.replacer.replacement(replacementContext, original);
}
};
}
}