1
1
import {
2
2
AnyJsonSchema ,
3
3
ArrayJsonSchema ,
4
- BooleanJsonSchema , IntegerJsonSchema , JsonSchema ,
4
+ BooleanJsonSchema ,
5
+ IntegerJsonSchema , isAnyJsonSchema , isArrayJsonSchema ,
6
+ isBooleanJsonSchema , isIntegerJsonSchema ,
7
+ isNullJsonSchema ,
8
+ isNumberJsonSchema , isObjectJsonSchema ,
9
+ isStringJsonSchema ,
10
+ JsonSchema ,
5
11
NullJsonSchema ,
6
- NumberJsonSchema , ObjectJsonSchema ,
12
+ NumberJsonSchema ,
13
+ ObjectJsonSchema ,
7
14
StringJsonSchema ,
8
15
} from '@fosfad/json-schema-typescript-definitions' ;
9
16
import { Discriminator } from './discriminator' ;
@@ -23,34 +30,54 @@ export interface NullOasSchema extends NullJsonSchema, OasSchema {
23
30
oneOf ?: Array < NullOasSchema | Reference > ;
24
31
}
25
32
33
+ export function isNullOasSchema ( schema : any ) : schema is NullOasSchema {
34
+ return isNullJsonSchema ( schema ) ;
35
+ }
36
+
26
37
export interface BooleanOasSchema extends BooleanJsonSchema , OasSchema {
27
38
allOf ?: Array < BooleanOasSchema | Reference > ;
28
39
anyOf ?: Array < BooleanOasSchema | Reference > ;
29
40
not ?: BooleanOasSchema | Reference ;
30
41
oneOf ?: Array < BooleanOasSchema | Reference > ;
31
42
}
32
43
44
+ export function isBooleanOasSchema ( schema : any ) : schema is BooleanOasSchema {
45
+ return isBooleanJsonSchema ( schema ) ;
46
+ }
47
+
33
48
export interface StringOasSchema extends StringJsonSchema , OasSchema {
34
49
allOf ?: Array < StringOasSchema | Reference > ;
35
50
anyOf ?: Array < StringOasSchema | Reference > ;
36
51
not ?: StringOasSchema | Reference ;
37
52
oneOf ?: Array < StringOasSchema | Reference > ;
38
53
}
39
54
55
+ export function isStringOasSchema ( schema : any ) : schema is StringOasSchema {
56
+ return isStringJsonSchema ( schema ) ;
57
+ }
58
+
40
59
export interface NumberOasSchema extends NumberJsonSchema , OasSchema {
41
60
allOf ?: Array < NumberOasSchema | Reference > ;
42
61
anyOf ?: Array < NumberOasSchema | Reference > ;
43
62
not ?: NumberOasSchema | Reference ;
44
63
oneOf ?: Array < NumberOasSchema | Reference > ;
45
64
}
46
65
66
+ export function isNumberOasSchema ( schema : any ) : schema is NumberOasSchema {
67
+ return isNumberJsonSchema ( schema ) ;
68
+ }
69
+
47
70
export interface IntegerOasSchema extends IntegerJsonSchema , OasSchema {
48
71
allOf ?: Array < IntegerOasSchema | Reference > ;
49
72
anyOf ?: Array < IntegerOasSchema | Reference > ;
50
73
not ?: IntegerOasSchema | Reference ;
51
74
oneOf ?: Array < IntegerOasSchema | Reference > ;
52
75
}
53
76
77
+ export function isIntegerOasSchema ( schema : any ) : schema is IntegerOasSchema {
78
+ return isIntegerJsonSchema ( schema ) ;
79
+ }
80
+
54
81
export interface ArrayOasSchema extends ArrayJsonSchema , OasSchema {
55
82
allOf ?: Array < ArrayOasSchema | Reference > ;
56
83
anyOf ?: Array < ArrayOasSchema | Reference > ;
@@ -61,6 +88,10 @@ export interface ArrayOasSchema extends ArrayJsonSchema, OasSchema {
61
88
prefixItems ?: Array < OasSchema | Reference > ;
62
89
}
63
90
91
+ export function isArrayOasSchema ( schema : any ) : schema is ArrayOasSchema {
92
+ return isArrayJsonSchema ( schema ) ;
93
+ }
94
+
64
95
export interface ObjectOasSchema extends ObjectJsonSchema , OasSchema {
65
96
allOf ?: Array < ObjectOasSchema | Reference > ;
66
97
anyOf ?: Array < ObjectOasSchema | Reference > ;
@@ -76,9 +107,17 @@ export interface ObjectOasSchema extends ObjectJsonSchema, OasSchema {
76
107
propertyNames ?: OasSchema | Reference ;
77
108
}
78
109
110
+ export function isObjectOasSchema ( schema : any ) : schema is ObjectOasSchema {
111
+ return isObjectJsonSchema ( schema ) ;
112
+ }
113
+
79
114
export interface AnyOasSchema extends AnyJsonSchema , OasSchema {
80
115
allOf ?: Array < OasSchema | Reference > ;
81
116
anyOf ?: Array < OasSchema | Reference > ;
82
117
not ?: OasSchema | Reference ;
83
118
oneOf ?: Array < OasSchema | Reference > ;
84
119
}
120
+
121
+ export function isAnyOasSchema ( schema : any ) : schema is AnyOasSchema {
122
+ return isAnyJsonSchema ( schema ) ;
123
+ }
0 commit comments