UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

25 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SerializableObject = void 0; const typedjson_1 = require("typedjson"); const DataSerializer_1 = require("../DataSerializer"); const DataSerializerUtils_1 = require("../DataSerializerUtils"); /** * Serializable object * @param {SerializableObjectOptions} [options] Object serialization options * @returns {ClassDecorator} Class decorator */ function SerializableObject(options) { return (target) => { DataSerializerUtils_1.DataSerializerUtils.createMetadata(target.prototype); (0, typedjson_1.jsonObject)(options)(target); DataSerializer_1.DataSerializer['eventEmitter'].emit('updateSerializableObject', target, options); const ownMeta = DataSerializerUtils_1.DataSerializerUtils.getMetadata(target); const rootMeta = DataSerializerUtils_1.DataSerializerUtils.getRootMetadata(target.prototype); DataSerializerUtils_1.DataSerializerUtils.updateObjectMetadata(target, options, ownMeta, rootMeta); // (Re)register type DataSerializer_1.DataSerializer.registerType(target); }; } exports.SerializableObject = SerializableObject; //# sourceMappingURL=SerializableObject.js.map