@openhps/core
Version:
Open Hybrid Positioning System - Core component
34 lines • 1.49 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { SerializableArrayMember, SerializableMember, SerializableObject, NumberType } from '../decorators';
import { v4 as uuidv4 } from 'uuid';
import { AbsolutePosition } from './AbsolutePosition';
import { TimeService } from '../../service/TimeService';
let Trajectory = class Trajectory {
get trajectoryStart() {
if (!this.positions || this.positions.length === 0) return -1;
return this.positions[0].timestamp;
}
get trajectoryEnd() {
if (!this.positions || this.positions.length === 0) return -1;
return this.positions[this.positions.length - 1].timestamp;
}
constructor(objectUID) {
this.uid = uuidv4();
this.positions = [];
this.objectUID = objectUID;
this.createdTimestamp = TimeService.now();
}
};
__decorate([SerializableMember({
primaryKey: true
}), __metadata("design:type", String)], Trajectory.prototype, "uid", void 0);
__decorate([SerializableMember({
index: true
}), __metadata("design:type", String)], Trajectory.prototype, "objectUID", void 0);
__decorate([SerializableArrayMember(AbsolutePosition), __metadata("design:type", Array)], Trajectory.prototype, "positions", void 0);
__decorate([SerializableMember({
index: true,
numberType: NumberType.LONG
}), __metadata("design:type", Number)], Trajectory.prototype, "createdTimestamp", void 0);
Trajectory = __decorate([SerializableObject(), __metadata("design:paramtypes", [String])], Trajectory);
export { Trajectory };