-export const isIterable = <T>(obj: T): boolean => {
- return obj != null ? typeof obj[Symbol.iterator as keyof T] === 'function' : false
+export const isEmptyObject = (object: object): object is EmptyObject => {
+ if (object.constructor !== Object) {
+ return false
+ }
+ // Iterates over the keys of an object, if
+ // any exist, return false.
+ // eslint-disable-next-line no-unreachable-loop
+ for (const _ in object) {
+ return false
+ }
+ return true