chenyc
2025-05-29 92f69c57b920cf62ecc9f15f9ed196fa26dbf2ac
1
2
3
4
5
6
7
8
9
10
11
12
'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);
  }
};