blob: e05480d2ef8736ab4600f3f674880c1303fd5bc8 [file] [log] [blame]
interface PlainObject {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
}
export default class Plugin {
config: PlainObject;
constructor() {
this.config = {};
}
resetConfig() {
// The child class can set default config
// by overriding this function.
this.config = {};
return this;
}
configure(config: PlainObject, replace = false) {
this.config = replace ? config : { ...this.config, ...config };
return this;
}
register() {
return this;
}
unregister() {
return this;
}
}