UNPKG

@prefecthq/prefect-ui-library

Version:

This library is the Vue and Typescript component library for [Prefect 2](https://github.com/PrefectHQ/prefect) and [Prefect Cloud 2](https://www.prefect.io/cloud/). _The components and utilities in this project are not meant to be used independently_.

12 lines (11 loc) 866 B
export type KeysMatching<T, V> = { [K in keyof T]-?: T[K] extends V ? K : never; }[keyof T]; export type Require<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>; export type AnyCase<T extends string> = string extends T ? string : T extends `${infer F1}${infer F2}${infer R}` ? (`${Uppercase<F1> | Lowercase<F1>}${Uppercase<F2> | Lowercase<F2>}${AnyCase<R>}`) : T extends `${infer F}${infer R}` ? `${Uppercase<F> | Lowercase<F>}${AnyCase<R>}` : ''; export type NumberRange<N extends number, M extends number, Result extends unknown[] = [N]> = (Result['length'] extends M ? [...Result, M] : NumberRange<N, M, [...Result, Result['length']]>); export type MaybeArray<T> = T | T[]; export type Simplify<T> = { [K in keyof T]: T[K]; } & {}; export type Equals<T, U> = (<G>() => G extends T ? 1 : 2) extends (<G>() => G extends U ? 1 : 2) ? true : false;