@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
TypeScript
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;