UNPKG

@portabletext/editor

Version:

Portable Text Editor made in React

30 lines (26 loc) 682 B
/** * @internal */ export type PickFromUnion< TUnion, TTagKey extends keyof TUnion, TPickedTags extends TUnion[TTagKey], > = TUnion extends Record<TTagKey, TPickedTags> ? TUnion : never /** * @internal */ export type OmitFromUnion< TUnion, TTagKey extends keyof TUnion, TOmittedTags extends TUnion[TTagKey], > = TUnion extends Record<TTagKey, TOmittedTags> ? never : TUnion export type NamespaceEvent<TEvent, TNamespace extends string> = TEvent extends { type: infer TEventType } ? { [K in keyof TEvent]: K extends 'type' ? `${TNamespace}.${TEventType & string}` : TEvent[K] } : never export type StrictExtract<T, U extends T> = U