@rr0/cms
Version:
RR0 Content Management System (CMS)
23 lines (22 loc) • 687 B
JavaScript
import { WitnessReplacer } from "./WitnessReplacer.js";
/**
* Creates replacers for redacted HTML in a given context.
*/
export class WitnessReplacerFactory {
constructor() {
this.singleton = new WitnessReplacer();
}
async create(context) {
const instance = await this.getInstance();
return {
replace: async (original) => {
const witnessId = original.className.substring("temoin".length);
const witnessName = original.textContent;
return instance.replacement(context, witnessName, witnessId);
}
};
}
async getInstance() {
return this.singleton;
}
}