forked from asyncapi/modelina
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.ts
38 lines (36 loc) · 931 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import {TS_DESCRIPTION_PRESET, TypeScriptGenerator} from '../../src';
const generator = new TypeScriptGenerator({
modelType: 'interface',
presets: [
TS_DESCRIPTION_PRESET,
]
});
const jsonSchemaDraft7 = {
$schema: 'http://json-schema.org/draft-07/schema#',
$id: 'Test',
type: 'object',
additionalProperties: true,
required: ['string prop'],
description: 'Main Description',
properties: {
'string prop': { type: 'string' },
numberProp: {
type: 'number',
description: 'Description',
examples: 'Example',
},
objectProp: {
type: 'object',
$id: 'NestedTest',
properties: { stringProp: { type: 'string' } },
examples: ['Example 1', 'Example 2'],
},
},
};
export async function generate(): Promise<void> {
const models = await generator.generate(jsonSchemaDraft7);
for (const model of models) {
console.log(model.result);
}
}
generate();