/** * Verify that all fields of an object are in fields. * * @param obj - Object to verify fields. * @param fields - Fields to verify. * @returns True if keys in object are all in fields. */ export function onlyHasFields( obj: Record, fields: string[], ): boolean { return Object.keys(obj).every((key: string) => fields.includes(key)) } /** * Perform bitwise AND (&) to check if a flag is enabled within Flags (as a number). * * @param Flags - A number that represents flags enabled. * @param checkFlag - A specific flag to check if it's enabled within Flags. * @returns True if checkFlag is enabled within Flags. */ export function isFlagEnabled(Flags: number, checkFlag: number): boolean { // eslint-disable-next-line no-bitwise -- flags needs bitwise return (checkFlag & Flags) === checkFlag }