@@ -5,6 +5,7 @@ import {OpenAPIV3} from "openapi-types";
55import { OperationContext } from "./openapi/OpenAPIVisitor" ;
66import * as lodash from "lodash" ;
77import { DefaultOperationParser } from "./OperationParser" ;
8+ import { DefaultResourceParser } from "../ResourceParser" ;
89
910export class CustomOperationParser extends DefaultOperationParser {
1011 name ( operation : OpenAPIV3 . OperationObject , context : OperationContext ) : string {
@@ -28,6 +29,12 @@ export class CustomOperationParser extends DefaultOperationParser {
2829 }
2930}
3031
32+ export class CustomResourceParser extends DefaultResourceParser {
33+ value ( tag : OpenAPIV3 . TagObject ) : string {
34+ return lodash . startCase ( tag . name . replace ( / [ ^ a - z A - Z 0 - 9 _ - ] / g, '' ) ) ;
35+ }
36+ }
37+
3138test ( 'query param' , ( ) => {
3239 const paths = {
3340 '/api/entities' : {
@@ -51,7 +58,10 @@ test('query param', () => {
5158 } ,
5259 } ;
5360
54- const parser = new N8NPropertiesBuilder ( { paths} , { operation : new CustomOperationParser ( ) } ) ;
61+ const parser = new N8NPropertiesBuilder ( { paths} , {
62+ operation : new CustomOperationParser ( ) ,
63+ resource : new CustomResourceParser ( ) ,
64+ } ) ;
5565 const result = parser . build ( )
5666
5767 expect ( result ) . toEqual ( [
@@ -159,7 +169,8 @@ test('path param', () => {
159169
160170 const parser = new N8NPropertiesBuilder ( { paths} , {
161171 OperationsCollector : BaseOperationsCollector ,
162- operation : new CustomOperationParser ( )
172+ operation : new CustomOperationParser ( ) ,
173+ resource : new CustomResourceParser ( ) ,
163174 } ) ;
164175 const result = parser . build ( )
165176 expect ( result ) . toEqual ( [
@@ -277,7 +288,8 @@ test('request body', () => {
277288
278289 const parser = new N8NPropertiesBuilder ( { paths, components} , {
279290 OperationsCollector : BaseOperationsCollector ,
280- operation : new CustomOperationParser ( )
291+ operation : new CustomOperationParser ( ) ,
292+ resource : new CustomResourceParser ( ) ,
281293 } ) ;
282294 const result = parser . build ( )
283295
@@ -419,7 +431,8 @@ test('enum schema', () => {
419431 // @ts -ignore
420432 const parser = new N8NPropertiesBuilder ( { paths} , {
421433 OperationsCollector : BaseOperationsCollector ,
422- operation : new CustomOperationParser ( )
434+ operation : new CustomOperationParser ( ) ,
435+ resource : new CustomResourceParser ( ) ,
423436 } ) ;
424437 const result = parser . build ( )
425438
@@ -524,7 +537,8 @@ test('body "array" param', () => {
524537
525538 const parser = new N8NPropertiesBuilder ( { paths} , {
526539 OperationsCollector : BaseOperationsCollector ,
527- operation : new CustomOperationParser ( )
540+ operation : new CustomOperationParser ( ) ,
541+ resource : new CustomResourceParser ( ) ,
528542 } ) ;
529543 const result = parser . build ( )
530544
@@ -670,7 +684,8 @@ test('test overrides', () => {
670684
671685 const parser = new N8NPropertiesBuilder ( { paths, components} , {
672686 OperationsCollector : BaseOperationsCollector ,
673- operation : new CustomOperationParser ( )
687+ operation : new CustomOperationParser ( ) ,
688+ resource : new CustomResourceParser ( ) ,
674689 } ) ;
675690 const result = parser . build ( customDefaults )
676691
@@ -809,7 +824,8 @@ test('multiple tags', () => {
809824 } ;
810825
811826 const parser = new N8NPropertiesBuilder ( { paths} , {
812- operation : new CustomOperationParser ( )
827+ operation : new CustomOperationParser ( ) ,
828+ resource : new CustomResourceParser ( ) ,
813829 } )
814830 const result = parser . build ( )
815831
@@ -1004,7 +1020,8 @@ test('no tags - default tag', () => {
10041020 } ;
10051021
10061022 const parser = new N8NPropertiesBuilder ( { paths} , {
1007- operation : new CustomOperationParser ( )
1023+ operation : new CustomOperationParser ( ) ,
1024+ resource : new CustomResourceParser ( ) ,
10081025 } ) ;
10091026 const result = parser . build ( )
10101027
0 commit comments