Closed zardilior closed 4 years ago
Interesting case. Looks like the TS compiler is inferring the type of the list based on the first item of the list.
Did you tried to cast with as any
to by pass TS inference checking?
@pjmolina I haven't but this error also happens if you switch the objects places
It works this way:
oneOf: [
{
type: 'object',
required: ['status'],
properties: {
status: { type: 'string', pattern: JobApplicant.Status.NEW },
payload: {
type: 'string'
},
}
} as any, {
type: 'object',
required: ['status'],
properties: {
status: { type: 'string', pattern: 'contact' },
}
}
]
As commented, looks like the case is related to the type inference on the TypeScript compiler. Nothing can be done o this library to that respect. Forced casts as suggested can help to give hints to the TS compiler. Thus, closing. Feel free to reopen if we can improve it in any way.
This is a valid json schema which breaks with the implementation used in this library
Breaks with error
Type '{ status: { type: string; pattern: string; }; payload?: undefined; }' is not assignable to type '{ [propertyName: string]: ReferenceObject | SchemaObject; }'.
as the second option hasn't such type payload