forked from asyncapi/modelina
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
27 lines (25 loc) · 820 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
import { JavaGenerator, JAVA_CONSTRAINTS_PRESET } from '../../src';
const generator = new JavaGenerator({
presets: [JAVA_CONSTRAINTS_PRESET]
});
const jsonSchemaDraft7 = {
$schema: 'http://json-schema.org/draft-07/schema#',
$id: 'JavaxAnnotation',
type: 'object',
properties: {
min_number_prop: { type: 'number', minimum: 0 },
max_number_prop: { type: 'number', exclusiveMaximum: 100 },
array_prop: { type: 'array', minItems: 2, maxItems: 3 },
string_prop: { type: 'string', pattern: '^I_', minLength: 3 }
},
required: ['min_number_prop', 'max_number_prop']
};
export async function generate(): Promise<void> {
const models = await generator.generate(jsonSchemaDraft7);
for (const model of models) {
console.log(model.result);
}
}
if (require.main === module) {
generate();
}