Generic type for Documents can be enhanced. I propose the following change to DocumentSchema:
// schema must include at least an `id`
export type DocumentSchema = { id: string; [name: string]: any }
// if property can be undefined also make it nullable
type CreatableDocumentSchema<TDocument extends DocumentSchema> = {
[name in keyof TDocument]: undefined extends Extract<TDocument[name], undefined>
? TDocument[name] | null
: TDocument[name]
}
// if property can be undefined also make it nullable, and make everything else possibly undefined as well
// except `id`
type UpdatableDocumentSchema<TDocument extends DocumentSchema> = Pick<TDocument, 'id'> & {
[name in keyof Omit<TDocument, 'id'>]?: undefined extends Extract<TDocument[name], undefined>
? TDocument[name] | null
: TDocument[name]
}
I propose to extend ImportResponseFail to include the type of the document:
Generic type for
Documents
can be enhanced. I propose the following change toDocumentSchema
:I propose to extend
ImportResponseFail
to include the type of the document:With these modifications we can now be more specific for instance in
import
:I'd also like to propose a type generator based on collection
fields
schema if this gets approved later.