@vitessce/vit-s 2.0.3 → 3.0.1

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 (215) hide show
  1. package/dist/index.js +44072 -0
  2. package/dist-tsc/CallbackPublisher.d.ts +18 -0
  3. package/dist-tsc/CallbackPublisher.d.ts.map +1 -0
  4. package/dist-tsc/CallbackPublisher.js +62 -0
  5. package/dist-tsc/LoadingIndicator.d.ts +2 -0
  6. package/dist-tsc/LoadingIndicator.d.ts.map +1 -0
  7. package/dist-tsc/LoadingIndicator.js +26 -0
  8. package/dist-tsc/TitleInfo.d.ts +2 -0
  9. package/dist-tsc/TitleInfo.d.ts.map +1 -0
  10. package/dist-tsc/TitleInfo.js +74 -0
  11. package/dist-tsc/VitS.d.ts +50 -0
  12. package/dist-tsc/VitS.d.ts.map +1 -0
  13. package/dist-tsc/VitS.js +139 -0
  14. package/dist-tsc/VitessceGrid.d.ts +23 -0
  15. package/dist-tsc/VitessceGrid.d.ts.map +1 -0
  16. package/dist-tsc/VitessceGrid.js +63 -0
  17. package/dist-tsc/VitessceGrid.test.d.ts +2 -0
  18. package/dist-tsc/VitessceGrid.test.d.ts.map +1 -0
  19. package/dist-tsc/VitessceGrid.test.js +43 -0
  20. package/dist-tsc/Warning.d.ts +2 -0
  21. package/dist-tsc/Warning.d.ts.map +1 -0
  22. package/dist-tsc/Warning.js +45 -0
  23. package/dist-tsc/classNames.d.ts +8 -0
  24. package/dist-tsc/classNames.d.ts.map +1 -0
  25. package/dist-tsc/classNames.js +8 -0
  26. package/dist-tsc/data/AbstractLoader.d.ts +22 -0
  27. package/dist-tsc/data/AbstractLoader.d.ts.map +1 -0
  28. package/dist-tsc/data/AbstractLoader.js +18 -0
  29. package/dist-tsc/data/AbstractTwoStepLoader.d.ts +6 -0
  30. package/dist-tsc/data/AbstractTwoStepLoader.d.ts.map +1 -0
  31. package/dist-tsc/data/AbstractTwoStepLoader.js +7 -0
  32. package/dist-tsc/data/LoaderResult.d.ts +12 -0
  33. package/dist-tsc/data/LoaderResult.d.ts.map +1 -0
  34. package/dist-tsc/data/LoaderResult.js +12 -0
  35. package/dist-tsc/data/index.d.ts +4 -0
  36. package/dist-tsc/data/index.d.ts.map +1 -0
  37. package/dist-tsc/data/index.js +3 -0
  38. package/dist-tsc/data/loader-registry.d.ts +9 -0
  39. package/dist-tsc/data/loader-registry.d.ts.map +1 -0
  40. package/dist-tsc/data/loader-registry.js +27 -0
  41. package/dist-tsc/data-hook-utils.d.ts +65 -0
  42. package/dist-tsc/data-hook-utils.d.ts.map +1 -0
  43. package/dist-tsc/data-hook-utils.js +191 -0
  44. package/dist-tsc/data-hooks.d.ts +73 -0
  45. package/dist-tsc/data-hooks.d.ts.map +1 -0
  46. package/dist-tsc/data-hooks.js +254 -0
  47. package/dist-tsc/errors/AbstractLoaderError.d.ts +10 -0
  48. package/dist-tsc/errors/AbstractLoaderError.d.ts.map +1 -0
  49. package/dist-tsc/errors/AbstractLoaderError.js +13 -0
  50. package/dist-tsc/errors/DataSourceFetchError.d.ts +8 -0
  51. package/dist-tsc/errors/DataSourceFetchError.d.ts.map +1 -0
  52. package/dist-tsc/errors/DataSourceFetchError.js +13 -0
  53. package/dist-tsc/errors/DatasetNotFoundError.d.ts +6 -0
  54. package/dist-tsc/errors/DatasetNotFoundError.d.ts.map +1 -0
  55. package/dist-tsc/errors/DatasetNotFoundError.js +17 -0
  56. package/dist-tsc/errors/LoaderNotFoundError.d.ts +10 -0
  57. package/dist-tsc/errors/LoaderNotFoundError.d.ts.map +1 -0
  58. package/dist-tsc/errors/LoaderNotFoundError.js +17 -0
  59. package/dist-tsc/errors/LoaderValidationError.d.ts +10 -0
  60. package/dist-tsc/errors/LoaderValidationError.d.ts.map +1 -0
  61. package/dist-tsc/errors/LoaderValidationError.js +15 -0
  62. package/dist-tsc/errors/index.d.ts +6 -0
  63. package/dist-tsc/errors/index.d.ts.map +1 -0
  64. package/dist-tsc/errors/index.js +5 -0
  65. package/dist-tsc/hooks.d.ts +76 -0
  66. package/dist-tsc/hooks.d.ts.map +1 -0
  67. package/dist-tsc/hooks.js +262 -0
  68. package/dist-tsc/index.d.ts +12 -0
  69. package/dist-tsc/index.d.ts.map +1 -0
  70. package/dist-tsc/index.js +11 -17
  71. package/dist-tsc/mui-utils.d.ts +2 -0
  72. package/dist-tsc/mui-utils.d.ts.map +1 -0
  73. package/dist-tsc/mui-utils.js +44 -0
  74. package/dist-tsc/plugins.test.fixtures.d.ts +61 -0
  75. package/dist-tsc/plugins.test.fixtures.d.ts.map +1 -0
  76. package/dist-tsc/plugins.test.fixtures.js +76 -0
  77. package/dist-tsc/shared-mui/components.d.ts +2 -0
  78. package/dist-tsc/shared-mui/components.d.ts.map +1 -0
  79. package/dist-tsc/shared-mui/components.js +29 -0
  80. package/dist-tsc/shared-mui/container.d.ts +2 -0
  81. package/dist-tsc/shared-mui/container.d.ts.map +1 -0
  82. package/dist-tsc/shared-mui/container.js +211 -0
  83. package/dist-tsc/shared-mui/styles.d.ts +5 -0
  84. package/dist-tsc/shared-mui/styles.d.ts.map +1 -0
  85. package/dist-tsc/shared-mui/styles.js +109 -0
  86. package/dist-tsc/shared-plot-options/CellColorEncodingOption.d.ts +2 -0
  87. package/dist-tsc/shared-plot-options/CellColorEncodingOption.d.ts.map +1 -0
  88. package/dist-tsc/shared-plot-options/CellColorEncodingOption.js +17 -0
  89. package/dist-tsc/shared-plot-options/OptionSelect.d.ts +2 -0
  90. package/dist-tsc/shared-plot-options/OptionSelect.d.ts.map +1 -0
  91. package/dist-tsc/shared-plot-options/OptionSelect.js +12 -0
  92. package/dist-tsc/shared-plot-options/OptionsContainer.d.ts +2 -0
  93. package/dist-tsc/shared-plot-options/OptionsContainer.d.ts.map +1 -0
  94. package/dist-tsc/shared-plot-options/OptionsContainer.js +9 -0
  95. package/dist-tsc/shared-plot-options/index.d.ts +5 -0
  96. package/dist-tsc/shared-plot-options/index.d.ts.map +1 -0
  97. package/dist-tsc/shared-plot-options/index.js +4 -0
  98. package/dist-tsc/shared-plot-options/styles.d.ts +2 -0
  99. package/dist-tsc/shared-plot-options/styles.d.ts.map +1 -0
  100. package/dist-tsc/shared-plot-options/styles.js +48 -0
  101. package/dist-tsc/state/hooks.d.ts +242 -0
  102. package/dist-tsc/state/hooks.d.ts.map +1 -0
  103. package/dist-tsc/state/hooks.js +615 -0
  104. package/dist-tsc/title-styles.d.ts +2 -0
  105. package/dist-tsc/title-styles.d.ts.map +1 -0
  106. package/dist-tsc/title-styles.js +72 -0
  107. package/dist-tsc/view-config-utils.d.ts +31 -0
  108. package/dist-tsc/view-config-utils.d.ts.map +1 -0
  109. package/dist-tsc/view-config-utils.js +240 -0
  110. package/dist-tsc/view-config-utils.test.d.ts +2 -0
  111. package/dist-tsc/view-config-utils.test.d.ts.map +1 -0
  112. package/dist-tsc/view-config-utils.test.fixtures.d.ts +1049 -0
  113. package/dist-tsc/view-config-utils.test.fixtures.d.ts.map +1 -0
  114. package/dist-tsc/view-config-utils.test.fixtures.js +883 -0
  115. package/dist-tsc/view-config-utils.test.js +210 -0
  116. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.d.ts +8 -0
  117. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.d.ts.map +1 -0
  118. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.js +114 -0
  119. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.d.ts +2 -0
  120. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.d.ts.map +1 -0
  121. package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.js +48 -0
  122. package/dist-tsc/vitessce-grid-layout/index.d.ts +2 -0
  123. package/dist-tsc/vitessce-grid-layout/index.d.ts.map +1 -0
  124. package/dist-tsc/vitessce-grid-layout/index.js +1 -0
  125. package/dist-tsc/vitessce-grid-layout/layout-utils.d.ts +15 -0
  126. package/dist-tsc/vitessce-grid-layout/layout-utils.d.ts.map +1 -0
  127. package/dist-tsc/vitessce-grid-layout/layout-utils.js +61 -0
  128. package/dist-tsc/vitessce-grid-layout/layout-utils.test.d.ts +2 -0
  129. package/dist-tsc/vitessce-grid-layout/layout-utils.test.d.ts.map +1 -0
  130. package/dist-tsc/vitessce-grid-layout/layout-utils.test.js +149 -0
  131. package/dist-tsc/vitessce-grid-utils.d.ts +13 -0
  132. package/dist-tsc/vitessce-grid-utils.d.ts.map +1 -0
  133. package/dist-tsc/vitessce-grid-utils.js +141 -0
  134. package/package.json +25 -11
  135. package/src/CallbackPublisher.js +7 -11
  136. package/src/LoadingIndicator.js +1 -2
  137. package/src/TitleInfo.js +12 -85
  138. package/src/VitS.js +143 -85
  139. package/src/VitessceGrid.js +35 -21
  140. package/src/VitessceGrid.test.jsx +23 -8
  141. package/src/Warning.js +4 -4
  142. package/src/data/AbstractLoader.js +2 -25
  143. package/src/data/AbstractTwoStepLoader.js +1 -1
  144. package/src/data/LoaderResult.js +5 -0
  145. package/src/data/index.js +3 -3
  146. package/src/data/loader-registry.js +22 -13
  147. package/src/data-hook-utils.js +119 -86
  148. package/src/data-hooks.js +150 -131
  149. package/src/errors/DataSourceFetchError.js +2 -2
  150. package/src/errors/DatasetNotFoundError.js +1 -1
  151. package/src/errors/LoaderNotFoundError.js +1 -1
  152. package/src/errors/LoaderValidationError.js +1 -1
  153. package/src/errors/index.js +5 -6
  154. package/src/hooks.js +81 -26
  155. package/src/index.js +23 -46
  156. package/src/mui-utils.js +52 -0
  157. package/src/shared-mui/components.js +10 -8
  158. package/src/shared-mui/container.js +1 -1
  159. package/src/shared-mui/styles.js +5 -2
  160. package/src/shared-plot-options/CellColorEncodingOption.js +3 -4
  161. package/src/shared-plot-options/OptionSelect.js +3 -3
  162. package/src/shared-plot-options/OptionsContainer.js +2 -5
  163. package/src/shared-plot-options/index.js +4 -4
  164. package/src/shared-plot-options/styles.js +2 -2
  165. package/src/state/hooks.js +75 -23
  166. package/src/title-styles.js +73 -0
  167. package/src/view-config-utils.js +54 -98
  168. package/src/view-config-utils.test.jsx +223 -0
  169. package/src/vitessce-grid-layout/VitessceGridLayout.js +51 -30
  170. package/src/vitessce-grid-layout/VitessceGridLayout.test.jsx +17 -9
  171. package/src/vitessce-grid-layout/index.js +1 -1
  172. package/src/vitessce-grid-layout/layout-utils.js +1 -1
  173. package/src/vitessce-grid-layout/layout-utils.test.js +2 -1
  174. package/src/vitessce-grid-utils.js +27 -15
  175. package/dist/index.mjs +0 -84801
  176. package/src/component-registry.js +0 -21
  177. package/src/errors/OptionsValidationError.js +0 -25
  178. package/src/file-options-schemas-legacy.js +0 -139
  179. package/src/file-options-schemas-legacy.test.js +0 -138
  180. package/src/file-options-schemas.js +0 -327
  181. package/src/file-options-schemas.test.js +0 -26
  182. package/src/joint-file-types-legacy.js +0 -298
  183. package/src/joint-file-types-legacy.test.js +0 -412
  184. package/src/joint-file-types.js +0 -171
  185. package/src/joint-file-types.test.js +0 -144
  186. package/src/json-schemas.js +0 -9
  187. package/src/plugins.js +0 -186
  188. package/src/plugins.test.js +0 -42
  189. package/src/schemas/config-0.1.0.schema.json +0 -85
  190. package/src/schemas/config-1.0.0.schema.json +0 -733
  191. package/src/schemas/config-1.0.1.schema.json +0 -909
  192. package/src/schemas/config-1.0.10.schema.json +0 -969
  193. package/src/schemas/config-1.0.11.schema.json +0 -990
  194. package/src/schemas/config-1.0.12.schema.json +0 -997
  195. package/src/schemas/config-1.0.13.schema.json +0 -1013
  196. package/src/schemas/config-1.0.14.schema.json +0 -1048
  197. package/src/schemas/config-1.0.15.schema.json +0 -1048
  198. package/src/schemas/config-1.0.16.schema.json +0 -1069
  199. package/src/schemas/config-1.0.16.schema.test.js +0 -32
  200. package/src/schemas/config-1.0.2.schema.json +0 -911
  201. package/src/schemas/config-1.0.3.schema.json +0 -911
  202. package/src/schemas/config-1.0.4.schema.json +0 -949
  203. package/src/schemas/config-1.0.5.schema.json +0 -949
  204. package/src/schemas/config-1.0.6.schema.json +0 -950
  205. package/src/schemas/config-1.0.7.schema.json +0 -950
  206. package/src/schemas/config-1.0.8.schema.json +0 -966
  207. package/src/schemas/config-1.0.9.schema.json +0 -965
  208. package/src/schemas/obsSets.schema.js +0 -195
  209. package/src/schemas/obsSetsTabular.schema.js +0 -39
  210. package/src/schemas/raster.schema.js +0 -121
  211. package/src/schemas/schema-schema.sh +0 -34
  212. package/src/schemas/schema.test-old.js +0 -49
  213. package/src/view-config-upgraders.js +0 -628
  214. package/src/view-config-utils.test.js +0 -95
  215. package/src/view-config-versions.js +0 -68
