You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
570 B
27 lines
570 B
'use strict';
|
|
|
|
/*!
|
|
* returns discriminator by discriminatorMapping.value
|
|
*
|
|
* @param {Model} model
|
|
* @param {string} value
|
|
*/
|
|
|
|
module.exports = function getDiscriminatorByValue(model, value) {
|
|
let discriminator = null;
|
|
if (!model.discriminators) {
|
|
return discriminator;
|
|
}
|
|
for (const name in model.discriminators) {
|
|
const it = model.discriminators[name];
|
|
if (
|
|
it.schema &&
|
|
it.schema.discriminatorMapping &&
|
|
it.schema.discriminatorMapping.value == value
|
|
) {
|
|
discriminator = it;
|
|
break;
|
|
}
|
|
}
|
|
return discriminator;
|
|
};
|