You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
3.0 KiB

  1. {
  2. "$schema" : "http://json-schema.org/draft-04/schema#",
  3. "id" : "http://json-schema.org/draft-04/schema#",
  4. "type" : "object",
  5. "properties" : {
  6. "type" : {
  7. "type" : [
  8. {
  9. "id" : "#simple-type",
  10. "type" : "string",
  11. "enum" : ["object", "array", "string", "number", "boolean", "null", "any"]
  12. },
  13. "array"
  14. ],
  15. "items" : {
  16. "type" : [
  17. {"$ref" : "#simple-type"},
  18. {"$ref" : "#"}
  19. ]
  20. },
  21. "uniqueItems" : true,
  22. "default" : "any"
  23. },
  24. "disallow" : {
  25. "type" : ["string", "array"],
  26. "items" : {
  27. "type" : ["string", {"$ref" : "#"}]
  28. },
  29. "uniqueItems" : true
  30. },
  31. "extends" : {
  32. "type" : [{"$ref" : "#"}, "array"],
  33. "items" : {"$ref" : "#"},
  34. "default" : {}
  35. },
  36. "enum" : {
  37. "type" : "array",
  38. "minItems" : 1,
  39. "uniqueItems" : true
  40. },
  41. "minimum" : {
  42. "type" : "number"
  43. },
  44. "maximum" : {
  45. "type" : "number"
  46. },
  47. "exclusiveMinimum" : {
  48. "type" : "boolean",
  49. "default" : false
  50. },
  51. "exclusiveMaximum" : {
  52. "type" : "boolean",
  53. "default" : false
  54. },
  55. "divisibleBy" : {
  56. "type" : "number",
  57. "minimum" : 0,
  58. "exclusiveMinimum" : true,
  59. "default" : 1
  60. },
  61. "minLength" : {
  62. "type" : "integer",
  63. "minimum" : 0,
  64. "default" : 0
  65. },
  66. "maxLength" : {
  67. "type" : "integer"
  68. },
  69. "pattern" : {
  70. "type" : "string"
  71. },
  72. "items" : {
  73. "type" : [{"$ref" : "#"}, "array"],
  74. "items" : {"$ref" : "#"},
  75. "default" : {}
  76. },
  77. "additionalItems" : {
  78. "type" : [{"$ref" : "#"}, "boolean"],
  79. "default" : {}
  80. },
  81. "minItems" : {
  82. "type" : "integer",
  83. "minimum" : 0,
  84. "default" : 0
  85. },
  86. "maxItems" : {
  87. "type" : "integer",
  88. "minimum" : 0
  89. },
  90. "uniqueItems" : {
  91. "type" : "boolean",
  92. "default" : false
  93. },
  94. "properties" : {
  95. "type" : "object",
  96. "additionalProperties" : {"$ref" : "#"},
  97. "default" : {}
  98. },
  99. "patternProperties" : {
  100. "type" : "object",
  101. "additionalProperties" : {"$ref" : "#"},
  102. "default" : {}
  103. },
  104. "additionalProperties" : {
  105. "type" : [{"$ref" : "#"}, "boolean"],
  106. "default" : {}
  107. },
  108. "minProperties" : {
  109. "type" : "integer",
  110. "minimum" : 0,
  111. "default" : 0
  112. },
  113. "maxProperties" : {
  114. "type" : "integer",
  115. "minimum" : 0
  116. },
  117. "required" : {
  118. "type" : "array",
  119. "items" : {
  120. "type" : "string"
  121. }
  122. },
  123. "dependencies" : {
  124. "type" : "object",
  125. "additionalProperties" : {
  126. "type" : ["string", "array", {"$ref" : "#"}],
  127. "items" : {
  128. "type" : "string"
  129. }
  130. },
  131. "default" : {}
  132. },
  133. "id" : {
  134. "type" : "string"
  135. },
  136. "$ref" : {
  137. "type" : "string"
  138. },
  139. "$schema" : {
  140. "type" : "string"
  141. },
  142. "title" : {
  143. "type" : "string"
  144. },
  145. "description" : {
  146. "type" : "string"
  147. },
  148. "default" : {
  149. "type" : "any"
  150. }
  151. },
  152. "dependencies" : {
  153. "exclusiveMinimum" : "minimum",
  154. "exclusiveMaximum" : "maximum"
  155. },
  156. "default" : {}
  157. }