@@ -1,195 +0,0 @@
1
- const schema = {
2
- $schema: 'http://json-schema.org/draft-07/schema#',
3
- $id: 'https://github.com/vitessce/vitessce/#cell-sets',
4
- title: 'Vitessce obs sets data',
5
- type: 'object',
6
- definitions: {
7
- stringArray: {
8
- type: 'array',
9
- items: {
10
- type: 'string',
11
- },
12
- },
13
- stringProbabilityTupleArray: {
14
- type: 'array',
15
- items: {
16
- type: 'array',
17
- additionalItems: false,
18
- items: [
19
- {
20
- type: 'string',
21
- },
22
- {
23
- oneOf: [
24
- {
25
- type: 'number',
26
- minimum: 0.0,
27
- maximum: 1.0,
28
- },
29
- {
30
- type: 'null',
31
- },
32
- ],
33
- },
34
- ],
35
- },
36
- },
37
- colorArray: {
38
- type: 'array',
39
- items: {
40
- type: 'integer',
41
- minimum: 0,
42
- maximum: 255,
43
- },
44
- minItems: 3,
45
- maxItems: 3,
46
- },
47
- treeNodeLeaf: {
48
- type: 'object',
49
- additionalProperties: false,
50
- required: ['name'],
51
- properties: {
52
- name: {
53
- type: 'string',
54
- },
55
- color: {
56
- $ref: '#/definitions/colorArray',
57
- },
58
- set: {
59
- $ref: '#/definitions/stringArray',
60
- },
61
- },
62
- },
63
- treeNodeNonLeaf: {
64
- type: 'object',
65
- additionalProperties: false,
66
- required: ['name'],
67
- properties: {
68
- name: {
69
- type: 'string',
70
- },
71
- color: {
72
- $ref: '#/definitions/colorArray',
73
- },
74
- children: {
75
- type: 'array',
76
- items: {
77
- $ref: '#/definitions/treeNode',
78
- },
79
- },
80
- },
81
- },
82
- treeNode: {
83
- oneOf: [
84
- {
85
- $ref: '#/definitions/treeNodeNonLeaf',
86
- },
87
- {
88
- $ref: '#/definitions/treeNodeLeaf',
89
- },
90
- ],
91
- },
92
- 'version0.1.2': {
93
- type: 'object',
94
- additionalProperties: false,
95
- required: ['version', 'datatype', 'tree'],
96
- properties: {
97
- dataset: {
98
- type: 'string',
99
- },
100
- version: {
101
- type: 'string',
102
- enum: ['0.1.2'],
103
- },
104
- datatype: {
105
- type: 'string',
106
- enum: ['cell', 'obs'],
107
- },
108
- tree: {
109
- type: 'array',
110
- items: {
111
- $ref: '#/definitions/treeNodeNonLeaf',
112
- },
113
- },
114
- },
115
- },
116
- treeNodeLeafProbabilistic: {
117
- type: 'object',
118
- additionalProperties: false,
119
- required: ['name'],
120
- properties: {
121
- name: {
122
- type: 'string',
123
- },
124
- color: {
125
- $ref: '#/definitions/colorArray',
126
- },
127
- set: {
128
- $ref: '#/definitions/stringProbabilityTupleArray',
129
- },
130
- },
131
- },
132
- treeNodeNonLeafProbabilistic: {
133
- type: 'object',
134
- additionalProperties: false,
135
- required: ['name'],
136
- properties: {
137
- name: {
138
- type: 'string',
139
- },
140
- color: {
141
- $ref: '#/definitions/colorArray',
142
- },
143
- children: {
144
- type: 'array',
145
- items: {
146
- $ref: '#/definitions/treeNodeProbabilistic',
147
- },
148
- },
149
- },
150
- },
151
- treeNodeProbabilistic: {
152
- oneOf: [
153
- {
154
- $ref: '#/definitions/treeNodeNonLeafProbabilistic',
155
- },
156
- {
157
- $ref: '#/definitions/treeNodeLeafProbabilistic',
158
- },
159
- ],
160
- },
161
- 'version0.1.3': {
162
- type: 'object',
163
- additionalProperties: false,
164
- required: ['version', 'datatype', 'tree'],
165
- properties: {
166
- dataset: {
167
- type: 'string',
168
- },
169
- version: {
170
- type: 'string',
171
- enum: ['0.1.3'],
172
- },
173
- datatype: {
174
- type: 'string',
175
- enum: ['cell', 'obs'],
176
- },
177
- tree: {
178
- type: 'array',
179
- items: {
180
- $ref: '#/definitions/treeNodeNonLeafProbabilistic',
181
- },
182
- },
183
- },
184
- },
185
- },
186
- oneOf: [
187
- {
188
- $ref: '#/definitions/version0.1.2',
189
- },
190
- {
191
- $ref: '#/definitions/version0.1.3',
192
- },
193
- ],
194
- };
195
- export default schema;
@@ -1,39 +0,0 @@
1
- const schema = {
2
- $schema: 'http://json-schema.org/draft-07/schema#',
3
- $id: 'https://github.com/vitessce/vitessce/#obsSetsTabular',
4
- title: 'Vitessce obs sets data, tabular format',
5
- definitions: {
6
- colorArray: {
7
- type: 'array',
8
- items: { type: 'integer', minimum: 0, maximum: 255 },
9
- minItems: 3,
10
- maxItems: 3,
11
- },
12
- },
13
- type: 'array',
14
- items: {
15
- type: 'object',
16
- additionalProperties: false,
17
- required: ['groupName', 'setName', 'obsId'],
18
- properties: {
19
- groupName: { type: 'string' },
20
- setName: { type: 'string' },
21
- setColor: { $ref: '#/definitions/colorArray' },
22
- obsId: { type: 'string' },
23
- predictionScore: {
24
- oneOf: [
25
- {
26
- type: 'number',
27
- minimum: 0.0,
28
- maximum: 1.0,
29
- },
30
- {
31
- type: 'null',
32
- },
33
- ],
34
- },
35
- },
36
- },
37
- };
38
-
39
- export default schema;
@@ -1,121 +0,0 @@
1
- const schema = {
2
- $schema: 'http://json-schema.org/draft-07/schema#',
3
- $id: 'https://github.com/vitessce/vitessce/#raster',
4
- title: 'Vitessce image data',
5
- type: 'object',
6
- definitions: {
7
- transform: {
8
- type: 'object',
9
- additionalProperties: false,
10
- oneOf: [{ required: ['scale', 'translate'] }, { required: ['matrix'] }],
11
- properties: {
12
- scale: { type: 'number' },
13
- translate: {
14
- type: 'object',
15
- additionalProperties: false,
16
- required: ['y', 'x'],
17
- properties: {
18
- y: { type: 'number' },
19
- x: { type: 'number' },
20
- },
21
- },
22
- matrix: {
23
- type: 'array',
24
- items: { type: 'number' },
25
- minItems: 16,
26
- maxItems: 16,
27
- },
28
- },
29
- },
30
- dimensions: {
31
- type: 'array',
32
- items: {
33
- type: 'object',
34
- additionalProperties: false,
35
- required: ['field', 'type', 'values'],
36
- properties: {
37
- field: { type: 'string' },
38
- type: {
39
- type: 'string',
40
- enum: ['quantitative', 'nominal', 'ordinal', 'temporal'],
41
- },
42
- values: {
43
- type: ['array', 'null'],
44
- items: { type: 'string' },
45
- },
46
- },
47
- },
48
- },
49
- metadata: {
50
- type: 'object',
51
- additionalProperties: false,
52
- anyOf: [{ required: ['dimensions', 'isPyramid'] }, { required: ['transform'] }, { required: ['omeTiffOffsetsUrl'] }, { required: ['isBitmask'] }],
53
- properties: {
54
- dimensions: { $ref: '#/definitions/dimensions' },
55
- isPyramid: { type: 'boolean' },
56
- transform: { $ref: '#/definitions/transform' },
57
- isBitmask: { type: 'boolean' },
58
- omeTiffOffsetsUrl: { type: 'string', format: 'uri' },
59
- },
60
- },
61
- requestInit: {
62
- type: 'object',
63
- additionalProperties: false,
64
- required: [],
65
- properties: {
66
- method: {
67
- type: 'string',
68
- },
69
- headers: {
70
- type: 'object',
71
- },
72
- body: {
73
- type: 'string',
74
- },
75
- mode: {
76
- type: 'string',
77
- },
78
- credentials: {
79
- type: 'string',
80
- },
81
- cache: {
82
- type: 'string',
83
- },
84
- redirect: {
85
- type: 'string',
86
- },
87
- referrer: {
88
- type: 'string',
89
- },
90
- integrity: {
91
- type: 'string',
92
- },
93
- },
94
- },
95
- image: {
96
- type: 'object',
97
- additionalProperties: false,
98
- required: ['name', 'url', 'type'],
99
- properties: {
100
- name: { type: 'string' },
101
- url: { type: 'string', format: 'uri' },
102
- type: { type: 'string' },
103
- metadata: { $ref: '#/definitions/metadata' },
104
- requestInit: { $ref: '#/definitions/requestInit' },
105
- },
106
- },
107
- },
108
- additionalProperties: false,
109
- required: ['schemaVersion', 'images'],
110
- properties: {
111
- schemaVersion: { type: 'string' },
112
- usePhysicalSizeScaling: { type: 'boolean', description: 'Default is false: passing true in will infer scaling from the reported physcial size' },
113
- renderLayers: { type: 'array', items: { type: 'string' } },
114
- images: {
115
- type: 'array',
116
- items: { $ref: '#/definitions/image' },
117
- },
118
- },
119
- };
120
-
121
- export default schema;
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -o errexit
3
-
4
- die() { set +v; echo "$*" 1>&2 ; exit 1; }
5
-
6
- # This is a totally ad-hoc script to ensure some consistency in our schemas.
7
- # We want to be sure that each "properties" also specifies "additionalProperties" and "required".
8
-
9
- FAILURES=$(
10
- SCHEMA_DIR=`dirname $0`
11
- for SCHEMA in $SCHEMA_DIR/*.schema.json; do
12
- export SCHEMA
13
- grep -B2 '"properties"' $SCHEMA \
14
- | perl -pne 's/\n//; s/\s+/ /g; s/--/\n/;' \
15
- | perl -ne 'next unless /properties/; print "$ENV{SCHEMA}: $_" unless /"additionalProperties".*"(required|oneOf|allOf|anyOf)".*"properties"/;'
16
- done
17
- )
18
-
19
- if [[ $FAILURES ]]; then
20
- die "Check that 'additionalProperties' & 'required' & 'properties' are provided:
21
- $FAILURES"
22
- fi
23
-
24
- # Check that existing schemas have not changed.
25
- for SCHEMA in $SCHEMA_DIR/config-*.schema.json; do
26
- SCHEMA_NAME=`basename $SCHEMA`
27
- SCHEMA_RESPONSE=`curl -s https://raw.githubusercontent.com/vitessce/vitessce/main/src/schemas/$SCHEMA_NAME`
28
- if [ "$SCHEMA_RESPONSE" == "404: Not Found" ]; then
29
- echo "Schema $SCHEMA is not in production yet."
30
- else
31
- diff --ignore-all-space $SCHEMA <(echo "$SCHEMA_RESPONSE") \
32
- || die "$SCHEMA has changed. Please do not change existing schema; instead, make a new schema."
33
- fi
34
- done
@@ -1,49 +0,0 @@
1
- // TODO(monorepo)
2
- /*
3
- import Ajv from 'ajv';
4
- import obsSetsSchema from './obsSets.schema';
5
- import rasterSchema from './raster.schema';
6
- describe('schemas', () => {
7
- [
8
- 'config-1.0.1',
9
- 'obsSets',
10
- 'obsSetsTabular',
11
- 'raster',
12
- ].forEach((type) => {
13
- const schemaFile = `${type}.schema.json`;
14
- describe(schemaFile, async () => {
15
- const schema = await import(`./${schemaFile}`);
16
- let validate;
17
- if (type === 'config-1.0.1') {
18
- const obsSets = obsSetsSchema;
19
- const raster = rasterSchema;
20
- validate = new Ajv()
21
- .addSchema(obsSets)
22
- .addSchema(raster)
23
- .compile(schema);
24
- } else {
25
- validate = new Ajv().compile(schema);
26
- }
27
-
28
- const [goodFixture, badFixture, badMessage] = [
29
- 'good', 'bad', 'bad.message',
30
- ].map(stem => `${type}.${stem}.json`);
31
-
32
- it(`passes ${goodFixture}`, async () => {
33
- const data = await import(`./fixtures/${goodFixture}`);
34
- const valid = validate(data);
35
- if (!valid) { console.warn(validate.errors); }
36
- expect(valid).toEqual(true);
37
- });
38
-
39
- it(`fails ${badFixture}`, async () => {
40
- const data = await import(`./fixtures/${badFixture}`);
41
- const message = await import(`./fixtures/${badMessage}`);
42
- const valid = validate(data);
43
- expect(valid).toEqual(false);
44
- expect(validate.errors).toEqual(message);
45
- });
46
- });
47
- });
48
- });
49
- */