@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.
- package/dist/index.js +44072 -0
- package/dist-tsc/CallbackPublisher.d.ts +18 -0
- package/dist-tsc/CallbackPublisher.d.ts.map +1 -0
- package/dist-tsc/CallbackPublisher.js +62 -0
- package/dist-tsc/LoadingIndicator.d.ts +2 -0
- package/dist-tsc/LoadingIndicator.d.ts.map +1 -0
- package/dist-tsc/LoadingIndicator.js +26 -0
- package/dist-tsc/TitleInfo.d.ts +2 -0
- package/dist-tsc/TitleInfo.d.ts.map +1 -0
- package/dist-tsc/TitleInfo.js +74 -0
- package/dist-tsc/VitS.d.ts +50 -0
- package/dist-tsc/VitS.d.ts.map +1 -0
- package/dist-tsc/VitS.js +139 -0
- package/dist-tsc/VitessceGrid.d.ts +23 -0
- package/dist-tsc/VitessceGrid.d.ts.map +1 -0
- package/dist-tsc/VitessceGrid.js +63 -0
- package/dist-tsc/VitessceGrid.test.d.ts +2 -0
- package/dist-tsc/VitessceGrid.test.d.ts.map +1 -0
- package/dist-tsc/VitessceGrid.test.js +43 -0
- package/dist-tsc/Warning.d.ts +2 -0
- package/dist-tsc/Warning.d.ts.map +1 -0
- package/dist-tsc/Warning.js +45 -0
- package/dist-tsc/classNames.d.ts +8 -0
- package/dist-tsc/classNames.d.ts.map +1 -0
- package/dist-tsc/classNames.js +8 -0
- package/dist-tsc/data/AbstractLoader.d.ts +22 -0
- package/dist-tsc/data/AbstractLoader.d.ts.map +1 -0
- package/dist-tsc/data/AbstractLoader.js +18 -0
- package/dist-tsc/data/AbstractTwoStepLoader.d.ts +6 -0
- package/dist-tsc/data/AbstractTwoStepLoader.d.ts.map +1 -0
- package/dist-tsc/data/AbstractTwoStepLoader.js +7 -0
- package/dist-tsc/data/LoaderResult.d.ts +12 -0
- package/dist-tsc/data/LoaderResult.d.ts.map +1 -0
- package/dist-tsc/data/LoaderResult.js +12 -0
- package/dist-tsc/data/index.d.ts +4 -0
- package/dist-tsc/data/index.d.ts.map +1 -0
- package/dist-tsc/data/index.js +3 -0
- package/dist-tsc/data/loader-registry.d.ts +9 -0
- package/dist-tsc/data/loader-registry.d.ts.map +1 -0
- package/dist-tsc/data/loader-registry.js +27 -0
- package/dist-tsc/data-hook-utils.d.ts +65 -0
- package/dist-tsc/data-hook-utils.d.ts.map +1 -0
- package/dist-tsc/data-hook-utils.js +191 -0
- package/dist-tsc/data-hooks.d.ts +73 -0
- package/dist-tsc/data-hooks.d.ts.map +1 -0
- package/dist-tsc/data-hooks.js +254 -0
- package/dist-tsc/errors/AbstractLoaderError.d.ts +10 -0
- package/dist-tsc/errors/AbstractLoaderError.d.ts.map +1 -0
- package/dist-tsc/errors/AbstractLoaderError.js +13 -0
- package/dist-tsc/errors/DataSourceFetchError.d.ts +8 -0
- package/dist-tsc/errors/DataSourceFetchError.d.ts.map +1 -0
- package/dist-tsc/errors/DataSourceFetchError.js +13 -0
- package/dist-tsc/errors/DatasetNotFoundError.d.ts +6 -0
- package/dist-tsc/errors/DatasetNotFoundError.d.ts.map +1 -0
- package/dist-tsc/errors/DatasetNotFoundError.js +17 -0
- package/dist-tsc/errors/LoaderNotFoundError.d.ts +10 -0
- package/dist-tsc/errors/LoaderNotFoundError.d.ts.map +1 -0
- package/dist-tsc/errors/LoaderNotFoundError.js +17 -0
- package/dist-tsc/errors/LoaderValidationError.d.ts +10 -0
- package/dist-tsc/errors/LoaderValidationError.d.ts.map +1 -0
- package/dist-tsc/errors/LoaderValidationError.js +15 -0
- package/dist-tsc/errors/index.d.ts +6 -0
- package/dist-tsc/errors/index.d.ts.map +1 -0
- package/dist-tsc/errors/index.js +5 -0
- package/dist-tsc/hooks.d.ts +76 -0
- package/dist-tsc/hooks.d.ts.map +1 -0
- package/dist-tsc/hooks.js +262 -0
- package/dist-tsc/index.d.ts +12 -0
- package/dist-tsc/index.d.ts.map +1 -0
- package/dist-tsc/index.js +11 -17
- package/dist-tsc/mui-utils.d.ts +2 -0
- package/dist-tsc/mui-utils.d.ts.map +1 -0
- package/dist-tsc/mui-utils.js +44 -0
- package/dist-tsc/plugins.test.fixtures.d.ts +61 -0
- package/dist-tsc/plugins.test.fixtures.d.ts.map +1 -0
- package/dist-tsc/plugins.test.fixtures.js +76 -0
- package/dist-tsc/shared-mui/components.d.ts +2 -0
- package/dist-tsc/shared-mui/components.d.ts.map +1 -0
- package/dist-tsc/shared-mui/components.js +29 -0
- package/dist-tsc/shared-mui/container.d.ts +2 -0
- package/dist-tsc/shared-mui/container.d.ts.map +1 -0
- package/dist-tsc/shared-mui/container.js +211 -0
- package/dist-tsc/shared-mui/styles.d.ts +5 -0
- package/dist-tsc/shared-mui/styles.d.ts.map +1 -0
- package/dist-tsc/shared-mui/styles.js +109 -0
- package/dist-tsc/shared-plot-options/CellColorEncodingOption.d.ts +2 -0
- package/dist-tsc/shared-plot-options/CellColorEncodingOption.d.ts.map +1 -0
- package/dist-tsc/shared-plot-options/CellColorEncodingOption.js +17 -0
- package/dist-tsc/shared-plot-options/OptionSelect.d.ts +2 -0
- package/dist-tsc/shared-plot-options/OptionSelect.d.ts.map +1 -0
- package/dist-tsc/shared-plot-options/OptionSelect.js +12 -0
- package/dist-tsc/shared-plot-options/OptionsContainer.d.ts +2 -0
- package/dist-tsc/shared-plot-options/OptionsContainer.d.ts.map +1 -0
- package/dist-tsc/shared-plot-options/OptionsContainer.js +9 -0
- package/dist-tsc/shared-plot-options/index.d.ts +5 -0
- package/dist-tsc/shared-plot-options/index.d.ts.map +1 -0
- package/dist-tsc/shared-plot-options/index.js +4 -0
- package/dist-tsc/shared-plot-options/styles.d.ts +2 -0
- package/dist-tsc/shared-plot-options/styles.d.ts.map +1 -0
- package/dist-tsc/shared-plot-options/styles.js +48 -0
- package/dist-tsc/state/hooks.d.ts +242 -0
- package/dist-tsc/state/hooks.d.ts.map +1 -0
- package/dist-tsc/state/hooks.js +615 -0
- package/dist-tsc/title-styles.d.ts +2 -0
- package/dist-tsc/title-styles.d.ts.map +1 -0
- package/dist-tsc/title-styles.js +72 -0
- package/dist-tsc/view-config-utils.d.ts +31 -0
- package/dist-tsc/view-config-utils.d.ts.map +1 -0
- package/dist-tsc/view-config-utils.js +240 -0
- package/dist-tsc/view-config-utils.test.d.ts +2 -0
- package/dist-tsc/view-config-utils.test.d.ts.map +1 -0
- package/dist-tsc/view-config-utils.test.fixtures.d.ts +1049 -0
- package/dist-tsc/view-config-utils.test.fixtures.d.ts.map +1 -0
- package/dist-tsc/view-config-utils.test.fixtures.js +883 -0
- package/dist-tsc/view-config-utils.test.js +210 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.d.ts +8 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.js +114 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.d.ts +2 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.js +48 -0
- package/dist-tsc/vitessce-grid-layout/index.d.ts +2 -0
- package/dist-tsc/vitessce-grid-layout/index.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-layout/index.js +1 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.d.ts +15 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.js +61 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.test.d.ts +2 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.test.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-layout/layout-utils.test.js +149 -0
- package/dist-tsc/vitessce-grid-utils.d.ts +13 -0
- package/dist-tsc/vitessce-grid-utils.d.ts.map +1 -0
- package/dist-tsc/vitessce-grid-utils.js +141 -0
- package/package.json +25 -11
- package/src/CallbackPublisher.js +7 -11
- package/src/LoadingIndicator.js +1 -2
- package/src/TitleInfo.js +12 -85
- package/src/VitS.js +143 -85
- package/src/VitessceGrid.js +35 -21
- package/src/VitessceGrid.test.jsx +23 -8
- package/src/Warning.js +4 -4
- package/src/data/AbstractLoader.js +2 -25
- package/src/data/AbstractTwoStepLoader.js +1 -1
- package/src/data/LoaderResult.js +5 -0
- package/src/data/index.js +3 -3
- package/src/data/loader-registry.js +22 -13
- package/src/data-hook-utils.js +119 -86
- package/src/data-hooks.js +150 -131
- package/src/errors/DataSourceFetchError.js +2 -2
- package/src/errors/DatasetNotFoundError.js +1 -1
- package/src/errors/LoaderNotFoundError.js +1 -1
- package/src/errors/LoaderValidationError.js +1 -1
- package/src/errors/index.js +5 -6
- package/src/hooks.js +81 -26
- package/src/index.js +23 -46
- package/src/mui-utils.js +52 -0
- package/src/shared-mui/components.js +10 -8
- package/src/shared-mui/container.js +1 -1
- package/src/shared-mui/styles.js +5 -2
- package/src/shared-plot-options/CellColorEncodingOption.js +3 -4
- package/src/shared-plot-options/OptionSelect.js +3 -3
- package/src/shared-plot-options/OptionsContainer.js +2 -5
- package/src/shared-plot-options/index.js +4 -4
- package/src/shared-plot-options/styles.js +2 -2
- package/src/state/hooks.js +75 -23
- package/src/title-styles.js +73 -0
- package/src/view-config-utils.js +54 -98
- package/src/view-config-utils.test.jsx +223 -0
- package/src/vitessce-grid-layout/VitessceGridLayout.js +51 -30
- package/src/vitessce-grid-layout/VitessceGridLayout.test.jsx +17 -9
- package/src/vitessce-grid-layout/index.js +1 -1
- package/src/vitessce-grid-layout/layout-utils.js +1 -1
- package/src/vitessce-grid-layout/layout-utils.test.js +2 -1
- package/src/vitessce-grid-utils.js +27 -15
- package/dist/index.mjs +0 -84801
- package/src/component-registry.js +0 -21
- package/src/errors/OptionsValidationError.js +0 -25
- package/src/file-options-schemas-legacy.js +0 -139
- package/src/file-options-schemas-legacy.test.js +0 -138
- package/src/file-options-schemas.js +0 -327
- package/src/file-options-schemas.test.js +0 -26
- package/src/joint-file-types-legacy.js +0 -298
- package/src/joint-file-types-legacy.test.js +0 -412
- package/src/joint-file-types.js +0 -171
- package/src/joint-file-types.test.js +0 -144
- package/src/json-schemas.js +0 -9
- package/src/plugins.js +0 -186
- package/src/plugins.test.js +0 -42
- package/src/schemas/config-0.1.0.schema.json +0 -85
- package/src/schemas/config-1.0.0.schema.json +0 -733
- package/src/schemas/config-1.0.1.schema.json +0 -909
- package/src/schemas/config-1.0.10.schema.json +0 -969
- package/src/schemas/config-1.0.11.schema.json +0 -990
- package/src/schemas/config-1.0.12.schema.json +0 -997
- package/src/schemas/config-1.0.13.schema.json +0 -1013
- package/src/schemas/config-1.0.14.schema.json +0 -1048
- package/src/schemas/config-1.0.15.schema.json +0 -1048
- package/src/schemas/config-1.0.16.schema.json +0 -1069
- package/src/schemas/config-1.0.16.schema.test.js +0 -32
- package/src/schemas/config-1.0.2.schema.json +0 -911
- package/src/schemas/config-1.0.3.schema.json +0 -911
- package/src/schemas/config-1.0.4.schema.json +0 -949
- package/src/schemas/config-1.0.5.schema.json +0 -949
- package/src/schemas/config-1.0.6.schema.json +0 -950
- package/src/schemas/config-1.0.7.schema.json +0 -950
- package/src/schemas/config-1.0.8.schema.json +0 -966
- package/src/schemas/config-1.0.9.schema.json +0 -965
- package/src/schemas/obsSets.schema.js +0 -195
- package/src/schemas/obsSetsTabular.schema.js +0 -39
- package/src/schemas/raster.schema.js +0 -121
- package/src/schemas/schema-schema.sh +0 -34
- package/src/schemas/schema.test-old.js +0 -49
- package/src/view-config-upgraders.js +0 -628
- package/src/view-config-utils.test.js +0 -95
- 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
|
-
*/
|