@openhps/core
Version:
Open Hybrid Positioning System - Core component
42 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KeyValueDataService = void 0;
const DataService_1 = require("./DataService");
const MemoryDataService_1 = require("./MemoryDataService");
/**
* Basic key value data service. This data service can be used to communicate
* between workers and the main thread.
*/
class KeyValueDataService extends DataService_1.DataService {
constructor(uid, dataServiceDriver) {
super(dataServiceDriver);
if (!dataServiceDriver) {
this.driver = new MemoryDataService_1.MemoryDataService(Object, {
serialize: (d) => d,
deserialize: (d) => d,
});
this.driver.dataType = Object;
}
this.uid = uid || this.constructor.name;
}
/**
* Get the value of a key
* @param {string} key Key
* @returns {Promise<any>} Promise of the value
*/
getValue(key) {
return this.findByUID(key);
}
/**
* Set a value
* @param {string} key Key to use
* @param {any} value Value to store
* @returns {Promise<void>} Promise of setting the value
*/
setValue(key, value) {
this.emit('set', key, value);
return this.insert(key, value);
}
}
exports.KeyValueDataService = KeyValueDataService;
//# sourceMappingURL=KeyValueDataService.js.map