import { Reporter } from '../reporter/reporter.js';
import { Component } from '../component/component.js';
/**
* Package configuration settings
*/
class ConfigurationSettings extends Component {
/**
* @param {Reporter} reporter
* @param {Object} settings
*/
constructor( reporter, settings ) {
super(reporter, settings);
// /** @type {Reporter} */
// this._reporter = reporter;
// /**
// * @private
// * @type {Boolean}
// */
// this._blockExtend = settings?.blockExtend || true;
// /**
// * @private
// * @type {Boolean}
// */
// this._blockInsert = settings?.blockInsert || true;
// /**
// * @private
// * @type {Boolean}
// */
// this._blockReplace = settings?.blockReplace || true;
}
static _exportName = {
singular: 'configurationSetting',
plural: 'configurationSettings'
};
// /** @private */
// _dispatchChangeEvent() {
// this.emit({ type: 'change', value: this.toJSON() } );
// }
/** @type {Boolean} */
get blockInsert() {
return this._blockInsert;
}
set blockInsert( val ) {
this.report({ msg: `set blockInsert=${val}` });
this._blockInsert = val;
this._dispatchChangeEvent();
}
/** @type {Boolean} */
get blockExtend() {
return this._blockExtend;
}
set blockExtend( val ) {
this.report({ msg: `set blockExtend=${val}` });
this._blockExtend = val;
this._dispatchChangeEvent();
}
/** @type {Boolean} */
get blockReplace() {
return this._blockReplace;
}
set blockReplace( val ) {
this.report({ msg: `set blockReplace=${val}` });
this._blockReplace = val;
this._dispatchChangeEvent();
}
/** @returns {ConfigurationOptions} */
// toJSON() {
// return {
// blockExtend: this._blockExtend,
// blockInsert: this._blockInsert,
// blockReplace: this._blockReplace
// }
// }
}
export { ConfigurationSettings };