Skip to content

Commit 5023a43

Browse files
authored
feat(ls): add lint rule for OpenAPI 3.x.y Schema Object xml field (#3710)
1 parent f3c799f commit 5023a43

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

packages/apidom-ls/src/config/codes.ts

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ enum ApilintCodes {
6868
SCHEMA_NULLABLE_NOT_RECOMMENDED,
6969
SCHEMA_MISSING_CORE_FIELDS,
7070
SCHEMA_NULLABLE,
71+
SCHEMA_XML,
7172

7273
DUPLICATE_KEYS = 14999,
7374
NOT_ALLOWED_FIELDS = 15000,

packages/apidom-ls/src/config/common/schema/lint/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import exclusiveMaximumPatternLint from './exclusive-maximum--pattern';
2727
import exclusiveMaximumTypeLint from './exclusive-maximum--type';
2828
import exclusiveMinimumPatternLint from './exclusive-minimum--pattern';
2929
import exclusiveMinimumTypeLint from './exclusive-minimum--type';
30+
import xmlTypeLint from './xml--type';
3031
import externalDocsTypeLint from './external-docs--type';
3132
import formatTypeLint from './format--type';
3233
import ifNonThenLint from './if--non-then';
@@ -111,6 +112,7 @@ const schemaLints = [
111112
exclusiveMaximumTypeLint,
112113
exclusiveMinimumPatternLint,
113114
exclusiveMinimumTypeLint,
115+
xmlTypeLint,
114116
externalDocsTypeLint,
115117
formatTypeLint,
116118
ifNonThenLint,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { DiagnosticSeverity } from 'vscode-languageserver-types';
2+
3+
import ApilintCodes from '../../../codes';
4+
import { LinterMeta } from '../../../../apidom-language-types';
5+
import { OpenAPI3 } from '../../../openapi/target-specs';
6+
7+
const xmlTypeLint: LinterMeta = {
8+
code: ApilintCodes.SCHEMA_XML,
9+
source: 'apilint',
10+
message: 'xml must be an object',
11+
severity: DiagnosticSeverity.Error,
12+
linterFunction: 'apilintElementOrClass',
13+
linterParams: ['xml'],
14+
marker: 'value',
15+
target: 'xml',
16+
data: {},
17+
targetSpecs: OpenAPI3,
18+
};
19+
20+
export default xmlTypeLint;

0 commit comments

Comments
 (0)