UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

46 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActuatorObject = exports.ActuatorProperty = void 0; const tslib_1 = require("tslib"); const decorators_1 = require("../decorators"); const DataObject_1 = require("./DataObject"); let ActuatorProperty = class ActuatorProperty { }; exports.ActuatorProperty = ActuatorProperty; tslib_1.__decorate([ (0, decorators_1.SerializableMember)(), tslib_1.__metadata("design:type", String) ], ActuatorProperty.prototype, "name", void 0); tslib_1.__decorate([ (0, decorators_1.SerializableMember)(), tslib_1.__metadata("design:type", Function) ], ActuatorProperty.prototype, "callback", void 0); exports.ActuatorProperty = ActuatorProperty = tslib_1.__decorate([ (0, decorators_1.SerializableObject)() ], ActuatorProperty); /** * An actuator object is a spatial object with actuator properties * that can trigger a state change. */ let ActuatorObject = class ActuatorObject extends DataObject_1.DataObject { constructor() { super(...arguments); this.properties = new Map(); } invoke(method, ...args) { const property = this.properties.get(method); if (!property) { return Promise.resolve(undefined); } return property.callback(args); } }; exports.ActuatorObject = ActuatorObject; tslib_1.__decorate([ (0, decorators_1.SerializableMapMember)(String, () => ActuatorProperty), tslib_1.__metadata("design:type", Map) ], ActuatorObject.prototype, "properties", void 0); exports.ActuatorObject = ActuatorObject = tslib_1.__decorate([ (0, decorators_1.SerializableObject)() ], ActuatorObject); //# sourceMappingURL=ActuatorObject.js.map