UNPKG

@tjc-group/odata-v2-service-metadata

Version:

Limited version of OData metadata response for OData V2, based on odata-v4-service-metadata

46 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const odata_v4_metadata_1 = require("@tjc-group/odata-v4-metadata"); const xmlMetadataV2_1 = require("./xmlMetadataV2"); const defineEntitiesV2_1 = require("./defineEntitiesV2"); class ServiceMetadata { static processMetadataJson(json, options) { var edmx = new odata_v4_metadata_1.Edm.Edmx(json); return new this(edmx, options); } static processEdmx(edmx, options) { return new this(edmx, options); } static defineEntities(entityConfig, options) { var json = defineEntitiesV2_1.defineEntities(entityConfig); var edmx = new odata_v4_metadata_1.Edm.Edmx(json); return new this(edmx, options); } constructor(edmx, options) { this.edmx = edmx; this.process(edmx, options); } document(format) { switch (format) { case 'json': case 'application/json': throw new Error('Not implemented'); default: return this.data; } } process(edmx, options) { var xmlMetadata = new xmlMetadataV2_1.XmlMetadata(options, edmx); this.data = xmlMetadata.processMetadata(); } requestHandler(format) { return (_, res, __) => { res.set('Content-Type', 'application/xml'); res.send(this.document(format)); }; } valueOf() { return this.data; } } exports.ServiceMetadata = ServiceMetadata; //# sourceMappingURL=metadata.js.map