Skip to content

Commit ebb02ba

Browse files
authored
feat(playground): add support for OpenAPI 2.0 parsing (#3351)
Refs #389
1 parent 9a84fce commit ebb02ba

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

package-lock.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/apidom-playground/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,15 @@
2929
"@swagger-api/apidom-ast": "*",
3030
"@swagger-api/apidom-core": "*",
3131
"@swagger-api/apidom-ns-asyncapi-2": "*",
32+
"@swagger-api/apidom-ns-openapi-2": "*",
3233
"@swagger-api/apidom-ns-openapi-3-0": "*",
3334
"@swagger-api/apidom-ns-openapi-3-1": "*",
3435
"@swagger-api/apidom-parser": "*",
3536
"@swagger-api/apidom-parser-adapter-asyncapi-json-2": "*",
3637
"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "*",
3738
"@swagger-api/apidom-parser-adapter-json": "*",
39+
"@swagger-api/apidom-parser-adapter-openapi-json-2": "*",
40+
"@swagger-api/apidom-parser-adapter-openapi-yaml-2": "*",
3841
"@swagger-api/apidom-parser-adapter-openapi-json-3-0": "*",
3942
"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "*",
4043
"@swagger-api/apidom-parser-adapter-openapi-json-3-1": "*",

packages/apidom-playground/src/playground/apidom.worker.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { dehydrate, from, sexprs, toValue } from '@swagger-api/apidom-core';
44
import ApiDOMParser from '@swagger-api/apidom-parser';
55
import * as jsonAdapter from '@swagger-api/apidom-parser-adapter-json';
66
import * as yamlAdapter from '@swagger-api/apidom-parser-adapter-yaml-1-2';
7+
import * as openapi2AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-2';
8+
import * as openapi2AdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-2';
79
import * as openapi3_0AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-0';
810
import * as openapi3_0AdapterYaml from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0';
911
import * as openapi3_1AdapterJson from '@swagger-api/apidom-parser-adapter-openapi-json-3-1';
@@ -19,6 +21,8 @@ import {
1921
const parser = ApiDOMParser()
2022
.use(jsonAdapter)
2123
.use(yamlAdapter)
24+
.use(openapi2AdapterJson)
25+
.use(openapi2AdapterYaml)
2226
.use(openapi3_0AdapterJson)
2327
.use(openapi3_0AdapterYaml)
2428
.use(openapi3_1AdapterJson)

packages/apidom-playground/src/playground/selectors.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ import { createSelector } from 'swagger-adjust';
22
import { isEmptyString, isNonEmptyString, isNull } from 'ramda-adjunct';
33
import { from, traverse, createNamespace, sexprs, toValue } from '@swagger-api/apidom-core';
44
/* eslint-disable camelcase */
5+
import openApi2NsPlugin, {
6+
mediaTypes as openApi2MediaTypes,
7+
} from '@swagger-api/apidom-ns-openapi-2';
58
import openApi3_0NsPlugin, {
69
mediaTypes as openApi3_0MediaTypes,
710
} from '@swagger-api/apidom-ns-openapi-3-0';
@@ -36,6 +39,9 @@ export const selectApiDOMNamespace = createSelector(selectMediaType, (mediaType)
3639
if (isEmptyString(mediaType)) {
3740
return null;
3841
}
42+
if (openApi2MediaTypes.includes(mediaType)) {
43+
return createNamespace(openApi2NsPlugin);
44+
}
3945
if (openApi3_0MediaTypes.includes(mediaType)) {
4046
return createNamespace(openApi3_0NsPlugin);
4147
}
@@ -115,6 +121,7 @@ export const selectMediaTypes = (() => {
115121
const allMediaTypes = [
116122
...jsonMediaTypes,
117123
...yamlMediaTypes,
124+
...openApi2MediaTypes,
118125
...openApi3_0MediaTypes,
119126
...openApi3_1MediaTypes,
120127
...asyncApi2MediaTypes,

0 commit comments

Comments
 (0)