UNPKG

@rxap/xml-parser

Version:

Provides a set of decorators and services for parsing and serializing XML documents into TypeScript classes. It simplifies the process of mapping XML elements and attributes to class properties, handling data validation, and serializing objects back into

19 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AddSerializerToMetadata = AddSerializerToMetadata; const reflect_metadata_1 = require("@rxap/reflect-metadata"); const metadata_keys_1 = require("../metadata-keys"); const utilities_1 = require("../utilities"); function AddSerializerToMetadata(serializer, target) { // TODO : test overwrite functionality const addedSerializer = (0, utilities_1.GetAllElementSerializer)(target.constructor) .filter(p => { const propertyKey = Reflect.get(p, 'propertyKey'); return !propertyKey || propertyKey !== serializer.propertyKey; }); (0, reflect_metadata_1.setMetadata)(metadata_keys_1.ElementParserMetaData.SERIALIZER, [...addedSerializer, serializer.serialize], target.constructor); const addedElementSerializer = (0, utilities_1.GetAllElementSerializerInstances)(target.constructor) .filter(p => p.propertyKey !== serializer.propertyKey); (0, reflect_metadata_1.setMetadata)(metadata_keys_1.ElementParserMetaData.SERIALIZER_INSTANCE, [...addedElementSerializer, serializer], target); } //# sourceMappingURL=add-serializer-to-metadata.js.map