Skip to content

Commit 482cbfd

Browse files
authored
feat: add schema listing all Schema-Store JSON Schema docs (#237)
1 parent 68302ad commit 482cbfd

File tree

2 files changed

+151
-1
lines changed

2 files changed

+151
-1
lines changed

schemas/all.schema-store.json

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
{
2+
"$id": "http://asyncapi.com/schema-store/all.schema-store.json",
3+
"$schema": "http://json-schema.org/draft-07/schema",
4+
"title": "JSON Schema documents for all AsyncAPI spec versions",
5+
"description": "All AsyncAPI JSON Schema documents listed in one file. Needed for serving all documents through schemastore.org",
6+
"type": "object",
7+
"oneOf": [
8+
{
9+
"allOf": [
10+
{
11+
"properties": {
12+
"asyncapi": {
13+
"const": "1.0.0"
14+
}
15+
}
16+
},
17+
{
18+
"$ref": "http://asyncapi.com/schema-store/1.0.0.json"
19+
}
20+
]
21+
},
22+
{
23+
"allOf": [
24+
{
25+
"properties": {
26+
"asyncapi": {
27+
"const": "1.1.0"
28+
}
29+
}
30+
},
31+
{
32+
"$ref": "http://asyncapi.com/schema-store/1.1.0.json"
33+
}
34+
]
35+
},
36+
{
37+
"allOf": [
38+
{
39+
"properties": {
40+
"asyncapi": {
41+
"const": "1.2.0"
42+
}
43+
}
44+
},
45+
{
46+
"$ref": "http://asyncapi.com/schema-store/1.2.0.json"
47+
}
48+
]
49+
},
50+
{
51+
"allOf": [
52+
{
53+
"properties": {
54+
"asyncapi": {
55+
"const": "2.0.0-rc1"
56+
}
57+
}
58+
},
59+
{
60+
"$ref": "http://asyncapi.com/schema-store/2.0.0-rc1.json"
61+
}
62+
]
63+
},
64+
{
65+
"allOf": [
66+
{
67+
"properties": {
68+
"asyncapi": {
69+
"const": "2.0.0-rc2"
70+
}
71+
}
72+
},
73+
{
74+
"$ref": "http://asyncapi.com/schema-store/2.0.0-rc2.json"
75+
}
76+
]
77+
},
78+
{
79+
"allOf": [
80+
{
81+
"properties": {
82+
"asyncapi": {
83+
"const": "2.0.0"
84+
}
85+
}
86+
},
87+
{
88+
"$ref": "http://asyncapi.com/schema-store/2.0.0.json"
89+
}
90+
]
91+
},
92+
{
93+
"allOf": [
94+
{
95+
"properties": {
96+
"asyncapi": {
97+
"const": "2.1.0"
98+
}
99+
}
100+
},
101+
{
102+
"$ref": "http://asyncapi.com/schema-store/2.1.0.json"
103+
}
104+
]
105+
},
106+
{
107+
"allOf": [
108+
{
109+
"properties": {
110+
"asyncapi": {
111+
"const": "2.2.0"
112+
}
113+
}
114+
},
115+
{
116+
"$ref": "http://asyncapi.com/schema-store/2.2.0.json"
117+
}
118+
]
119+
},
120+
{
121+
"allOf": [
122+
{
123+
"properties": {
124+
"asyncapi": {
125+
"const": "2.3.0"
126+
}
127+
}
128+
},
129+
{
130+
"$ref": "http://asyncapi.com/schema-store/2.3.0.json"
131+
}
132+
]
133+
},
134+
{
135+
"allOf": [
136+
{
137+
"properties": {
138+
"asyncapi": {
139+
"const": "2.4.0"
140+
}
141+
}
142+
},
143+
{
144+
"$ref": "http://asyncapi.com/schema-store/2.4.0.json"
145+
}
146+
]
147+
}
148+
]
149+
}

test/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ describe('AsyncAPI', () => {
99
});
1010

1111
it('should check if json schema is exported and if it matches the original file', () => {
12+
const skipFiles = ["README", "all.schema-store"];
1213
const files = fs.readdirSync('schemas');
1314
files.forEach(file => {
1415
const fileName = path.parse(file).name;
15-
if (fileName == "README") return;
16+
if (skipFiles.includes(fileName)) return;
1617

1718
const asyncapi = require('..');
1819
assert(typeof asyncapi[fileName] === 'object', `Returned object does not contain ${fileName}.`);

0 commit comments

Comments
 (0)