UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

28 lines 1.47 kB
import { __decorate, __metadata } from "tslib"; import { Service } from './Service'; import { DataSerializer } from '../data/DataSerializer'; import { SerializableMember, SerializableObject } from '../data/decorators'; /** * DataService driver for storing and querying data objects * of a specific data type using a certain implementation. */ let DataServiceDriver = class DataServiceDriver extends Service { constructor(dataType, options = {}) { super(); this.options = options; this.options.serialize = this.options.serialize || (obj => DataSerializer.serialize(obj)); this.options.deserialize = this.options.deserialize || (obj => DataSerializer.deserialize(obj)); this.options.keepChangelog = this.options.keepChangelog === undefined ? true : this.options.keepChangelog; if (dataType) { this.uid = dataType.name; this.dataType = dataType; } } }; __decorate([SerializableMember({ serializer: dataType => dataType ? dataType.name : undefined, deserializer: dataTypeString => dataTypeString ? DataSerializer.findTypeByName(dataTypeString) : undefined }), __metadata("design:type", Object)], DataServiceDriver.prototype, "dataType", void 0); __decorate([SerializableMember(), __metadata("design:type", Object)], DataServiceDriver.prototype, "options", void 0); DataServiceDriver = __decorate([SerializableObject(), __metadata("design:paramtypes", [Object, Object])], DataServiceDriver); export { DataServiceDriver };