Estoy usando el tipo TS para JSON Schema: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/json-schema/index.d.ts
Version corta:
interface JSONSchema4 { properties?: { [k: string]: JSONSchema4; } | undefined; }Este tipo es recursivo. Me gustaría ampliar este tipo con propiedades personalizadas. Por ejemplo, actualmente, algo como esto no coincide con el tipo:
{ instanceof: 'Date' } Me gustaría agregar instanceof?: string como campo a JSONSchema4 . es posible?
En TypeScript, las interfaces están abiertas, a diferencia de los tipos que están cerrados. Por lo tanto, puede agregar su palabra clave simplemente declarando una interfaz con el mismo nombre que contiene su palabra clave. Esa interfaz amplía efectivamente el tipo original.
interface JSONSchema4 { instanceof?: string; }