···11+/**
22+ * If given an object's `typeof`, turns it into an enum-like type.
33+ * e.g.
44+ *```typescript
55+ * const LogLevel = {
66+ * DEBUG: "DEBUG",
77+ * WARNING: "WARNING",
88+ * ERROR: "ERROR",
99+ * }
1010+ * type LogLevel = Enumify<typeof LogLevel>;
1111+ * ```
1212+ * Which is a better way (imo) of declaring a typescript enum.
1313+ */
1414+export type Enumify<T> = T[keyof T];