@naverpay/hidash
Version:
improved lodash
14 lines (12 loc) • 579 B
text/typescript
type Collection<T> = ArrayLike<T> | Record<string, T>;
type List<T> = T[] | ArrayLike<T>;
type Dictionary<T> = Record<string, T>;
type NumericDictionary<T> = Record<number, T>;
type AnyKindOfDictionary<T> = Dictionary<T> | NumericDictionary<T>;
type Many<T> = T | Many<T>[];
type PropertyPath = Many<string | number | symbol>;
type EmptyObject<T> = {
[K in keyof T]?: never;
};
type EmptyObjectOf<T> = EmptyObject<T> extends T ? EmptyObject<T> : never;
export type { AnyKindOfDictionary, Collection, Dictionary, EmptyObjectOf, List, Many, NumericDictionary, PropertyPath };