UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

41 lines 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataServiceDriver = void 0; const tslib_1 = require("tslib"); const Service_1 = require("./Service"); const DataSerializer_1 = require("../data/DataSerializer"); const decorators_1 = require("../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_1.Service { constructor(dataType, options = {}) { super(); this.options = options; this.options.serialize = this.options.serialize || ((obj) => DataSerializer_1.DataSerializer.serialize(obj)); this.options.deserialize = this.options.deserialize || ((obj) => DataSerializer_1.DataSerializer.deserialize(obj)); this.options.keepChangelog = this.options.keepChangelog === undefined ? true : this.options.keepChangelog; if (dataType) { this.uid = dataType.name; this.dataType = dataType; } } }; exports.DataServiceDriver = DataServiceDriver; tslib_1.__decorate([ (0, decorators_1.SerializableMember)({ serializer: (dataType) => (dataType ? dataType.name : undefined), deserializer: (dataTypeString) => (dataTypeString ? DataSerializer_1.DataSerializer.findTypeByName(dataTypeString) : undefined), }), tslib_1.__metadata("design:type", Object) ], DataServiceDriver.prototype, "dataType", void 0); tslib_1.__decorate([ (0, decorators_1.SerializableMember)(), tslib_1.__metadata("design:type", Object) ], DataServiceDriver.prototype, "options", void 0); exports.DataServiceDriver = DataServiceDriver = tslib_1.__decorate([ (0, decorators_1.SerializableObject)(), tslib_1.__metadata("design:paramtypes", [Object, Object]) ], DataServiceDriver); //# sourceMappingURL=DataServiceDriver.js.map