1
- import { allPass , either , is , startsWith } from 'ramda' ;
2
- import { isNonEmptyString } from 'ramda-adjunct' ;
3
1
import { createPredicate , isBooleanElement , isStringElement } from '@swagger-api/apidom-core' ;
4
2
5
3
import AsyncApi2Element from './elements/AsyncApi2' ;
@@ -25,50 +23,42 @@ import ServerVariableElement from './elements/ServerVariable';
25
23
26
24
export const isAsyncApi2Element = createPredicate (
27
25
( { hasBasicElementProps, isElementType, primitiveEq, hasClass } ) => {
28
- const isElementTypeAsyncApi2 = isElementType ( 'asyncApi2' ) ;
29
- const primitiveEqObject = primitiveEq ( 'object' ) ;
30
- const hasClassApi = hasClass ( 'api' ) ;
31
-
32
- return either (
33
- is ( AsyncApi2Element ) ,
34
- allPass ( [ hasBasicElementProps , isElementTypeAsyncApi2 , primitiveEqObject , hasClassApi ] ) ,
35
- ) ;
26
+ return ( element : any ) =>
27
+ element instanceof AsyncApi2Element ||
28
+ ( hasBasicElementProps ( element ) &&
29
+ isElementType ( 'asyncApi2' , element ) &&
30
+ primitiveEq ( 'object' , element ) &&
31
+ hasClass ( 'api' , element ) ) ;
36
32
} ,
37
33
) ;
38
34
39
35
export const isAsyncApiVersionElement = createPredicate (
40
36
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
41
- const isElementTypeAsyncApiVersion = isElementType ( 'asyncApiVersion' ) ;
42
- const primitiveEqString = primitiveEq ( 'string' ) ;
43
-
44
- return either (
45
- is ( AsyncApiVersionElement ) ,
46
- allPass ( [ hasBasicElementProps , isElementTypeAsyncApiVersion , primitiveEqString ] ) ,
47
- ) ;
37
+ return ( element : any ) =>
38
+ element instanceof AsyncApiVersionElement ||
39
+ ( hasBasicElementProps ( element ) &&
40
+ isElementType ( 'asyncApiVersion' , element ) &&
41
+ primitiveEq ( 'string' , element ) ) ;
48
42
} ,
49
43
) ;
50
44
51
45
export const isChannelBindingsElement = createPredicate (
52
46
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
53
- const isElementTypeChannelBindings = isElementType ( 'channelBindings' ) ;
54
- const primitiveEqString = primitiveEq ( 'object' ) ;
55
-
56
- return either (
57
- is ( ChannelBindingsElement ) ,
58
- allPass ( [ hasBasicElementProps , isElementTypeChannelBindings , primitiveEqString ] ) ,
59
- ) ;
47
+ return ( element : any ) =>
48
+ element instanceof ChannelBindingsElement ||
49
+ ( hasBasicElementProps ( element ) &&
50
+ isElementType ( 'channelBindings' , element ) &&
51
+ primitiveEq ( 'object' , element ) ) ;
60
52
} ,
61
53
) ;
62
54
63
55
export const isChannelItemElement = createPredicate (
64
56
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
65
- const isElementTypeChannelItem = isElementType ( 'channelItem' ) ;
66
- const primitiveEqObject = primitiveEq ( 'object' ) ;
67
-
68
- return either (
69
- is ( ChannelItemElement ) ,
70
- allPass ( [ hasBasicElementProps , isElementTypeChannelItem , primitiveEqObject ] ) ,
71
- ) ;
57
+ return ( element : any ) =>
58
+ element instanceof ChannelItemElement ||
59
+ ( hasBasicElementProps ( element ) &&
60
+ isElementType ( 'channelItem' , element ) &&
61
+ primitiveEq ( 'object' , element ) ) ;
72
62
} ,
73
63
) ;
74
64
@@ -82,126 +72,106 @@ export const isChannelItemElementExternal = (element: any): element is ChannelIt
82
72
83
73
const value = element . $ref . toValue ( ) ;
84
74
85
- return isNonEmptyString ( value ) && ! startsWith ( '#' , value ) ;
75
+ return typeof value === 'string' && value . length > 0 && ! value . startsWith ( '#' ) ;
86
76
} ;
87
77
88
78
export const isChannelsElement = createPredicate (
89
79
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
90
- const isElementTypeChannels = isElementType ( 'channels' ) ;
91
- const primitiveEqObject = primitiveEq ( 'object' ) ;
92
-
93
- return either (
94
- is ( ChannelsElement ) ,
95
- allPass ( [ hasBasicElementProps , isElementTypeChannels , primitiveEqObject ] ) ,
96
- ) ;
80
+ return ( element : any ) =>
81
+ element instanceof ChannelsElement ||
82
+ ( hasBasicElementProps ( element ) &&
83
+ isElementType ( 'channels' , element ) &&
84
+ primitiveEq ( 'object' , element ) ) ;
97
85
} ,
98
86
) ;
99
87
100
88
export const isComponentsElement = createPredicate (
101
89
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
102
- const isElementTypeComponents = isElementType ( 'components' ) ;
103
- const primitiveEqObject = primitiveEq ( 'object' ) ;
104
-
105
- return either (
106
- is ( ComponentsElement ) ,
107
- allPass ( [ hasBasicElementProps , isElementTypeComponents , primitiveEqObject ] ) ,
108
- ) ;
90
+ return ( element : any ) =>
91
+ element instanceof ComponentsElement ||
92
+ ( hasBasicElementProps ( element ) &&
93
+ isElementType ( 'components' , element ) &&
94
+ primitiveEq ( 'object' , element ) ) ;
109
95
} ,
110
96
) ;
111
97
112
98
export const isContactElement = createPredicate (
113
99
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
114
- const isElementTypeContact = isElementType ( 'contact' ) ;
115
- const primitiveEqObject = primitiveEq ( 'object' ) ;
116
-
117
- return either (
118
- is ( ContactElement ) ,
119
- allPass ( [ hasBasicElementProps , isElementTypeContact , primitiveEqObject ] ) ,
120
- ) ;
100
+ return ( element : any ) =>
101
+ element instanceof ContactElement ||
102
+ ( hasBasicElementProps ( element ) &&
103
+ isElementType ( 'contact' , element ) &&
104
+ primitiveEq ( 'object' , element ) ) ;
121
105
} ,
122
106
) ;
123
107
124
108
export const isIdentifierElement = createPredicate (
125
109
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
126
- const isElementTypeIdentifier = isElementType ( 'identifier' ) ;
127
- const primitiveEqString = primitiveEq ( 'string' ) ;
128
-
129
- return either (
130
- is ( IdentifierElement ) ,
131
- allPass ( [ hasBasicElementProps , isElementTypeIdentifier , primitiveEqString ] ) ,
132
- ) ;
110
+ return ( element : any ) =>
111
+ element instanceof IdentifierElement ||
112
+ ( hasBasicElementProps ( element ) &&
113
+ isElementType ( 'identifier' , element ) &&
114
+ primitiveEq ( 'string' , element ) ) ;
133
115
} ,
134
116
) ;
135
117
136
118
export const isInfoElement = createPredicate (
137
119
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
138
- const isElementTypeInfo = isElementType ( 'info' ) ;
139
- const primitiveEqObject = primitiveEq ( 'object' ) ;
140
-
141
- return either (
142
- is ( InfoElement ) ,
143
- allPass ( [ hasBasicElementProps , isElementTypeInfo , primitiveEqObject ] ) ,
144
- ) ;
120
+ return ( element : any ) =>
121
+ element instanceof InfoElement ||
122
+ ( hasBasicElementProps ( element ) &&
123
+ isElementType ( 'info' , element ) &&
124
+ primitiveEq ( 'object' , element ) ) ;
145
125
} ,
146
126
) ;
147
127
148
128
export const isLicenseElement = createPredicate (
149
129
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
150
- const isElementTypeLicense = isElementType ( 'license' ) ;
151
- const primitiveEqObject = primitiveEq ( 'object' ) ;
152
-
153
- return either (
154
- is ( LicenseElement ) ,
155
- allPass ( [ hasBasicElementProps , isElementTypeLicense , primitiveEqObject ] ) ,
156
- ) ;
130
+ return ( element : any ) =>
131
+ element instanceof LicenseElement ||
132
+ ( hasBasicElementProps ( element ) &&
133
+ isElementType ( 'license' , element ) &&
134
+ primitiveEq ( 'object' , element ) ) ;
157
135
} ,
158
136
) ;
159
137
160
138
export const isOperationElement = createPredicate (
161
139
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
162
- const isElementTypeOperation = isElementType ( 'operation' ) ;
163
- const primitiveEqObject = primitiveEq ( 'object' ) ;
164
-
165
- return either (
166
- is ( OperationElement ) ,
167
- allPass ( [ hasBasicElementProps , isElementTypeOperation , primitiveEqObject ] ) ,
168
- ) ;
140
+ return ( element : any ) =>
141
+ element instanceof OperationElement ||
142
+ ( hasBasicElementProps ( element ) &&
143
+ isElementType ( 'operation' , element ) &&
144
+ primitiveEq ( 'object' , element ) ) ;
169
145
} ,
170
146
) ;
171
147
172
148
export const isParameterElement = createPredicate (
173
149
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
174
- const isElementTypeParameter = isElementType ( 'parameter' ) ;
175
- const primitiveEqObject = primitiveEq ( 'object' ) ;
176
-
177
- return either (
178
- is ( ParameterElement ) ,
179
- allPass ( [ hasBasicElementProps , isElementTypeParameter , primitiveEqObject ] ) ,
180
- ) ;
150
+ return ( element : any ) =>
151
+ element instanceof ParameterElement ||
152
+ ( hasBasicElementProps ( element ) &&
153
+ isElementType ( 'parameter' , element ) &&
154
+ primitiveEq ( 'object' , element ) ) ;
181
155
} ,
182
156
) ;
183
157
184
158
export const isParametersElement = createPredicate (
185
159
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
186
- const isElementTypeParameters = isElementType ( 'parameters' ) ;
187
- const primitiveEqObject = primitiveEq ( 'object' ) ;
188
-
189
- return either (
190
- is ( ParametersElement ) ,
191
- allPass ( [ hasBasicElementProps , isElementTypeParameters , primitiveEqObject ] ) ,
192
- ) ;
160
+ return ( element : any ) =>
161
+ element instanceof ParametersElement ||
162
+ ( hasBasicElementProps ( element ) &&
163
+ isElementType ( 'parameters' , element ) &&
164
+ primitiveEq ( 'object' , element ) ) ;
193
165
} ,
194
166
) ;
195
167
196
168
export const isReferenceElement = createPredicate (
197
169
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
198
- const isElementTypeReference = isElementType ( 'reference' ) ;
199
- const primitiveEqObject = primitiveEq ( 'object' ) ;
200
-
201
- return either (
202
- is ( ReferenceElement ) ,
203
- allPass ( [ hasBasicElementProps , isElementTypeReference , primitiveEqObject ] ) ,
204
- ) ;
170
+ return ( element : any ) =>
171
+ element instanceof ReferenceElement ||
172
+ ( hasBasicElementProps ( element ) &&
173
+ isElementType ( 'reference' , element ) &&
174
+ primitiveEq ( 'object' , element ) ) ;
205
175
} ,
206
176
) ;
207
177
@@ -212,18 +182,16 @@ export const isReferenceElementExternal = (element: any): element is ReferenceEl
212
182
213
183
const value = element . $ref . toValue ( ) ;
214
184
215
- return isNonEmptyString ( value ) && ! startsWith ( '#' , value ) ;
185
+ return typeof value === 'string' && value . length > 0 && ! value . startsWith ( '#' ) ;
216
186
} ;
217
187
218
188
export const isSchemaElement = createPredicate (
219
189
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
220
- const isElementTypeSchema = isElementType ( 'schema' ) ;
221
- const primitiveEqObject = primitiveEq ( 'object' ) ;
222
-
223
- return either (
224
- is ( SchemaElement ) ,
225
- allPass ( [ hasBasicElementProps , isElementTypeSchema , primitiveEqObject ] ) ,
226
- ) ;
190
+ return ( element : any ) =>
191
+ element instanceof SchemaElement ||
192
+ ( hasBasicElementProps ( element ) &&
193
+ isElementType ( 'schema' , element ) &&
194
+ primitiveEq ( 'object' , element ) ) ;
227
195
} ,
228
196
) ;
229
197
@@ -233,60 +201,50 @@ export const isBooleanJsonSchemaElement = (element: any) => {
233
201
234
202
export const isSecurityRequirementElement = createPredicate (
235
203
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
236
- const isElementTypeSecurityRequirement = isElementType ( 'securityRequirement' ) ;
237
- const primitiveEqObject = primitiveEq ( 'object' ) ;
238
-
239
- return either (
240
- is ( SecurityRequirementElement ) ,
241
- allPass ( [ hasBasicElementProps , isElementTypeSecurityRequirement , primitiveEqObject ] ) ,
242
- ) ;
204
+ return ( element : any ) =>
205
+ element instanceof SecurityRequirementElement ||
206
+ ( hasBasicElementProps ( element ) &&
207
+ isElementType ( 'securityRequirement' , element ) &&
208
+ primitiveEq ( 'object' , element ) ) ;
243
209
} ,
244
210
) ;
245
211
246
212
export const isServerElement = createPredicate (
247
213
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
248
- const isElementTypeServer = isElementType ( 'server' ) ;
249
- const primitiveEqObject = primitiveEq ( 'object' ) ;
250
-
251
- return either (
252
- is ( ServerElement ) ,
253
- allPass ( [ hasBasicElementProps , isElementTypeServer , primitiveEqObject ] ) ,
254
- ) ;
214
+ return ( element : any ) =>
215
+ element instanceof ServerElement ||
216
+ ( hasBasicElementProps ( element ) &&
217
+ isElementType ( 'server' , element ) &&
218
+ primitiveEq ( 'object' , element ) ) ;
255
219
} ,
256
220
) ;
257
221
258
222
export const isServerBindingsElement = createPredicate (
259
223
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
260
- const isElementTypeServerBindings = isElementType ( 'serverBindings' ) ;
261
- const primitiveEqObject = primitiveEq ( 'object' ) ;
262
-
263
- return either (
264
- is ( ServerBindingsElement ) ,
265
- allPass ( [ hasBasicElementProps , isElementTypeServerBindings , primitiveEqObject ] ) ,
266
- ) ;
224
+ return ( element : any ) =>
225
+ element instanceof ServerBindingsElement ||
226
+ ( hasBasicElementProps ( element ) &&
227
+ isElementType ( 'serverBindings' , element ) &&
228
+ primitiveEq ( 'object' , element ) ) ;
267
229
} ,
268
230
) ;
269
231
270
232
export const isServersElement = createPredicate (
271
233
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
272
- const isElementTypeServers = isElementType ( 'servers' ) ;
273
- const primitiveEqObject = primitiveEq ( 'object' ) ;
274
-
275
- return either (
276
- is ( ServersElement ) ,
277
- allPass ( [ hasBasicElementProps , isElementTypeServers , primitiveEqObject ] ) ,
278
- ) ;
234
+ return ( element : any ) =>
235
+ element instanceof ServersElement ||
236
+ ( hasBasicElementProps ( element ) &&
237
+ isElementType ( 'servers' , element ) &&
238
+ primitiveEq ( 'object' , element ) ) ;
279
239
} ,
280
240
) ;
281
241
282
242
export const isServerVariableElement = createPredicate (
283
243
( { hasBasicElementProps, isElementType, primitiveEq } ) => {
284
- const isElementTypeServerVariable = isElementType ( 'serverVariable' ) ;
285
- const primitiveEqObject = primitiveEq ( 'object' ) ;
286
-
287
- return either (
288
- is ( ServerVariableElement ) ,
289
- allPass ( [ hasBasicElementProps , isElementTypeServerVariable , primitiveEqObject ] ) ,
290
- ) ;
244
+ return ( element : any ) =>
245
+ element instanceof ServerVariableElement ||
246
+ ( hasBasicElementProps ( element ) &&
247
+ isElementType ( 'serverVariable' , element ) &&
248
+ primitiveEq ( 'object' , element ) ) ;
291
249
} ,
292
250
) ;
0 commit comments