electrode-native
electrode-native copied to clipboard
ern regen-api does not support events and requests simultaneously
problem
i am using an api with paths.events/
. when adding requests to paths
and/or paths.requests/
, the generated requests classes are missing their expected methods.
ern version: 0.38.10
stack:
✖ An error occurred: Cannot use 'in' operator to search for '$ref' in
TypeError: Cannot use 'in' operator to search for '$ref' in
at asParameter (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/src/java/Swagger.ts:34:29)
at Array.map (<anonymous>)
at Operation.getParameters (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/src/java/Swagger.ts:50:52)
at InlineModelResolver.flatten (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/src/InlineModelResolver.ts:39:40)
at DefaultGenerator.generate (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/src/DefaultGenerator.ts:283:25)
at Object.<anonymous> (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/src/generateProject.ts:42:39)
at Generator.next (<anonymous>)
at fulfilled (/Users/c0d01a5/.ern/versions/0.38.10/node_modules/ern-api-gen/dist/generateProject.js:5:58)
model:
{
"swagger": "2.0",
"info": {
"description": "SomePkg SomeDataModel Module",
"title": "SomePkgSomeDataModel",
"contact": {
"name": "some team"
}
},
"paths": {
"/getSomeDataModelValues": {
"get": {
"tags": [
"SomePkgSomeDataModel"
],
"description": "Gets SomeDataModel values on demand",
"operationId": "getSomeDataModelValues",
"parameters": [
],
"responses": {
"200": {
"description": "SomeDataModel Values",
"schema": {
"type": "string"
}
}
}
}
},
"/events": {
"event": {
"tags": [
"SomePkgSomeDataModel"
],
"operationId": "SomeDataModelConfigUpdated",
"parameters": [
{
"name": "newConfig",
"in": "path",
"description": "Notifies all registered listeners when a new SomeDataModel configuraiton is updated",
"required": true,
"type": "string"
}
]
}
}
},
"definitions": {}
}
discussion
removing events produces expected Request/Response classes