123456789101112131415161718192021222324252627282930 |
- 'use strict';
- var isDefiningProjection = require('./isDefiningProjection');
- /*!
- * ignore
- */
- module.exports = function isInclusive(projection) {
- if (projection == null) {
- return false;
- }
- var props = Object.keys(projection);
- var numProps = props.length;
- if (numProps === 0) {
- return false;
- }
- for (var i = 0; i < numProps; ++i) {
- var prop = props[i];
- // If field is truthy (1, true, etc.) and not an object, then this
- // projection must be inclusive. If object, assume its $meta, $slice, etc.
- if (isDefiningProjection(projection[prop]) && !!projection[prop]) {
- return true;
- }
- }
- return false;
- };
|