UNPKG

mongoose-query-logger

Version:

![CI](https://github.com/marcosfede/mongoose-query-logger/workflows/CI/badge.svg) ![npm version](https://badgen.net/npm/v/mongoose-query-logger) ![types](https://badgen.net/npm/types/mongoose-query-logger) ![license](https://badgen.net/npm/license/mongoos

38 lines (33 loc) 861 B
const inProps = (key: string, props: string[]) => { return props.some(omitKey => { return omitKey === key; }); }; export function omit(obj: Object, props: string[]) { let newObj = {}; Object.keys(obj).forEach(key => { if (!inProps(key, props)) { newObj[key] = obj[key]; } }); return newObj; } export function isEmpty(obj: Object): boolean { return Object.keys(obj).length === 0 && obj.constructor === Object; } export function assert(condition: boolean, msg = 'assertion failed') { if (!condition) { throw new Error(msg); } } export function findPropRecursively(obj: Object, prop: string) { const keys = Object.keys(obj); for (let key of keys) { if (key === prop) { return obj[key]; } if (obj[key] && typeof obj[key] === 'object') { return findPropRecursively(obj[key], prop); } } }