Skip to content

Commit 527b32a

Browse files
Merge branch 'asyncapi:master' into patch-1
2 parents 1b6cbf1 + 039dab0 commit 527b32a

File tree

19 files changed

+114
-24
lines changed

19 files changed

+114
-24
lines changed

modelina-cli/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ $ npm install -g @asyncapi/modelina-cli
162162
$ modelina COMMAND
163163
running command...
164164
$ modelina (--version)
165-
@asyncapi/modelina-cli/4.0.2 linux-x64 node-v18.20.6
165+
@asyncapi/modelina-cli/4.0.3 linux-x64 node-v18.20.6
166166
$ modelina --help [COMMAND]
167167
USAGE
168168
$ modelina COMMAND
@@ -240,7 +240,7 @@ DESCRIPTION
240240
CLI config settings
241241
```
242242

243-
_See code: [src/commands/config/index.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/index.ts)_
243+
_See code: [src/commands/config/index.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/index.ts)_
244244

245245
## `modelina config context`
246246

@@ -254,7 +254,7 @@ DESCRIPTION
254254
Manage short aliases for full paths to inputs
255255
```
256256

257-
_See code: [src/commands/config/context/index.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/index.ts)_
257+
_See code: [src/commands/config/context/index.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/index.ts)_
258258

259259
## `modelina config context add CONTEXT-NAME SPEC-FILE-PATH`
260260

@@ -276,7 +276,7 @@ DESCRIPTION
276276
Add a context to the store
277277
```
278278

279-
_See code: [src/commands/config/context/add.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/add.ts)_
279+
_See code: [src/commands/config/context/add.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/add.ts)_
280280

281281
## `modelina config context current`
282282

@@ -293,7 +293,7 @@ DESCRIPTION
293293
Shows the current context that is being used
294294
```
295295

296-
_See code: [src/commands/config/context/current.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/current.ts)_
296+
_See code: [src/commands/config/context/current.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/current.ts)_
297297

298298
## `modelina config context edit CONTEXT-NAME NEW-SPEC-FILE-PATH`
299299

@@ -314,7 +314,7 @@ DESCRIPTION
314314
Edit a context in the store
315315
```
316316

317-
_See code: [src/commands/config/context/edit.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/edit.ts)_
317+
_See code: [src/commands/config/context/edit.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/edit.ts)_
318318

319319
## `modelina config context init [CONTEXT-FILE-PATH]`
320320

@@ -337,7 +337,7 @@ DESCRIPTION
337337
Initialize context
338338
```
339339

340-
_See code: [src/commands/config/context/init.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/init.ts)_
340+
_See code: [src/commands/config/context/init.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/init.ts)_
341341

342342
## `modelina config context list`
343343

@@ -354,7 +354,7 @@ DESCRIPTION
354354
List all the stored contexts in the store
355355
```
356356

357-
_See code: [src/commands/config/context/list.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/list.ts)_
357+
_See code: [src/commands/config/context/list.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/list.ts)_
358358

359359
## `modelina config context remove CONTEXT-NAME`
360360

@@ -374,7 +374,7 @@ DESCRIPTION
374374
Delete a context from the store
375375
```
376376

377-
_See code: [src/commands/config/context/remove.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/remove.ts)_
377+
_See code: [src/commands/config/context/remove.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/remove.ts)_
378378

379379
## `modelina config context use CONTEXT-NAME`
380380

@@ -394,7 +394,7 @@ DESCRIPTION
394394
Set a context as current
395395
```
396396

397-
_See code: [src/commands/config/context/use.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/config/context/use.ts)_
397+
_See code: [src/commands/config/context/use.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/config/context/use.ts)_
398398

399399
## `modelina generate LANGUAGE FILE`
400400

@@ -458,7 +458,7 @@ DESCRIPTION
458458
Generates typed models
459459
```
460460

