@microsoft/sp-module-interfaces 1.21.0-beta.0 → 1.21.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/index-internal-beta.d.ts +15 -3
  2. package/dist/index-internal-public.d.ts +47 -2
  3. package/dist/index-internal.d.ts +15 -3
  4. package/lib-commonjs/index.js +31 -29
  5. package/lib-commonjs/manifestHelpers.js +22 -19
  6. package/lib-commonjs/manifestSchemaValidator.js +70 -84
  7. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.js +5 -2
  8. package/lib-commonjs/manifestSchemas/IClientSideApplicationManifest.js +5 -2
  9. package/lib-commonjs/manifestSchemas/IClientSideAssemblyManifest.js +5 -2
  10. package/lib-commonjs/manifestSchemas/IClientSideComponentLoaderConfiguration.js +11 -3
  11. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.js +5 -2
  12. package/lib-commonjs/manifestSchemas/IClientSideExtensionManifest.js +5 -2
  13. package/lib-commonjs/manifestSchemas/IClientSideLibraryManifest.js +5 -2
  14. package/lib-commonjs/manifestSchemas/IClientSideManifestBase.js +10 -3
  15. package/lib-commonjs/manifestSchemas/IClientSideMultiVersionManifest.js +5 -2
  16. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.js +62 -67
  17. package/lib-commonjs/manifestSchemas/ICommandSetExtensionManifest.js +5 -2
  18. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.js +5 -2
  19. package/lib-commonjs/manifestSchemas/ManifestType.js +18 -13
  20. package/lib-commonjs/manifestSchemas/examples/application_1.manifest.js +24 -6
  21. package/lib-commonjs/manifestSchemas/examples/application_2.manifest.js +28 -7
  22. package/lib-commonjs/manifestSchemas/examples/application_3.manifest.js +22 -5
  23. package/lib-commonjs/manifestSchemas/examples/assembly_1.manifest.js +18 -4
  24. package/lib-commonjs/manifestSchemas/examples/commandSet_1.manifest.js +15 -3
  25. package/lib-commonjs/manifestSchemas/examples/extension_1.manifest.js +15 -3
  26. package/lib-commonjs/manifestSchemas/examples/extension_2.manifest.js +15 -3
  27. package/lib-commonjs/manifestSchemas/examples/extension_3.manifest.js +15 -3
  28. package/lib-commonjs/manifestSchemas/examples/extension_4.manifest.js +15 -3
  29. package/lib-commonjs/manifestSchemas/examples/library_1.manifest.js +18 -4
  30. package/lib-commonjs/manifestSchemas/examples/multi-version_1.manifest.js +24 -6
  31. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.js +27 -7
  32. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.js +61 -9
  33. package/lib-commonjs/manifestSchemas/examples/prefabapp.manifest.json +37 -3
  34. package/lib-commonjs/manifestSchemas/examples/webpart_1.manifest.js +24 -6
  35. package/lib-commonjs/manifestSchemas/examples/webpart_2.manifest.js +47 -12
  36. package/lib-commonjs/manifestSchemas/jsonSchemas/prefab-app-manifest.schema.json +107 -3
  37. package/{lib-commonjs → lib-dts}/manifestSchemaValidator.d.ts +1 -1
  38. package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideWebPartManifest.d.ts +1 -3
  39. package/lib-dts/manifestSchemas/IPrefabAppManifest.d.ts +255 -0
  40. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_1.manifest.d.ts +1 -1
  41. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_2.manifest.d.ts +1 -1
  42. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/application_3.manifest.d.ts +1 -1
  43. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/assembly_1.manifest.d.ts +1 -1
  44. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/commandSet_1.manifest.d.ts +1 -1
  45. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_1.manifest.d.ts +1 -1
  46. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_2.manifest.d.ts +1 -1
  47. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_3.manifest.d.ts +1 -1
  48. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/extension_4.manifest.d.ts +1 -1
  49. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/library_1.manifest.d.ts +1 -1
  50. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/multi-version_1.manifest.d.ts +1 -1
  51. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/prefab_1.manifest.d.ts +1 -1
  52. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/prefab_2.manifest.d.ts +1 -1
  53. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/webpart_1.manifest.d.ts +1 -1
  54. package/{lib-commonjs → lib-dts}/manifestSchemas/examples/webpart_2.manifest.d.ts +1 -1
  55. package/{dist → lib-dts}/tsdoc-metadata.json +1 -1
  56. package/lib-esm/index.js +15 -0
  57. package/lib-esm/manifestHelpers.js +21 -0
  58. package/lib-esm/manifestSchemaValidator.js +135 -0
  59. package/lib-esm/manifestSchemas/IAdaptiveCardExtensionManifest.js +9 -0
  60. package/lib-esm/manifestSchemas/IClientSideApplicationManifest.js +5 -0
  61. package/lib-esm/manifestSchemas/IClientSideAssemblyManifest.js +7 -0
  62. package/lib-esm/manifestSchemas/IClientSideComponentLoaderConfiguration.js +17 -0
  63. package/lib-esm/manifestSchemas/IClientSideComponentManifest.js +27 -0
  64. package/lib-esm/manifestSchemas/IClientSideExtensionManifest.js +7 -0
  65. package/lib-esm/manifestSchemas/IClientSideLibraryManifest.js +7 -0
  66. package/lib-esm/manifestSchemas/IClientSideManifestBase.js +7 -0
  67. package/lib-esm/manifestSchemas/IClientSideMultiVersionManifest.js +25 -0
  68. package/lib-esm/manifestSchemas/IClientSideWebPartManifest.js +62 -0
  69. package/lib-esm/manifestSchemas/ICommandSetExtensionManifest.js +8 -0
  70. package/lib-esm/manifestSchemas/IPrefabAppManifest.js +7 -0
  71. package/lib-esm/manifestSchemas/ManifestType.js +15 -0
  72. package/lib-esm/manifestSchemas/examples/application.manifest.json +346 -0
  73. package/lib-esm/manifestSchemas/examples/application_1.manifest.js +344 -0
  74. package/lib-esm/manifestSchemas/examples/application_2.manifest.js +47 -0
  75. package/lib-esm/manifestSchemas/examples/application_3.manifest.js +42 -0
  76. package/lib-esm/manifestSchemas/examples/assembly.manifest.json +331 -0
  77. package/lib-esm/manifestSchemas/examples/assembly_1.manifest.js +336 -0
  78. package/lib-esm/manifestSchemas/examples/commandSet_1.manifest.js +42 -0
  79. package/lib-esm/manifestSchemas/examples/commandset.manifest.json +38 -0
  80. package/lib-esm/manifestSchemas/examples/extension.manifest.json +20 -0
  81. package/lib-esm/manifestSchemas/examples/extension_1.manifest.js +25 -0
  82. package/lib-esm/manifestSchemas/examples/extension_2.manifest.js +24 -0
  83. package/lib-esm/manifestSchemas/examples/extension_3.manifest.js +23 -0
  84. package/lib-esm/manifestSchemas/examples/extension_4.manifest.js +23 -0
  85. package/lib-esm/manifestSchemas/examples/library.manifest.json +330 -0
  86. package/lib-esm/manifestSchemas/examples/library_1.manifest.js +335 -0
  87. package/lib-esm/manifestSchemas/examples/multi-version_1.manifest.js +673 -0
  88. package/lib-esm/manifestSchemas/examples/multi-version_1.manifest.json +336 -0
  89. package/lib-esm/manifestSchemas/examples/prefab_1.manifest.js +344 -0
  90. package/lib-esm/manifestSchemas/examples/prefab_2.manifest.js +381 -0
  91. package/lib-esm/manifestSchemas/examples/prefabapp.manifest.json +379 -0
  92. package/lib-esm/manifestSchemas/examples/webpart.manifest.json +380 -0
  93. package/lib-esm/manifestSchemas/examples/webpart_1.manifest.js +350 -0
  94. package/lib-esm/manifestSchemas/examples/webpart_2.manifest.js +388 -0
  95. package/lib-esm/manifestSchemas/jsonSchemas/adaptive-card-extension-manifest.schema.json +230 -0
  96. package/lib-esm/manifestSchemas/jsonSchemas/any-value.schema.json +8 -0
  97. package/lib-esm/manifestSchemas/jsonSchemas/client-side-application-manifest.schema.json +138 -0
  98. package/lib-esm/manifestSchemas/jsonSchemas/client-side-assembly-manifest.schema.json +45 -0
  99. package/lib-esm/manifestSchemas/jsonSchemas/client-side-component-loader-configuration.schema.json +273 -0
  100. package/lib-esm/manifestSchemas/jsonSchemas/client-side-component-manifest.schema.json +131 -0
  101. package/lib-esm/manifestSchemas/jsonSchemas/client-side-extension-manifest.schema.json +61 -0
  102. package/lib-esm/manifestSchemas/jsonSchemas/client-side-library-manifest.schema.json +39 -0
  103. package/lib-esm/manifestSchemas/jsonSchemas/client-side-manifest-base.schema.json +25 -0
  104. package/lib-esm/manifestSchemas/jsonSchemas/client-side-multi-version-manifest.schema.json +118 -0
  105. package/lib-esm/manifestSchemas/jsonSchemas/client-side-web-part-manifest.schema.json +348 -0
  106. package/lib-esm/manifestSchemas/jsonSchemas/command-set-extension-manifest.schema.json +81 -0
  107. package/lib-esm/manifestSchemas/jsonSchemas/guid.schema.json +6 -0
  108. package/lib-esm/manifestSchemas/jsonSchemas/localized-string.schema.json +33 -0
  109. package/lib-esm/manifestSchemas/jsonSchemas/prefab-app-manifest.schema.json +176 -0
  110. package/lib-esm/manifestSchemas/jsonSchemas/semver.schema.json +8 -0
  111. package/lib-esm/manifestSchemas/remote/draft-04.schema.json +137 -0
  112. package/lib-esm/manifestSchemas/remote/site-design-script-actions.schema.json +1158 -0
  113. package/package.json +27 -7
  114. package/lib-commonjs/index.d.ts.map +0 -1
  115. package/lib-commonjs/manifestHelpers.d.ts.map +0 -1
  116. package/lib-commonjs/manifestSchemaValidator.d.ts.map +0 -1
  117. package/lib-commonjs/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts.map +0 -1
  118. package/lib-commonjs/manifestSchemas/IClientSideApplicationManifest.d.ts.map +0 -1
  119. package/lib-commonjs/manifestSchemas/IClientSideAssemblyManifest.d.ts.map +0 -1
  120. package/lib-commonjs/manifestSchemas/IClientSideComponentLoaderConfiguration.d.ts.map +0 -1
  121. package/lib-commonjs/manifestSchemas/IClientSideComponentManifest.d.ts.map +0 -1
  122. package/lib-commonjs/manifestSchemas/IClientSideExtensionManifest.d.ts.map +0 -1
  123. package/lib-commonjs/manifestSchemas/IClientSideLibraryManifest.d.ts.map +0 -1
  124. package/lib-commonjs/manifestSchemas/IClientSideManifestBase.d.ts.map +0 -1
  125. package/lib-commonjs/manifestSchemas/IClientSideMultiVersionManifest.d.ts.map +0 -1
  126. package/lib-commonjs/manifestSchemas/IClientSideWebPartManifest.d.ts.map +0 -1
  127. package/lib-commonjs/manifestSchemas/ICommandSetExtensionManifest.d.ts.map +0 -1
  128. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts +0 -76
  129. package/lib-commonjs/manifestSchemas/IPrefabAppManifest.d.ts.map +0 -1
  130. package/lib-commonjs/manifestSchemas/ManifestType.d.ts.map +0 -1
  131. package/lib-commonjs/manifestSchemas/examples/application_1.manifest.d.ts.map +0 -1
  132. package/lib-commonjs/manifestSchemas/examples/application_2.manifest.d.ts.map +0 -1
  133. package/lib-commonjs/manifestSchemas/examples/application_3.manifest.d.ts.map +0 -1
  134. package/lib-commonjs/manifestSchemas/examples/assembly_1.manifest.d.ts.map +0 -1
  135. package/lib-commonjs/manifestSchemas/examples/commandSet_1.manifest.d.ts.map +0 -1
  136. package/lib-commonjs/manifestSchemas/examples/extension_1.manifest.d.ts.map +0 -1
  137. package/lib-commonjs/manifestSchemas/examples/extension_2.manifest.d.ts.map +0 -1
  138. package/lib-commonjs/manifestSchemas/examples/extension_3.manifest.d.ts.map +0 -1
  139. package/lib-commonjs/manifestSchemas/examples/extension_4.manifest.d.ts.map +0 -1
  140. package/lib-commonjs/manifestSchemas/examples/library_1.manifest.d.ts.map +0 -1
  141. package/lib-commonjs/manifestSchemas/examples/multi-version_1.manifest.d.ts.map +0 -1
  142. package/lib-commonjs/manifestSchemas/examples/prefab_1.manifest.d.ts.map +0 -1
  143. package/lib-commonjs/manifestSchemas/examples/prefab_2.manifest.d.ts.map +0 -1
  144. package/lib-commonjs/manifestSchemas/examples/webpart_1.manifest.d.ts.map +0 -1
  145. package/lib-commonjs/manifestSchemas/examples/webpart_2.manifest.d.ts.map +0 -1
  146. /package/{lib-commonjs → lib-dts}/index.d.ts +0 -0
  147. /package/{lib-commonjs → lib-dts}/manifestHelpers.d.ts +0 -0
  148. /package/{lib-commonjs → lib-dts}/manifestSchemas/IAdaptiveCardExtensionManifest.d.ts +0 -0
  149. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideApplicationManifest.d.ts +0 -0
  150. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideAssemblyManifest.d.ts +0 -0
  151. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideComponentLoaderConfiguration.d.ts +0 -0
  152. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideComponentManifest.d.ts +0 -0
  153. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideExtensionManifest.d.ts +0 -0
  154. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideLibraryManifest.d.ts +0 -0
  155. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideManifestBase.d.ts +0 -0
  156. /package/{lib-commonjs → lib-dts}/manifestSchemas/IClientSideMultiVersionManifest.d.ts +0 -0
  157. /package/{lib-commonjs → lib-dts}/manifestSchemas/ICommandSetExtensionManifest.d.ts +0 -0
  158. /package/{lib-commonjs → lib-dts}/manifestSchemas/ManifestType.d.ts +0 -0
