lune-ui-lib
Version:
Lune UI Components Library
46 lines (45 loc) • 1.37 kB
TypeScript
import type { SxProps } from '@mui/material';
import { FC } from 'react';
type BaseJsonProperty = {
name: string;
required?: boolean;
nullable?: boolean;
description?: string;
};
export type SimpleJsonProperty = BaseJsonProperty & {
type: 'string' | 'number' | 'float' | 'boolean' | 'integer';
format?: string;
pattern?: string;
$enum?: readonly (string | number)[];
};
export type ArrayJsonProperty = BaseJsonProperty & {
type: 'array';
$ref?: string;
jsons: readonly AnyJsonProperty[];
};
export type ObjectJsonProperty = BaseJsonProperty & {
type: 'object';
$ref?: string;
jsons: readonly AnyJsonProperty[];
};
export type AllOfProperty = BaseJsonProperty & {
type: 'allOf';
jsons: readonly AnyJsonProperty[];
};
export type OneOfProperty = BaseJsonProperty & {
type: 'oneOf';
defaultName?: string;
jsons: readonly AnyJsonProperty[];
};
export type AnyJsonProperty = SimpleJsonProperty | ArrayJsonProperty | ObjectJsonProperty | AllOfProperty | OneOfProperty;
type JsonPropertyProps = {
level?: number;
hasSiblings?: boolean;
json: AnyJsonProperty;
sx?: SxProps;
};
export declare const expandAllOf: (property: {
jsons: readonly AnyJsonProperty[];
}, level: number) => JsonPropertyProps[];
declare const JsonProperty: FC<JsonPropertyProps>;
export default JsonProperty;