maestro-roku-bsc-plugin
Version:
Visual studio plugin for maestro brightscript development
54 lines • 1.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BindingProperties = void 0;
const BindingType_1 = require("./BindingType");
class BindingProperties {
constructor(type = BindingType_1.BindingType.invalid, fireTiming = 'none', // can be lazy or eager
transformFunction = null, isFiringOnce = false, sendMode = BindingType_1.BindingSendMode.na) {
this.type = type;
this.fireTiming = fireTiming;
this.transformFunction = transformFunction;
this.isFiringOnce = isFiringOnce;
this.sendMode = sendMode;
}
getModeText() {
switch (this.sendMode) {
case BindingType_1.BindingSendMode.value:
return 'value';
case BindingType_1.BindingSendMode.node:
return 'node';
case BindingType_1.BindingSendMode.both:
return 'both';
case BindingType_1.BindingSendMode.field:
return 'field';
case BindingType_1.BindingSendMode.na:
case BindingType_1.BindingSendMode.none:
default:
return 'none';
}
}
get fireOnSetText() {
if (this.fireTiming === 'lazy') {
return false;
}
else if (this.fireTiming === 'eager') {
return true;
}
else {
switch (this.type) {
case BindingType_1.BindingType.oneWaySource:
case BindingType_1.BindingType.code:
case BindingType_1.BindingType.static:
return true;
case BindingType_1.BindingType.oneWayTarget:
case BindingType_1.BindingType.twoWay:
return false;
case BindingType_1.BindingType.invalid:
default:
return false;
}
}
}
}
exports.BindingProperties = BindingProperties;
//# sourceMappingURL=BindingProperties.js.map