respond-framework
Version:
create as fast you think
32 lines (31 loc) • 754 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
const excludeProjectFields = (proj, privateFields = []) => {
if (proj) {
const {
id,
...p
} = proj;
const values = Object.values(p);
const isEmpty = values.length === 0;
if (isEmpty) {
proj = {};
privateFields.forEach(k => proj[k] = 0);
return proj;
}
const isExlude = values.every(field => field === 0);
if (isExlude) {
privateFields.forEach(k => proj[k] = 0);
} else {
privateFields.forEach(k => delete proj[k]);
}
} else {
proj = {};
privateFields.forEach(k => proj[k] = 0);
}
return proj;
};
var _default = exports.default = excludeProjectFields;