@showbridge/lib
Version:
Main library for showbridge protocol router
39 lines (38 loc) • 952 B
JavaScript
import { disabled, Templating } from '../utils/index.js';
class Transform {
constructor(transformObj) {
this.obj = transformObj;
}
// eslint-disable-next-line no-underscore-dangle, no-unused-vars
_transform(msg, vars) { }
transform(msg, vars) {
if (!this.enabled) {
return;
}
this._transform(msg, vars);
}
get type() {
return this.obj.type;
}
get params() {
return this.obj.params;
}
get enabled() {
return this.obj.enabled && !disabled.transforms.has(this.type);
}
get comment() {
return this.obj.comment;
}
resolveTemplatedParams(data) {
return Templating.resolveAllKeys(this.params, data);
}
toJSON() {
return {
type: this.type,
params: this.params,
enabled: this.enabled,
comment: this.comment,
};
}
}
export default Transform;