UNPKG

@fox-hound-tools/refine-library

Version:

Refine sdk library

44 lines 1.81 kB
import { createMainErrorFromDiscriminatorValue } from './error'; /** * metadataを探索し、uriTemplateの{?value}を{?value*}に変換する */ export function metadataUriTemplateConverter(metadata, convertTarget) { Object.values(metadata).forEach((data) => { if (data.navigationMetadata) { metadataUriTemplateConverter(data.navigationMetadata, convertTarget); } if (data.requestsMetadata) { Object.values(data.requestsMetadata).forEach((request) => { convertTarget.forEach((target) => { // queryの中にあるかどうかを確認 if (new RegExp(`.*{?.*${target}.*}`).test(request.uriTemplate)) { const split = request.uriTemplate.split('{?'); const replace = split[1].replace(target, `${target}*`); request.uriTemplate = `${split[0]}{?${replace}`; } }); }); } }); } /** * metadataを探索し、errorMapsが未設定の場合に`{XXX: createMainErrorFromDiscriminatorValue}`を設定する */ export function metadataErrorMapConverter(metadata) { Object.values(metadata).forEach((data) => { if (data.navigationMetadata) { metadataErrorMapConverter(data.navigationMetadata); } if (data.requestsMetadata) { Object.values(data.requestsMetadata).forEach((request) => { if (!request.errorMappings) { request.errorMappings = {}; } if (!request.errorMappings['XXX']) { request.errorMappings['XXX'] = createMainErrorFromDiscriminatorValue; } }); } }); } //# sourceMappingURL=utils.js.map