mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Helper omit function
This commit is contained in:
@@ -13,6 +13,22 @@ export const pick = <T extends object, TKeys extends keyof T>(obj: T, keys: TKey
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Omit a list of properties from an object
|
||||
* into a new object
|
||||
*/
|
||||
export const omit = <T extends object, TKeys extends keyof T>(obj: T, keys: TKeys[]): Omit<T, TKeys> => {
|
||||
if (!obj) return {} as Omit<T, TKeys>;
|
||||
return (Object.keys(obj) as TKeys[]).reduce(
|
||||
(acc, key) => {
|
||||
if (!keys.includes(key)) {
|
||||
(acc as T)[key] = obj[key];
|
||||
}
|
||||
return acc;
|
||||
},
|
||||
{} as Omit<T, TKeys>
|
||||
);
|
||||
};
|
||||
/**
|
||||
* Removes (shakes out) undefined entries from an
|
||||
* object. Optional second argument shakes out values
|
||||
|
||||
Reference in New Issue
Block a user