461-
_See code: [src/commands/generate.ts](https://github.com/asyncapi/modelina/blob/v4.0.2/modelina-cli/src/commands/generate.ts)_
461+
_See code: [src/commands/generate.ts](https://github.com/asyncapi/modelina/blob/v4.0.3/modelina-cli/src/commands/generate.ts)_
462462

463463
## `modelina help [COMMAND]`
464464

modelina-cli/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modelina-cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@asyncapi/modelina-cli",
33
"description": "CLI to work with Modelina",
4-
"version": "4.0.3",
4+
"version": "4.0.4",
55
"bin": {
66
"modelina": "./bin/run_bin"
77
},

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@asyncapi/modelina",
3-
"version": "4.0.3",
3+
"version": "4.0.4",
44
"description": "Library for generating data models based on inputs such as AsyncAPI, OpenAPI, or JSON Schema documents",
55
"license": "Apache-2.0",
66
"homepage": "https://www.modelina.org",

src/helpers/CommonModelToMetaModel.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,19 @@ export function convertToAnyModel(
359359
if (!Array.isArray(jsonSchemaModel.type) || !isAnyType) {
360360
return undefined;
361361
}
362+
let originalInput = jsonSchemaModel.originalInput;
363+
if (typeof jsonSchemaModel.originalInput !== 'object') {
364+
originalInput = {
365+
value: jsonSchemaModel.originalInput,
366+
...(jsonSchemaModel.originalInput?.description !== undefined && {
367+
description: jsonSchemaModel.originalInput.description
368+
})
369+
};
370+
}
371+
362372
return new AnyModel(
363373
name,
364-
jsonSchemaModel.originalInput,
374+
originalInput,
365375
getMetaModelOptions(jsonSchemaModel, options)
366376
);
367377
}
@@ -519,9 +529,17 @@ export function convertToDictionaryModel(
519529
getOriginalInputFromAdditionalAndPatterns(jsonSchemaModel);
520530
const keyModel = new StringModel(name, originalInput, {});
521531
const valueModel = convertAdditionalAndPatterns(context);
532+
533+
const input = {
534+
originalInput,
535+
...(jsonSchemaModel.originalInput?.description !== undefined && {
536+
description: jsonSchemaModel.originalInput.description
537+
})
538+
};
539+
522540
return new DictionaryModel(
523541
name,
524-
originalInput,
542+
input,
525543
getMetaModelOptions(jsonSchemaModel, options),
526544
keyModel,
527545
valueModel,

test/generators/go/presets/DescriptionPreset.spec.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ const doc = {
1717
additionalProperties: false,
1818
$id: 'NestedTest',
1919
properties: { stringProp: { type: 'string', description: 'string prop' } }
20+
},
21+
anyProp: {
22+
type: 'object',
23+
$id: 'AnyTest',
24+
properties: {},
25+
description: 'AnyTest description'
2026
}
2127
}
2228
};

test/generators/go/presets/__snapshots__/DescriptionPreset.spec.ts.snap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ type Test struct {
77
// Description
88
NumberProp float64
99
ObjectProp *NestedTest
10+
// AnyTest description
11+
AnyProp map[string]interface{}
1012
}"
1113
`;
1214

test/generators/java/presets/DescriptionPreset.spec.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ describe('JAVA_DESCRIPTION_PRESET', () => {
2020
type: 'string',
2121
description: 'Description for prop',
2222
examples: ['exampleValue']
23+
},
24+
anyProp: {
25+
type: 'object',
26+
$id: 'AnyTest',
27+
properties: {},
28+
description: 'AnyTest description'
2329
}
2430
}
2531
};

test/generators/java/presets/__snapshots__/DescriptionPreset.spec.ts.snap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ exports[`JAVA_DESCRIPTION_PRESET should render description and examples for clas
6666
*/
6767
public class Clazz {
6868
private String prop;
69+
private Map<String, Object> anyProp;
6970
private Map<String, Object> additionalProperties;
7071
7172
/**
@@ -75,6 +76,12 @@ public class Clazz {
7576
public String getProp() { return this.prop; }
7677
public void setProp(String prop) { this.prop = prop; }
7778
79+
/**
80+
* AnyTest description
81+
*/
82+
public Map<String, Object> getAnyProp() { return this.anyProp; }
83+
public void setAnyProp(Map<String, Object> anyProp) { this.anyProp = anyProp; }
84+
7885
public Map<String, Object> getAdditionalProperties() { return this.additionalProperties; }
7986
public void setAdditionalProperties(Map<String, Object> additionalProperties) { this.additionalProperties = additionalProperties; }
8087
}"

0 commit comments

Comments
 (0)