vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
12 lines • 1.03 kB
TypeScript
interface IModuleLike {
prefix: string;
destroy: () => void;
}
declare type TPrimitive = string | number | boolean | bigint | symbol | undefined | null;
declare type TBuiltin = TPrimitive | Function | Date | Error | RegExp | Element | Window | IModuleLike;
declare type TTRequiredProps<T> = T extends TBuiltin ? NonNullable<T> : T extends Map<infer K, infer V> ? Map<TTRequiredProps<K>, TTRequiredProps<V>> : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<TTRequiredProps<K>, TTRequiredProps<V>> : T extends WeakMap<infer K, infer V> ? WeakMap<TTRequiredProps<K>, TTRequiredProps<V>> : T extends Set<infer U> ? Set<TTRequiredProps<U>> : T extends ReadonlySet<infer U> ? ReadonlySet<TTRequiredProps<U>> : T extends WeakSet<infer U> ? WeakSet<TTRequiredProps<U>> : T extends Promise<infer U> ? Promise<TTRequiredProps<U>> : T extends {} ? {
[K in keyof T]-?: TTRequiredProps<T[K]>;
} : NonNullable<T>;
export declare type TRequiredProps<T> = TTRequiredProps<T>;
export {};
//# sourceMappingURL=requiredProps.d.ts.map