UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

17 lines (15 loc) 733 B
import 'reflect-metadata'; import { jsonMember, IndexedObject } from 'typedjson'; import { SerializableMemberOptions } from './options'; import { DataSerializerUtils } from '../DataSerializerUtils'; /** * @param {SerializableMemberOptions} [options] Member options * @returns {PropertyDecorator} Property decorator */ export function SerializableMember(options?: SerializableMemberOptions | IndexedObject): PropertyDecorator { return (target: unknown, propertyKey: string) => { const finalOptions = DataSerializerUtils.mergeMemberOptions(target, propertyKey, options); jsonMember(finalOptions)(target, propertyKey); DataSerializerUtils.updateMemberOptions(target, propertyKey, finalOptions); }; }