@vitessce/vit-s 3.0.0 → 3.1.0
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 +28430 -25685
- package/dist-tsc/VitS.d.ts +7 -2
- package/dist-tsc/VitS.d.ts.map +1 -1
- package/dist-tsc/VitS.js +43 -23
- package/dist-tsc/VitessceGrid.d.ts.map +1 -1
- package/dist-tsc/VitessceGrid.js +14 -11
- package/dist-tsc/VitessceGrid.test.js +5 -2
- package/dist-tsc/Warning.js +2 -2
- package/dist-tsc/data/LoaderResult.d.ts +8 -3
- package/dist-tsc/data/LoaderResult.d.ts.map +1 -1
- package/dist-tsc/data/LoaderResult.js +5 -0
- package/dist-tsc/data-hook-utils.d.ts +3 -7
- package/dist-tsc/data-hook-utils.d.ts.map +1 -1
- package/dist-tsc/data-hook-utils.js +97 -79
- package/dist-tsc/data-hooks.d.ts +12 -16
- package/dist-tsc/data-hooks.d.ts.map +1 -1
- package/dist-tsc/data-hooks.js +140 -127
- package/dist-tsc/errors/DataSourceFetchError.js +1 -1
- package/dist-tsc/hooks.d.ts +3 -7
- package/dist-tsc/hooks.d.ts.map +1 -1
- package/dist-tsc/hooks.js +12 -18
- package/dist-tsc/index.d.ts +2 -1
- package/dist-tsc/index.js +2 -1
- 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/shared-plot-options/OptionSelect.js +1 -1
- package/dist-tsc/shared-plot-options/styles.js +1 -1
- package/dist-tsc/state/hooks.d.ts +27 -1
- package/dist-tsc/state/hooks.d.ts.map +1 -1
- package/dist-tsc/state/hooks.js +61 -21
- package/dist-tsc/view-config-utils.d.ts +1 -0
- package/dist-tsc/view-config-utils.d.ts.map +1 -1
- package/dist-tsc/view-config-utils.js +7 -1
- package/dist-tsc/view-config-utils.test.js +1 -0
- package/dist-tsc/vitessce-grid-layout/VitessceGridLayout.test.js +1 -1
- package/dist-tsc/vitessce-grid-layout/layout-utils.test.js +1 -0
- package/package.json +10 -9
- package/src/VitS.js +79 -43
- package/src/VitessceGrid.js +16 -10
- package/src/VitessceGrid.test.jsx +8 -2
- package/src/Warning.js +2 -2
- package/src/data/LoaderResult.js +5 -0
- package/src/data-hook-utils.js +116 -81
- package/src/data-hooks.js +148 -129
- package/src/errors/DataSourceFetchError.js +1 -1
- package/src/hooks.js +14 -21
- package/src/index.js +2 -0
- package/src/mui-utils.js +52 -0
- package/src/shared-plot-options/OptionSelect.js +1 -1
- package/src/shared-plot-options/styles.js +1 -1
- package/src/state/hooks.js +66 -21
- package/src/view-config-utils.js +8 -0
- package/src/view-config-utils.test.jsx +1 -0
- package/src/vitessce-grid-layout/VitessceGridLayout.test.jsx +1 -1
- package/src/vitessce-grid-layout/layout-utils.test.js +1 -0
- package/dist-tsc/schemas/config-0.1.0.schema.json +0 -84
- package/dist-tsc/schemas/config-1.0.0.schema.json +0 -733
- package/dist-tsc/schemas/config-1.0.1.schema.json +0 -909
- package/dist-tsc/schemas/config-1.0.10.schema.json +0 -969
- package/dist-tsc/schemas/config-1.0.11.schema.json +0 -990
- package/dist-tsc/schemas/config-1.0.12.schema.json +0 -997
- package/dist-tsc/schemas/config-1.0.13.schema.json +0 -1013
- package/dist-tsc/schemas/config-1.0.14.schema.json +0 -1048
- package/dist-tsc/schemas/config-1.0.15.schema.json +0 -1048
- package/dist-tsc/schemas/config-1.0.16.schema.json +0 -1089
- package/dist-tsc/schemas/config-1.0.2.schema.json +0 -910
- package/dist-tsc/schemas/config-1.0.3.schema.json +0 -910
- package/dist-tsc/schemas/config-1.0.4.schema.json +0 -949
- package/dist-tsc/schemas/config-1.0.5.schema.json +0 -949
- package/dist-tsc/schemas/config-1.0.6.schema.json +0 -949
- package/dist-tsc/schemas/config-1.0.7.schema.json +0 -949
- package/dist-tsc/schemas/config-1.0.8.schema.json +0 -965
- package/dist-tsc/schemas/config-1.0.9.schema.json +0 -965
- package/dist-tsc/schemas/obsSets.schema.d.ts +0 -179
- package/dist-tsc/schemas/obsSets.schema.d.ts.map +0 -1
- package/dist-tsc/schemas/obsSets.schema.js +0 -195
- package/dist-tsc/schemas/obsSetsTabular.schema.d.ts +0 -57
- package/dist-tsc/schemas/obsSetsTabular.schema.d.ts.map +0 -1
- package/dist-tsc/schemas/obsSetsTabular.schema.js +0 -38
- package/dist-tsc/schemas/raster.schema.d.ts +0 -239
- package/dist-tsc/schemas/raster.schema.d.ts.map +0 -1
- package/dist-tsc/schemas/raster.schema.js +0 -120
- 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 -1089
- 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
|
@@ -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
|