You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
362 B
17 lines
362 B
2 years ago
|
'use strict';
|
||
|
|
||
|
// TODO: switch to class private field when targetting node.js 12
|
||
|
const _summarizer = Symbol('ReportBase.#summarizer');
|
||
|
|
||
|
class ReportBase {
|
||
|
constructor(opts = {}) {
|
||
|
this[_summarizer] = opts.summarizer;
|
||
|
}
|
||
|
|
||
|
execute(context) {
|
||
|
context.getTree(this[_summarizer]).visit(this, context);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = ReportBase;
|