jsonSchema.d.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. export declare type JSONSchemaRef = JSONSchema | boolean;
  2. export interface JSONSchema {
  3. id?: string;
  4. $id?: string;
  5. $schema?: string;
  6. type?: string | string[];
  7. title?: string;
  8. default?: any;
  9. definitions?: {
  10. [name: string]: JSONSchema;
  11. };
  12. description?: string;
  13. properties?: JSONSchemaMap;
  14. patternProperties?: JSONSchemaMap;
  15. additionalProperties?: boolean | JSONSchemaRef;
  16. minProperties?: number;
  17. maxProperties?: number;
  18. dependencies?: JSONSchemaMap | {
  19. [prop: string]: string[];
  20. };
  21. items?: JSONSchemaRef | JSONSchemaRef[];
  22. minItems?: number;
  23. maxItems?: number;
  24. uniqueItems?: boolean;
  25. additionalItems?: boolean | JSONSchemaRef;
  26. pattern?: string;
  27. minLength?: number;
  28. maxLength?: number;
  29. minimum?: number;
  30. maximum?: number;
  31. exclusiveMinimum?: boolean | number;
  32. exclusiveMaximum?: boolean | number;
  33. multipleOf?: number;
  34. required?: string[];
  35. $ref?: string;
  36. anyOf?: JSONSchemaRef[];
  37. allOf?: JSONSchemaRef[];
  38. oneOf?: JSONSchemaRef[];
  39. not?: JSONSchemaRef;
  40. enum?: any[];
  41. format?: string;
  42. const?: any;
  43. contains?: JSONSchemaRef;
  44. propertyNames?: JSONSchemaRef;
  45. examples?: any[];
  46. $comment?: string;
  47. if?: JSONSchemaRef;
  48. then?: JSONSchemaRef;
  49. else?: JSONSchemaRef;
  50. defaultSnippets?: {
  51. label?: string;
  52. description?: string;
  53. markdownDescription?: string;
  54. body?: any;
  55. bodyText?: string;
  56. }[];
  57. errorMessage?: string;
  58. patternErrorMessage?: string;
  59. deprecationMessage?: string;
  60. enumDescriptions?: string[];
  61. markdownEnumDescriptions?: string[];
  62. markdownDescription?: string;
  63. doNotSuggest?: boolean;
  64. suggestSortText?: string;
  65. allowComments?: boolean;
  66. allowTrailingCommas?: boolean;
  67. }
  68. export interface JSONSchemaMap {
  69. [name: string]: JSONSchemaRef;
  70. }