/* * Copyright (c) 2015 NAVER Corp. * egjs projects are licensed under the MIT license */ export type ValueOf = T[keyof T]; export type LiteralUnion = T | (Pick & { _?: never }); export interface ArrayLike { [index: number]: T; length: number; } export type Unique = Pick>; export type MergeObject = { [K in keyof T & keyof U]: T[K] extends Record ? U[K] extends Record ? Merged : T[K] : T[K]; }; export type Merged = Unique & Unique & MergeObject;