@openhps/core
Version:
Open Hybrid Positioning System - Core component
61 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeData = exports.NodeDataService = void 0;
const tslib_1 = require("tslib");
const decorators_1 = require("../data/decorators");
const DataService_1 = require("./DataService");
const uuid_1 = require("uuid");
class NodeDataService extends DataService_1.DataService {
/**
* Find node data
* @param {string} nodeUID Node identifier
* @param {DataObject} dataObject Data object to get node data for
* @returns {Promise<any>} Promise of node data for data object
*/
findData(nodeUID, dataObject) {
return new Promise((resolve) => {
this.findByUID(this.getUID(nodeUID, typeof dataObject === 'string' ? dataObject : dataObject.uid))
.then((nodeData) => {
resolve(nodeData.data);
})
.catch(() => {
resolve(undefined);
});
});
}
insertData(nodeUID, dataObject, data) {
const uid = this.getUID(nodeUID, typeof dataObject === 'string' ? dataObject : dataObject.uid);
return this.insert(uid, new NodeData(uid, data));
}
getUID(nodeUID, dataObjectUID) {
return (0, uuid_1.v5)(dataObjectUID + nodeUID, '97b9cc7e-19ca-4f20-8190-161d7b39e93a');
}
}
exports.NodeDataService = NodeDataService;
let NodeData = class NodeData {
constructor(uid, data = {}) {
this.uid = uid;
this.data = data;
}
};
exports.NodeData = NodeData;
tslib_1.__decorate([
(0, decorators_1.SerializableMember)(),
tslib_1.__metadata("design:type", String)
], NodeData.prototype, "uid", void 0);
tslib_1.__decorate([
(0, decorators_1.SerializableMember)({
serializer: (data) => {
return data;
},
deserializer: (json) => {
return json;
},
}),
tslib_1.__metadata("design:type", Object)
], NodeData.prototype, "data", void 0);
exports.NodeData = NodeData = tslib_1.__decorate([
(0, decorators_1.SerializableObject)(),
tslib_1.__metadata("design:paramtypes", [String, Object])
], NodeData);
//# sourceMappingURL=NodeDataService.js.map