* Returns a subset of the given object with the values or properties given removed. * @param obj - An array or an object literal. * @param vals - Items or properties to exclude from `obj`. * @returns Subset of `obj`.
(obj: Record<string, unknown> | unknown[], ...vals: unknown[])
| 113 | * @returns Subset of `obj`. |
| 114 | */ |
| 115 | function omit(obj: Record<string, unknown> | unknown[], ...vals: unknown[]) { |
| 116 | if (Array.isArray(obj)) { |
| 117 | return obj.filter(o => !vals.includes(o)); |
| 118 | } else { |
| 119 | return Object.keys(obj) |
| 120 | .filter(k => { |
| 121 | return !vals.includes(k); |
| 122 | }) |
| 123 | .reduce((acc, curr) => ({ ...acc, [curr]: obj[curr] }), {}); |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | function include(obj: Record<string, unknown> | unknown[], ...vals: unknown[]) { |
| 128 | if (Array.isArray(obj)) { |
no outgoing calls
no test coverage detected