@canard/schema-form
Version:
React-based component library that renders forms based on JSON Schema with plugin system support for validators and UI components
12 lines (9 loc) • 334 B
TypeScript
export type Dictionary<T = any> = Record<string, T>;
export type StringDictionary = Dictionary<string>;
export type DeepRequired<T> = {
[P in keyof T]-?: NonNullable<T[P]> extends object
? NonNullable<T[P]> extends any[]
? DeepRequired<NonNullable<T[P]>[number]>[]
: DeepRequired<NonNullable<T[P]>>
: T[P];
};