@openhps/core
Version:
Open Hybrid Positioning System - Core component
20 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SerializableMemberFunction = void 0;
const DataSerializerUtils_1 = require("../DataSerializerUtils");
const SerializableMember_1 = require("./SerializableMember");
/**
* @param {SerializableMemberOptions} [options] Member options
* @returns {PropertyDecorator} Property decorator
*/
function SerializableMemberFunction(options = {}) {
return (target, propertyKey) => {
options.serializer = (fn) => fn.toString();
options.deserializer = (fnStr) => eval(fnStr);
const finalOptions = DataSerializerUtils_1.DataSerializerUtils.mergeMemberOptions(target, propertyKey, options);
(0, SerializableMember_1.SerializableMember)(finalOptions)(target, propertyKey);
DataSerializerUtils_1.DataSerializerUtils.updateMemberOptions(target, propertyKey, finalOptions);
};
}
exports.SerializableMemberFunction = SerializableMemberFunction;
//# sourceMappingURL=SerializableMemberFunction.js.map