@leyyo/cache
Version:
Common cache library
27 lines (20 loc) • 812 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// endregion parts
/*
*
* // @leyyo add
export type MaximumOneOf<T, K extends keyof T = keyof T> = K extends keyof T ? {
[P in K]: T[K];
} & Partial<Record<Exclude<keyof T, K>, never>> : never;
type ValueOf<Obj> = Obj[keyof Obj];
type OneOnly<Obj, Key extends keyof Obj> = Omit<Obj, Exclude<keyof Obj, Key>> | Pick<Obj, Key>;
type OneOfByKey<Obj> = { [key in keyof Obj]: OneOnly<Obj, key> };
export type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
export type Xor<a, b> =
| XorIn<a & { [k in keyof b]?: undefined }>
| XorIn<b & { [k in keyof a]?: undefined }>;
type XorIn<t> = { [k in keyof t]: t[k] } & unknown;
type Values<V> = V[keyof V];
type ObjectToAnyPair<V> = Values<{ [K in keyof V]: { [K1 in K]: V[K1] } }>
* */