You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
512 B
JavaScript
13 lines
512 B
JavaScript
11 months ago
|
'use strict';
|
||
|
|
||
|
module.exports = function checkEmbeddedDiscriminatorKeyProjection(userProjection, path, schema, selected, addedPaths) {
|
||
|
const userProjectedInPath = Object.keys(userProjection).
|
||
|
reduce((cur, key) => cur || key.startsWith(path + '.'), false);
|
||
|
const _discriminatorKey = path + '.' + schema.options.discriminatorKey;
|
||
|
if (!userProjectedInPath &&
|
||
|
addedPaths.length === 1 &&
|
||
|
addedPaths[0] === _discriminatorKey) {
|
||
|
selected.splice(selected.indexOf(_discriminatorKey), 1);
|
||
|
}
|
||
|
};
|