forked from jon49/json-schema-to-mongoose
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
80 lines (80 loc) · 1.74 KB
/
Copy pathapp.js
File metadata and controls
80 lines (80 loc) · 1.74 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
var createMongooseSchema = require('./lib/json-schema');
var util = require('util');
//var refs =
//{
// yep:
// {
// type: 'string',
// pattern: '^\\d{3}$'
// },
// idSpec: {
// type: 'object',
// properties:
// {
// id:
// {
// $ref: 'yep'
// }
// }
// }
//}
//var valid =
//{
// type: 'object',
// properties:
// {
// id:
// {
// $ref: 'yep'
// },
// address:
// {
// type: 'object',
// properties:
// {
// street: {type: 'string', default: '44', pattern: '^\\d{2}$'},
// houseColor: {type: 'string', default: '[Function=Date.now]', format: 'date-time'}
// }
// }
// }
//}
var refs = {
yep: {
type: 'string',
pattern: '^\\d{3}$'
},
a: {
type: 'array',
items: {
type: 'object',
properties: {
num: { type: 'number' },
str: { type: 'string' }
}
}
},
idSpec: {
type: 'object',
properties: {
id: { $ref: 'yep' },
arr: { $ref: 'a' }
}
}
};
var valid = {
type: 'object',
properties: {
id: { $ref: 'yep' },
arr: { $ref: 'a' },
address: {
type: 'object',
properties: {
street: { type: 'integer', default: 44, minimum: 0, maximum: 50 },
houseColor: { type: 'string', default: '[Function=Date.now]', format: 'date-time' }
}
}
}
};
var result = createMongooseSchema(refs, valid);
console.log(util.inspect(result, false, null));
//# sourceMappingURL=app.js.map