@@ -0,0 +1,176 @@
1
+ {
2
+ "id": "prefab-app-manifest.schema.json",
3
+ "title": "PREFAB application manifest",
4
+ "description": "A PREFAB application is the architectural component that allows developers to declaratively specify behavior of a full page application.",
5
+
6
+ "definitions": {
7
+ "prefabAppSiteScript": {
8
+ "title": "PREFAB Application Site Script",
9
+ "type": "object",
10
+ "additionalProperties": {
11
+ "oneOf": [
12
+ {
13
+ "type": "object",
14
+ "properties": {
15
+ "type": {
16
+ "type": "string",
17
+ "enum": ["onInstall", "onDemand"]
18
+ },
19
+ "actions": {
20
+ "$ref": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json#/properties/actions"
21
+ }
22
+ },
23
+ "required": ["type", "actions"],
24
+ "additionalProperties": false
25
+ }
26
+ ]
27
+ }
28
+ }
29
+ },
30
+
31
+ "type": "object",
32
+ "allOf": [
33
+ {
34
+ "type": "object",
35
+
36
+ "properties": {
37
+ "$schema": { "type": "string" },
38
+
39
+ "manifestVersion": { "$ref": "any-value.schema.json" },
40
+ "id": { "$ref": "any-value.schema.json" },
41
+ "alias": { "$ref": "any-value.schema.json" },
42
+ "version": { "$ref": "any-value.schema.json" },
43
+ "loaderConfig": { "$ref": "any-value.schema.json" },
44
+ "componentType": { "$ref": "any-value.schema.json" },
45
+ "preloadComponents": { "$ref": "any-value.schema.json" },
46
+ "title": { "$ref": "any-value.schema.json" },
47
+ "description": { "$ref": "any-value.schema.json" },
48
+ "isConfigured": { "$ref": "any-value.schema.json" },
49
+ "siteSettingsLinks": { "$ref": "any-value.schema.json" },
50
+ "toolboxEntries": { "$ref": "any-value.schema.json" },
51
+ "appInstallationTypes": {
52
+ "description": "Describes how the PREFAB app can be installed: NewSite or ExistingSite. If omitted the app supports both.",
53
+ "type": "array",
54
+ "items": {
55
+ "type": "string",
56
+ "enum": ["NewSite", "ExistingSite"]
57
+ }
58
+ },
59
+ "actions": { "$ref": "any-value.schema.json" }
60
+ },
61
+ "additionalProperties": false
62
+ },
63
+ {
64
+ "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest"
65
+ },
66
+ {
67
+ "type": "object",
68
+ "required": ["componentType", "title", "description", "isConfigured"],
69
+ "properties": {
70
+ "componentType": {
71
+ "type": "string",
72
+ "enum": ["Prefab"]
73
+ },
74
+
75
+ "title": {
76
+ "title": "Title",
77
+ "description": "Title of the application as a dictionary of locale keys to title values. This value will be displayed to the user in the (page creation) interface. A dictionary must contain a \"default\" key.",
78
+ "$ref": "localized-string.schema.json"
79
+ },
80
+
81
+ "description": {
82
+ "title": "Description",
83
+ "description": "Description of the application represented as a dictionary of locale keys to description values. This value will be displayed to the user in the (page creation) interface. A dictionary must contain a \"default\" key.",
84
+ "$ref": "localized-string.schema.json"
85
+ },
86
+
87
+ "isConfigured": {
88
+ "title": "Is configured",
89
+ "description": "True if the application is configured and not need a FRC (First Run Configuration) step.",
90
+ "type": "boolean"
91
+ },
92
+
93
+ "siteSettingsLinks": {
94
+ "title": "Site settings links",
95
+ "description": "Links to be rendered in the suite nav site settings menu for the PREFAB App.",
96
+ "type": "array",
97
+ "minItems": 1,
98
+ "items": {
99
+ "description": "Represents an item that should be rendered in the suite nav site settings menu.",
100
+ "type": "object",
101
+ "properties": {
102
+ "viewId": {
103
+ "title": "Route ID",
104
+ "description": "The unique identifier of the route to be rendered when the settings link is selected.",
105
+ "type": "string"
106
+ },
107
+ "text": {
108
+ "title": "Text",
109
+ "description": "Text of the link represented as a dictionary of locale keys to title values. This value will be displayed to the user in the suite nav site settings menu.",
110
+ "$ref": "localized-string.schema.json"
111
+ }
112
+ },
113
+ "required": ["viewId", "text"],
114
+ "additionalProperties": false
115
+ }
116
+ },
117
+
118
+ "toolboxEntries": {
119
+ "title": "Toolbox entries",
120
+ "description": "Toolbox entries for the PREFAB app.",
121
+ "type": "array",
122
+ "minItems": 1,
123
+ "items": {
124
+ "description": "This interface specifies the set of that can be provided by a PREFAB developer if the application should be available in the modern SharePoint toolbox.",
125
+ "type": "object",
126
+ "properties": {
127
+ "viewId": {
128
+ "title": "Route ID",
129
+ "description": "The unique identifier of the route to be rendered if the entry is added to the page.",
130
+ "type": "string"
131
+ },
132
+ "title": {
133
+ "title": "Title",
134
+ "description": "Title of the PREFAB entry represented as a single a dictionary of locale keys to title values. This value will be displayed to the user in the toolbox.",
135
+ "$ref": "localized-string.schema.json"
136
+ },
137
+ "description": {
138
+ "title": "Description",
139
+ "description": "Description of the PREFAB entry represented as a dictionary of locale keys to description values. This value will be displayed to the user in the toolbox.",
140
+ "$ref": "localized-string.schema.json"
141
+ },
142
+ "officeFabricIconFontName": {
143
+ "title": "Office Fabric Icon Name",
144
+ "description": "The icon for the PREFAB entry, to be displayed in the toolbox, represented as a character name in the Office 365 icon font file. The icon font is specified here: https://aka.ms/uifabric-icons. If this field has a value, the 'iconImageUrl' field will be ignored.",
145
+ "type": "string",
146
+ "minLength": 1
147
+ },
148
+
149
+ "iconImageUrl": {
150
+ "title": "Icon Image URL",
151
+ "description": "The icon for the PREFAB app, to be displayed in the toolbox, represented an image URL. The image at the URL must be exactly 38x38 px. If the 'officeFabricIconName' field does not have a value, this field must have a value.",
152
+ "type": "string",
153
+ "minLength": 10
154
+ }
155
+ },
156
+ "anyOf": [
157
+ {
158
+ "required": ["viewId", "title", "description", "officeFabricIconFontName"]
159
+ },
160
+ {
161
+ "required": ["viewId", "title", "description", "iconImageUrl"]
162
+ }
163
+ ],
164
+ "additionalProperties": false
165
+ }
166
+ },
167
+
168
+ "actions": {
169
+ "$ref": "#/definitions/prefabAppSiteScript"
170
+ }
171
+ },
172
+
173
+ "additionalProperties": true
174
+ }
175
+ ]
176
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": "semver.schema.json",
3
+
4
+ "type": "string",
5
+ "minLength": 5,
6
+ "maxLength": 14,
7
+ "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$"
8
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "id": "http://json-schema.org/draft-04/schema#",
3
+ "$schema": "http://json-schema.org/draft-04/schema#",
4
+ "description": "Core schema meta-schema",
5
+ "definitions": {
6
+ "schemaArray": {
7
+ "type": "array",
8
+ "minItems": 1,
9
+ "items": { "$ref": "#" }
10
+ },
11
+ "positiveInteger": {
12
+ "type": "integer",
13
+ "minimum": 0
14
+ },
15
+ "positiveIntegerDefault0": {
16
+ "allOf": [{ "$ref": "#/definitions/positiveInteger" }, { "default": 0 }]
17
+ },
18
+ "simpleTypes": {
19
+ "enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
20
+ },
21
+ "stringArray": {
22
+ "type": "array",
23
+ "items": { "type": "string" },
24
+ "minItems": 1,
25
+ "uniqueItems": true
26
+ }
27
+ },
28
+ "type": "object",
29
+ "properties": {
30
+ "id": {
31
+ "type": "string"
32
+ },
33
+ "$schema": {
34
+ "type": "string"
35
+ },
36
+ "title": {
37
+ "type": "string"
38
+ },
39
+ "description": {
40
+ "type": "string"
41
+ },
42
+ "default": {},
43
+ "multipleOf": {
44
+ "type": "number",
45
+ "minimum": 0,
46
+ "exclusiveMinimum": true
47
+ },
48
+ "maximum": {
49
+ "type": "number"
50
+ },
51
+ "exclusiveMaximum": {
52
+ "type": "boolean",
53
+ "default": false
54
+ },
55
+ "minimum": {
56
+ "type": "number"
57
+ },
58
+ "exclusiveMinimum": {
59
+ "type": "boolean",
60
+ "default": false
61
+ },
62
+ "maxLength": { "$ref": "#/definitions/positiveInteger" },
63
+ "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
64
+ "pattern": {
65
+ "type": "string",
66
+ "format": "regex"
67
+ },
68
+ "additionalItems": {
69
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#" }],
70
+ "default": {}
71
+ },
72
+ "items": {
73
+ "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/schemaArray" }],
74
+ "default": {}
75
+ },
76
+ "maxItems": { "$ref": "#/definitions/positiveInteger" },
77
+ "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" },
78
+ "uniqueItems": {
79
+ "type": "boolean",
80
+ "default": false
81
+ },
82
+ "maxProperties": { "$ref": "#/definitions/positiveInteger" },
83
+ "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
84
+ "required": { "$ref": "#/definitions/stringArray" },
85
+ "additionalProperties": {
86
+ "anyOf": [{ "type": "boolean" }, { "$ref": "#" }],
87
+ "default": {}
88
+ },
89
+ "definitions": {
90
+ "type": "object",
91
+ "additionalProperties": { "$ref": "#" },
92
+ "default": {}
93
+ },
94
+ "properties": {
95
+ "type": "object",
96
+ "additionalProperties": { "$ref": "#" },
97
+ "default": {}
98
+ },
99
+ "patternProperties": {
100
+ "type": "object",
101
+ "additionalProperties": { "$ref": "#" },
102
+ "default": {}
103
+ },
104
+ "dependencies": {
105
+ "type": "object",
106
+ "additionalProperties": {
107
+ "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/stringArray" }]
108
+ }
109
+ },
110
+ "enum": {
111
+ "type": "array",
112
+ "minItems": 1,
113
+ "uniqueItems": true
114
+ },
115
+ "type": {
116
+ "anyOf": [
117
+ { "$ref": "#/definitions/simpleTypes" },
118
+ {
119
+ "type": "array",
120
+ "items": { "$ref": "#/definitions/simpleTypes" },
121
+ "minItems": 1,
122
+ "uniqueItems": true
123
+ }
124
+ ]
125
+ },
126
+ "format": { "type": "string" },
127
+ "allOf": { "$ref": "#/definitions/schemaArray" },
128
+ "anyOf": { "$ref": "#/definitions/schemaArray" },
129
+ "oneOf": { "$ref": "#/definitions/schemaArray" },
130
+ "not": { "$ref": "#" }
131
+ },
132
+ "dependencies": {
133
+ "exclusiveMaximum": ["maximum"],
134
+ "exclusiveMinimum": ["minimum"]
135
+ },
136
+ "default": {}
137
+ }