@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
30 lines (27 loc) • 701 B
text/typescript
import {BaseParamType} from '../../_Base';
import {ParamEvent} from '../../../poly/ParamEvent';
import {Poly} from '../../../Poly';
export class ParamErrorState {
private _message: string | undefined;
constructor(private param: BaseParamType) {}
set(message: string | undefined) {
if (this._message != message) {
if (message) {
Poly.error(`[${this.param.path()}] error: '${message}'`);
} else {
Poly.warn(`[${this.param.path()}] clear error`);
}
this._message = message;
this.param.emitController.emit(ParamEvent.ERROR_UPDATED);
}
}
message() {
return this._message;
}
clear() {
this.set(undefined);
}
active(): boolean {
return this._message != null;
}
}