-
Notifications
You must be signed in to change notification settings - Fork 14
/
missing-core-fields-openapi-3-1.ts
87 lines (84 loc) · 1.91 KB
/
missing-core-fields-openapi-3-1.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
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
81
82
83
84
85
86
87
import { DiagnosticSeverity } from 'vscode-languageserver-types';
import ApilintCodes from '../../../codes';
import { LinterMeta } from '../../../../apidom-language-types';
import { OpenAPI31 } from '../../../openapi/target-specs';
// eslint-disable-next-line @typescript-eslint/naming-convention
const missingCoreFieldsOpenAPI3_1Lint: LinterMeta = {
code: ApilintCodes.SCHEMA_MISSING_CORE_FIELDS,
source: 'apilint',
message: 'Schema does not include any Schema Object keywords',
severity: DiagnosticSeverity.Hint,
linterFunction: 'existAnyOfFields',
linterParams: [
[
'$ref',
'$schema',
'$id',
'$vocabulary',
'$anchor',
'$dynamicAnchor',
'$defs',
'$comment',
'if',
'then',
'else',
'dependentSchemas',
'prefixItems',
'contains',
'patternProperties',
'propertyNames',
'unevaluatedProperties',
'unevaluatedItems',
'const',
'maxContains',
'minContains',
'dependencies',
'dependentRequired',
'examples',
'contentEncoding',
'contentMediaType',
'contentSchema',
'definitions',
'multipleOf',
'maximum',
'exclusiveMaximum',
'minimum',
'exclusiveMinimum',
'maxLength',
'minLength',
'pattern',
'additionalItems',
'items',
'maxItems',
'minItems',
'uniqueItems',
'maxProperties',
'minProperties',
'required',
'properties',
'additionalProperties',
'enum',
'type',
'allOf',
'anyOf',
'oneOf',
'not',
'title',
'description',
'default',
'format',
'readOnly',
'discriminator',
'externalDocs',
'writeOnly',
'xml',
'example',
'deprecated',
],
true,
'boolean',
],
marker: 'key',
targetSpecs: [...OpenAPI31],
};
export default missingCoreFieldsOpenAPI3_1Lint;