@rr0/cms
Version:
RR0 Content Management System (CMS)
25 lines (24 loc) • 677 B
JavaScript
import { PeopleReplacer } from "./PeopleReplacer.js";
/**
* Creates replacers for people HTML in a given context.
*/
export class PeopleReplacerFactory {
constructor(service, renderer) {
this.service = service;
this.renderer = renderer;
}
async create(context) {
const instance = await this.getInstance();
return {
replace: (original) => {
return instance.replacement(context, original);
}
};
}
async getInstance() {
if (!this.singleton) {
this.singleton = new PeopleReplacer(this.service, this.renderer);
}
return this.singleton;
}
}