Skip to content

Commit

Permalink
Feat/expose transform methods (#149)
Browse files Browse the repository at this point in the history
* feat: expose transforms methods and jsdocInfo info

* test: updated components, configuration and parameters tests

* test: added missing test to exposed methods
  • Loading branch information
bri06 committed Apr 18, 2021
1 parent 6e39946 commit e0e74cc
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 8 deletions.
9 changes: 7 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,15 @@ const expressJSDocSwagger = app => (userOptions = {}, userSwagger = {}) => {
.then(result => {
swaggerObject = {
...swaggerObject,
...result,
...result.swaggerObject,
};
swaggerObject = merge.recursive(true, swaggerObject, userSwagger);
events.finish(swaggerObject);
events.finish(swaggerObject, {
jsdocInfo: result.jsdocInfo,
getPaths: result.getPaths,
getComponents: result.getComponents,
getTags: result.getTags,
});
})
.catch(events.error);

Expand Down
4 changes: 3 additions & 1 deletion processSwagger.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ const processSwagger = (options, logger = defaultLogger) => {
logger({ entity: 'components', swaggerObject });
swaggerObject = getTags(swaggerObject, data);
logger({ entity: 'tags', swaggerObject });
return swaggerObject;
return {
swaggerObject, jsdocInfo, getPaths, getComponents, getTags,
};
});
};

Expand Down
4 changes: 2 additions & 2 deletions swaggerEvents.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ const processFile = eventEmitter => info => (
eventEmitter.emit(PROCESS_EVENT_NAME, info)
);

const finish = eventEmitter => info => (
eventEmitter.emit(FINISH_EVENT_NAME, info)
const finish = eventEmitter => (info, methods) => (
eventEmitter.emit(FINISH_EVENT_NAME, info, methods)
);

const swaggerEvents = () => {
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/components/components.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,5 +86,5 @@ test('should parse components jsdoc from jsdoc-example', async () => {
},
};
const result = await processSwagger(options);
expect(result).toEqual(expected);
expect(result.swaggerObject).toEqual(expected);
});
9 changes: 8 additions & 1 deletion test/e2e/configuration/configuration.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,12 @@ test('should parse basic info', async () => {
},
};
const result = await processSwagger(options);
expect(result).toEqual(expected);
expect(result.swaggerObject).toEqual(expected);
});
test('should get transforms(jsdocInfo, getPaths, getComponents, getTags) methods', async () => {
const result = await processSwagger(options);
expect(result).toHaveProperty('jsdocInfo');
expect(result).toHaveProperty('getPaths');
expect(result).toHaveProperty('getComponents');
expect(result).toHaveProperty('getTags');
});
2 changes: 1 addition & 1 deletion test/e2e/parameters/parameters.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,5 +119,5 @@ test('should parse parameters from jsdoc-example', async () => {
},
};
const result = await processSwagger(options);
expect(result).toEqual(expected);
expect(result.swaggerObject).toEqual(expected);
});

0 comments on commit e0e74cc

Please sign in to comment.