Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit 99d968d

Browse files
committed
refactor(oas3): make components responsible for updating context
1 parent 61b36fa commit 99d968d

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

packages/fury-adapter-oas3-parser/lib/parser/oas/parseComponentsObject.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,19 @@ function parseComponentsObject(context, element) {
109109
* @param parser {function}
110110
* @param member {Member}
111111
*
112-
* @returns ParseResult
112+
* @returns ParseResult<ObjectElement>
113113
* @private
114114
*/
115115
const parseComponentObjectMember = (parser) => {
116116
const parseMember = parseComponentMember(context, parser);
117117

118-
return pipeParseResult(context.namespace,
118+
return member => pipeParseResult(context.namespace,
119119
validateIsObject,
120-
R.compose(parseObject(context, name, parseMember), getValue));
120+
R.compose(parseObject(context, name, parseMember), getValue),
121+
(object) => {
122+
context.state.components.push(new namespace.elements.Member(member.key, object));
123+
return object;
124+
})(member);
121125
};
122126

123127
const setDataStructureId = (dataStructure, key) => {

packages/fury-adapter-oas3-parser/lib/parser/oas/parseOpenAPIObject.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,6 @@ function parseOASObject(context, object) {
112112
if (components) {
113113
components = parseComponentsObject(context, components);
114114
object.set('components', components);
115-
116-
// eslint-disable-next-line no-param-reassign
117-
context.state.components = components.reject(isAnnotation).get(0);
118115
}
119116

120117
const parseMember = R.cond([

0 commit comments

Comments
 (0)