import { registerExamples } from '../register' ; export const schema = { $schema : 'http://json-schema.org/draft-07/schema#' , definitions : { address : { type : 'object' , properties : { street_address : { type : 'string' } , city : { type : 'string' } , state : { type : 'string' } } , required : [ 'street_address' , 'city' , 'state' ] } , user : { type : 'object' , properties : { name : { type : 'string' } , mail : { type : 'string' } } , required : [ 'name' , 'mail' ] } , users : { type : 'array' , items : { $ref : '#/definitions/user' } } , addresses : { type : 'array' , items : { $ref : '#/definitions/address' } } } , type : 'object' , properties : { addressOrUser : { anyOf : [ { $ref : '#/definitions/address' } , { $ref : '#/definitions/user' } ] } , addressesOrUsers : { anyOf : [ { $ref : '#/definitions/addresses' } , { $ref : '#/definitions/users' } ] } } } ; export const uischema = { type : 'VerticalLayout' , elements : [ { type : 'Control' , scope : '#/properties/addressOrUser' } , { type : 'Control' , scope : '#/properties/addressesOrUsers' } ] } ; const data = { addressOrUser : { street_address : '1600 Pennsylvania Avenue NW' , city : 'Washington' , state : 'DC' } } ; const schema_simple = { type : 'object' , properties : { foo : { anyOf : [ { type : 'string' } , { enum : [ 'foo' , 'bar' ] } ] } } } ; registerExamples ( [ { name : 'anyOf' , label : 'anyOf' , data , schema , uischema } , { name : 'anyOf_simple' , label : 'AnyOf Simple' , data : { foo : 'foo' } , schema : schema_simple , uischema : undefined } ] ) ;