feat(example): set discriminated properties to mapped value (#8213)

This commit is contained in:
Ahmed Yarub Hani Al Nuaimi
2022-10-17 20:22:43 -03:00
committed by GitHub
parent 7936ec9fea
commit f5bb456ffa
2 changed files with 82 additions and 1 deletions

View File

@@ -346,7 +346,20 @@ export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = und
if(!canAddProperty(propName)) {
return
}
res[propName] = sampleFromSchemaGeneric(props[propName], config, overrideE, respectXML)
if(Object.prototype.hasOwnProperty.call(schema, "discriminator") &&
schema.discriminator &&
Object.prototype.hasOwnProperty.call(schema.discriminator, "mapping") &&
schema.discriminator.mapping &&
schema.discriminator.propertyName === propName) {
for (let pair in schema.discriminator.mapping){
if (schema.$$ref.search(schema.discriminator.mapping[pair]) !== -1) {
res[propName] = pair
break
}
}
} else {
res[propName] = sampleFromSchemaGeneric(props[propName], config, overrideE, respectXML)
}
propertyAddedCounter++
}
}