swagger-client 3.27.8 → 3.28.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/swagger-client.browser.js +2183 -2304
- package/dist/swagger-client.browser.min.js +1 -1
- package/dist/swagger-client.browser.min.js.map +1 -1
- package/es/index.js +2 -2
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +107 -109
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +66 -69
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +582 -582
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +31 -34
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +25 -28
- package/es/resolver/apidom/reference/parse/parsers/json/index.js +43 -42
- package/es/resolver/apidom/reference/parse/parsers/openapi-json-3-1/index.js +46 -45
- package/es/resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js +46 -45
- package/es/resolver/apidom/reference/parse/parsers/yaml-1-2/index.js +44 -43
- package/es/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +62 -60
- package/es/resolver/strategies/openapi-3-1-apidom/resolve.js +18 -18
- package/lib/index.js +1 -1
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js +105 -107
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/all-of.js +66 -69
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/dereference.js +581 -581
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/parameters.js +31 -34
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/visitors/properties.js +25 -28
- package/lib/resolver/apidom/reference/parse/parsers/json/index.js +43 -42
- package/lib/resolver/apidom/reference/parse/parsers/openapi-json-3-1/index.js +46 -45
- package/lib/resolver/apidom/reference/parse/parsers/openapi-yaml-3-1/index.js +46 -45
- package/lib/resolver/apidom/reference/parse/parsers/yaml-1-2/index.js +44 -43
- package/lib/resolver/apidom/reference/resolve/resolvers/http-swagger-client/index.js +61 -59
- package/lib/resolver/strategies/openapi-3-1-apidom/resolve.js +11 -11
- package/package.json +23 -22
- package/es/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/utils/compose.js +0 -5
- package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/utils/compose.js +0 -11
|
@@ -4,16 +4,16 @@ import { compile as jsonPointerCompile, evaluate as jsonPointerEvaluate, Evaluat
|
|
|
4
4
|
import { mediaTypes, OpenApi3_1Element } from '@swagger-api/apidom-ns-openapi-3-1';
|
|
5
5
|
import { dereferenceApiDOM, url, ReferenceSet, Reference, options as referenceOptions } from '@swagger-api/apidom-reference/configuration/empty';
|
|
6
6
|
import BinaryParser from '@swagger-api/apidom-reference/parse/parsers/binary';
|
|
7
|
-
import
|
|
7
|
+
import OpenAPI3_1ResolveStrategy from '@swagger-api/apidom-reference/resolve/strategies/openapi-3-1';
|
|
8
8
|
import { DEFAULT_BASE_URL } from '../../../constants.js';
|
|
9
9
|
import * as optionsUtil from '../../utils/options.js';
|
|
10
10
|
import normalize from './normalize.js';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
11
|
+
import HTTPResolverSwaggerClient from '../../apidom/reference/resolve/resolvers/http-swagger-client/index.js';
|
|
12
|
+
import JSONParser from '../../apidom/reference/parse/parsers/json/index.js';
|
|
13
|
+
import YAMLParser from '../../apidom/reference/parse/parsers/yaml-1-2/index.js';
|
|
14
|
+
import OpenAPIJSON3_1Parser from '../../apidom/reference/parse/parsers/openapi-json-3-1/index.js';
|
|
15
|
+
import OpenAPIYAML3_1Parser from '../../apidom/reference/parse/parsers/openapi-yaml-3-1/index.js';
|
|
16
|
+
import OpenAPI3_1SwaggerClientDereferenceStrategy from '../../apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js';
|
|
17
17
|
export const circularReplacer = refElement => {
|
|
18
18
|
const $refBaseURI = toValue(refElement.meta.get('baseURI'));
|
|
19
19
|
const referencingElement = refElement.meta.get('referencingElement');
|
|
@@ -68,14 +68,14 @@ const resolveOpenAPI31Strategy = async options => {
|
|
|
68
68
|
const fragmentElement = jsonPointerEvaluate(jsonPointer, openApiElement);
|
|
69
69
|
|
|
70
70
|
// prepare reference set for dereferencing
|
|
71
|
-
const openApiElementReference = Reference({
|
|
71
|
+
const openApiElementReference = new Reference({
|
|
72
72
|
uri: baseURI,
|
|
73
73
|
value: openApiParseResultElement
|
|
74
74
|
});
|
|
75
|
-
const refSet = ReferenceSet({
|
|
75
|
+
const refSet = new ReferenceSet({
|
|
76
76
|
refs: [openApiElementReference]
|
|
77
77
|
});
|
|
78
|
-
if (jsonPointer !== '') refSet.rootRef =
|
|
78
|
+
if (jsonPointer !== '') refSet.rootRef = undefined; // reset root reference as we want fragment to become the root reference
|
|
79
79
|
|
|
80
80
|
// prepare ancestors; needed for cases where fragment is not OpenAPI element
|
|
81
81
|
const ancestors = [new Set([fragmentElement])];
|
|
@@ -89,7 +89,7 @@ const resolveOpenAPI31Strategy = async options => {
|
|
|
89
89
|
* then below baseURI check will make sure that constant HTTPS URL is used as baseURI.
|
|
90
90
|
*/
|
|
91
91
|
baseURI: `${baseURI}${jsonPointerURI}`,
|
|
92
|
-
resolvers: [
|
|
92
|
+
resolvers: [new HTTPResolverSwaggerClient({
|
|
93
93
|
timeout: timeout || 10000,
|
|
94
94
|
redirects: redirects || 10
|
|
95
95
|
})],
|
|
@@ -99,30 +99,30 @@ const resolveOpenAPI31Strategy = async options => {
|
|
|
99
99
|
responseInterceptor
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
|
-
strategies: [
|
|
102
|
+
strategies: [new OpenAPI3_1ResolveStrategy()]
|
|
103
103
|
},
|
|
104
104
|
parse: {
|
|
105
105
|
mediaType: mediaTypes.latest(),
|
|
106
|
-
parsers: [
|
|
106
|
+
parsers: [new OpenAPIJSON3_1Parser({
|
|
107
107
|
allowEmpty: false,
|
|
108
108
|
sourceMap: false
|
|
109
|
-
}),
|
|
109
|
+
}), new OpenAPIYAML3_1Parser({
|
|
110
110
|
allowEmpty: false,
|
|
111
111
|
sourceMap: false
|
|
112
|
-
}),
|
|
112
|
+
}), new JSONParser({
|
|
113
113
|
allowEmpty: false,
|
|
114
114
|
sourceMap: false
|
|
115
|
-
}),
|
|
115
|
+
}), new YAMLParser({
|
|
116
116
|
allowEmpty: false,
|
|
117
117
|
sourceMap: false
|
|
118
|
-
}), BinaryParser({
|
|
118
|
+
}), new BinaryParser({
|
|
119
119
|
allowEmpty: false,
|
|
120
120
|
sourceMap: false
|
|
121
121
|
})]
|
|
122
122
|
},
|
|
123
123
|
dereference: {
|
|
124
124
|
maxDepth: 100,
|
|
125
|
-
strategies: [
|
|
125
|
+
strategies: [new OpenAPI3_1SwaggerClientDereferenceStrategy({
|
|
126
126
|
allowMetaPatches,
|
|
127
127
|
useCircularStructures,
|
|
128
128
|
parameterMacro,
|
package/lib/index.js
CHANGED
package/lib/resolver/apidom/reference/dereference/strategies/openapi-3-1-swagger-client/index.js
CHANGED
|
@@ -16,129 +16,127 @@ var _allOf = _interopRequireDefault(require("./visitors/all-of.js"));
|
|
|
16
16
|
|
|
17
17
|
const visitAsync = _apidomCore.visit[Symbol.for('nodejs.util.promisify.custom')];
|
|
18
18
|
const mergeAllVisitorsAsync = _apidomCore.mergeAllVisitors[Symbol.for('nodejs.util.promisify.custom')];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
ancestors = []
|
|
19
|
+
class OpenAPI3_1SwaggerClientDereferenceStrategy extends _openapi.default {
|
|
20
|
+
allowMetaPatches;
|
|
21
|
+
parameterMacro;
|
|
22
|
+
modelPropertyMacro;
|
|
23
|
+
mode;
|
|
24
|
+
ancestors;
|
|
25
|
+
constructor({
|
|
26
|
+
allowMetaPatches = false,
|
|
27
|
+
parameterMacro = null,
|
|
28
|
+
modelPropertyMacro = null,
|
|
29
|
+
mode = 'non-strict',
|
|
30
|
+
ancestors = [],
|
|
31
|
+
...rest
|
|
33
32
|
} = {}) {
|
|
33
|
+
super({
|
|
34
|
+
...rest
|
|
35
|
+
});
|
|
34
36
|
this.name = 'openapi-3-1-swagger-client';
|
|
35
37
|
this.allowMetaPatches = allowMetaPatches;
|
|
36
38
|
this.parameterMacro = parameterMacro;
|
|
37
39
|
this.modelPropertyMacro = modelPropertyMacro;
|
|
38
40
|
this.mode = mode;
|
|
39
41
|
this.ancestors = [...ancestors];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
value: file.parseResult
|
|
54
|
-
});
|
|
55
|
-
immutableRefSet.add(reference);
|
|
56
|
-
} else {
|
|
57
|
-
// pre-computed refSet was provided as configuration option
|
|
58
|
-
reference = immutableRefSet.find(ref => ref.uri === file.uri);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Clone refSet due the dereferencing process being mutable.
|
|
63
|
-
* We don't want to mutate the original refSet and the references.
|
|
64
|
-
*/
|
|
65
|
-
if (options.dereference.immutable) {
|
|
66
|
-
immutableRefSet.refs.map(ref => (0, _empty.Reference)({
|
|
67
|
-
...ref,
|
|
68
|
-
value: (0, _apidomCore.cloneDeep)(ref.value)
|
|
69
|
-
})).forEach(ref => mutableRefsSet.add(ref));
|
|
70
|
-
reference = mutableRefsSet.find(ref => ref.uri === file.uri);
|
|
71
|
-
refSet = mutableRefsSet;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// create main dereference visitor
|
|
75
|
-
const dereferenceVisitor = (0, _dereference.default)({
|
|
76
|
-
reference,
|
|
77
|
-
namespace,
|
|
78
|
-
options,
|
|
79
|
-
allowMetaPatches: this.allowMetaPatches,
|
|
80
|
-
ancestors: this.ancestors
|
|
42
|
+
}
|
|
43
|
+
async dereference(file, options) {
|
|
44
|
+
var _options$dereference$;
|
|
45
|
+
const visitors = [];
|
|
46
|
+
const namespace = (0, _apidomCore.createNamespace)(_apidomNsOpenapi.default);
|
|
47
|
+
const immutableRefSet = (_options$dereference$ = options.dereference.refSet) != null ? _options$dereference$ : new _empty.ReferenceSet();
|
|
48
|
+
const mutableRefsSet = new _empty.ReferenceSet();
|
|
49
|
+
let refSet = immutableRefSet;
|
|
50
|
+
let reference;
|
|
51
|
+
if (!immutableRefSet.has(file.uri)) {
|
|
52
|
+
reference = new _empty.Reference({
|
|
53
|
+
uri: file.uri,
|
|
54
|
+
value: file.parseResult
|
|
81
55
|
});
|
|
82
|
-
|
|
56
|
+
immutableRefSet.add(reference);
|
|
57
|
+
} else {
|
|
58
|
+
// pre-computed refSet was provided as configuration option
|
|
59
|
+
reference = immutableRefSet.find(ref => ref.uri === file.uri);
|
|
60
|
+
}
|
|
83
61
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Clone refSet due the dereferencing process being mutable.
|
|
64
|
+
* We don't want to mutate the original refSet and the references.
|
|
65
|
+
*/
|
|
66
|
+
if (options.dereference.immutable) {
|
|
67
|
+
immutableRefSet.refs.map(ref => new _empty.Reference({
|
|
68
|
+
...ref,
|
|
69
|
+
value: (0, _apidomCore.cloneDeep)(ref.value)
|
|
70
|
+
})).forEach(ref => mutableRefsSet.add(ref));
|
|
71
|
+
reference = mutableRefsSet.find(ref => ref.uri === file.uri);
|
|
72
|
+
refSet = mutableRefsSet;
|
|
73
|
+
}
|
|
92
74
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
75
|
+
// create main dereference visitor
|
|
76
|
+
const dereferenceVisitor = new _dereference.default({
|
|
77
|
+
reference,
|
|
78
|
+
namespace,
|
|
79
|
+
options,
|
|
80
|
+
allowMetaPatches: this.allowMetaPatches,
|
|
81
|
+
ancestors: this.ancestors
|
|
82
|
+
});
|
|
83
|
+
visitors.push(dereferenceVisitor);
|
|
101
84
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
85
|
+
// create parameter macro visitor (if necessary)
|
|
86
|
+
if (typeof this.parameterMacro === 'function') {
|
|
87
|
+
const parameterMacroVisitor = new _parameters.default({
|
|
88
|
+
parameterMacro: this.parameterMacro,
|
|
89
|
+
options
|
|
90
|
+
});
|
|
91
|
+
visitors.push(parameterMacroVisitor);
|
|
92
|
+
}
|
|
109
93
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
94
|
+
// create model property macro visitor (if necessary)
|
|
95
|
+
if (typeof this.modelPropertyMacro === 'function') {
|
|
96
|
+
const modelPropertyMacroVisitor = new _properties.default({
|
|
97
|
+
modelPropertyMacro: this.modelPropertyMacro,
|
|
98
|
+
options
|
|
113
99
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
100
|
+
visitors.push(modelPropertyMacroVisitor);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// create allOf visitor (if necessary)
|
|
104
|
+
if (this.mode !== 'strict') {
|
|
105
|
+
const allOfVisitor = new _allOf.default({
|
|
106
|
+
options
|
|
117
107
|
});
|
|
108
|
+
visitors.push(allOfVisitor);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// establish root visitor by visitor merging
|
|
112
|
+
const rootVisitor = mergeAllVisitorsAsync(visitors, {
|
|
113
|
+
nodeTypeGetter: _apidomNsOpenapi.getNodeType
|
|
114
|
+
});
|
|
115
|
+
const dereferencedElement = await visitAsync(refSet.rootRef.value, rootVisitor, {
|
|
116
|
+
keyMap: _apidomNsOpenapi.keyMap,
|
|
117
|
+
nodeTypeGetter: _apidomNsOpenapi.getNodeType
|
|
118
|
+
});
|
|
118
119
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
refSet = immutableRefSet;
|
|
129
|
-
}
|
|
120
|
+
/**
|
|
121
|
+
* If immutable option is set, replay refs from the refSet.
|
|
122
|
+
*/
|
|
123
|
+
if (options.dereference.immutable) {
|
|
124
|
+
mutableRefsSet.refs.filter(ref => ref.uri.startsWith('immutable://')).map(ref => new _empty.Reference({
|
|
125
|
+
...ref,
|
|
126
|
+
uri: ref.uri.replace(/^immutable:\/\//, '')
|
|
127
|
+
})).forEach(ref => immutableRefSet.add(ref));
|
|
128
|
+
}
|
|
130
129
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
mutableRefsSet.clean();
|
|
139
|
-
return dereferencedElement;
|
|
130
|
+
/**
|
|
131
|
+
* Release all memory if this refSet was not provided as an configuration option.
|
|
132
|
+
* If provided as configuration option, then provider is responsible for cleanup.
|
|
133
|
+
*/
|
|
134
|
+
if (options.dereference.refSet === null) {
|
|
135
|
+
immutableRefSet.clean();
|
|
140
136
|
}
|
|
137
|
+
mutableRefsSet.clean();
|
|
138
|
+
return dereferencedElement;
|
|
141
139
|
}
|
|
142
|
-
}
|
|
143
|
-
var _default = exports.default =
|
|
140
|
+
}
|
|
141
|
+
var _default = exports.default = OpenAPI3_1SwaggerClientDereferenceStrategy;
|
|
144
142
|
/* eslint-enable camelcase */
|
|
@@ -5,86 +5,83 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _apidomCore = require("@swagger-api/apidom-core");
|
|
7
7
|
var _apidomNsOpenapi = require("@swagger-api/apidom-ns-openapi-3-1");
|
|
8
|
-
var _compose = _interopRequireDefault(require("../utils/compose.js"));
|
|
9
8
|
var _toPath = _interopRequireDefault(require("../utils/to-path.js"));
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
props: {
|
|
17
|
-
options: null,
|
|
18
|
-
SchemaElement: {
|
|
19
|
-
leave(schemaElement, key, parent, path, ancestors) {
|
|
20
|
-
// do nothing
|
|
21
|
-
if (typeof schemaElement.allOf === 'undefined') return undefined;
|
|
9
|
+
class AllOfVisitor {
|
|
10
|
+
options;
|
|
11
|
+
SchemaElement = {
|
|
12
|
+
leave(schemaElement, key, parent, path, ancestors) {
|
|
13
|
+
// do nothing
|
|
14
|
+
if (typeof schemaElement.allOf === 'undefined') return undefined;
|
|
22
15
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
16
|
+
// collect error and return if allOf keyword is not an array
|
|
17
|
+
if (!(0, _apidomCore.isArrayElement)(schemaElement.allOf)) {
|
|
18
|
+
var _this$options$derefer;
|
|
19
|
+
const error = new TypeError('allOf must be an array');
|
|
20
|
+
error.fullPath = [...(0, _toPath.default)([...ancestors, parent, schemaElement]), 'allOf'];
|
|
21
|
+
(_this$options$derefer = this.options.dereference.dereferenceOpts) == null || (_this$options$derefer = _this$options$derefer.errors) == null || _this$options$derefer.push == null || _this$options$derefer.push(error);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
31
24
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
// remove allOf keyword if empty
|
|
26
|
+
if (schemaElement.allOf.isEmpty) {
|
|
27
|
+
schemaElement.remove('allOf');
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
37
30
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
31
|
+
// collect errors if allOf keyword contains anything else than Schema Object
|
|
32
|
+
const includesSchemaElementOnly = schemaElement.allOf.content.every(_apidomNsOpenapi.isSchemaElement);
|
|
33
|
+
if (!includesSchemaElementOnly) {
|
|
34
|
+
var _this$options$derefer2;
|
|
35
|
+
const error = new TypeError('Elements in allOf must be objects');
|
|
36
|
+
error.fullPath = [...(0, _toPath.default)([...ancestors, parent, schemaElement]), 'allOf'];
|
|
37
|
+
(_this$options$derefer2 = this.options.dereference.dereferenceOpts) == null || (_this$options$derefer2 = _this$options$derefer2.errors) == null || _this$options$derefer2.push == null || _this$options$derefer2.push(error);
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
while (schemaElement.hasKey('allOf')) {
|
|
41
|
+
const {
|
|
42
|
+
allOf
|
|
43
|
+
} = schemaElement;
|
|
44
|
+
schemaElement.remove('allOf');
|
|
45
|
+
const allOfMerged = _apidomCore.deepmerge.all([...allOf.content, schemaElement]);
|
|
53
46
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
47
|
+
/**
|
|
48
|
+
* If there was not an original $$ref value, make sure to remove
|
|
49
|
+
* any $$ref value that may exist from the result of `allOf` merges.
|
|
50
|
+
*/
|
|
51
|
+
if (!schemaElement.hasKey('$$ref')) {
|
|
52
|
+
allOfMerged.remove('$$ref');
|
|
53
|
+
}
|
|
61
54
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
55
|
+
/**
|
|
56
|
+
* If there was an example keyword in the original schema,
|
|
57
|
+
* keep it instead of merging with example from other schema.
|
|
58
|
+
*/
|
|
59
|
+
if (schemaElement.hasKey('example')) {
|
|
60
|
+
const member = allOfMerged.getMember('example');
|
|
61
|
+
if (member) {
|
|
62
|
+
member.value = schemaElement.get('example');
|
|
71
63
|
}
|
|
64
|
+
}
|
|
72
65
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
66
|
+
/**
|
|
67
|
+
* If there was an examples keyword in the original schema,
|
|
68
|
+
* keep it instead of merging with examples from other schema.
|
|
69
|
+
*/
|
|
70
|
+
if (schemaElement.hasKey('examples')) {
|
|
71
|
+
const member = allOfMerged.getMember('examples');
|
|
72
|
+
if (member) {
|
|
73
|
+
member.value = schemaElement.get('examples');
|
|
82
74
|
}
|
|
83
|
-
schemaElement.content = allOfMerged.content;
|
|
84
75
|
}
|
|
85
|
-
|
|
76
|
+
schemaElement.content = allOfMerged.content;
|
|
86
77
|
}
|
|
78
|
+
return undefined;
|
|
87
79
|
}
|
|
80
|
+
};
|
|
81
|
+
constructor({
|
|
82
|
+
options
|
|
83
|
+
}) {
|
|
84
|
+
this.options = options;
|
|
88
85
|
}
|
|
89
|
-
}
|
|
86
|
+
}
|
|
90
87
|
var _default = exports.default = AllOfVisitor;
|