diff --git a/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type.ts b/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-boolean.ts similarity index 76% rename from packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type.ts rename to packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-boolean.ts index 720e31fca9..973853f434 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-boolean.ts @@ -4,10 +4,10 @@ import ApilintCodes from '../../../codes.ts'; import { LinterMeta } from '../../../../apidom-language-types.ts'; import { OpenAPI2, OpenAPI30 } from '../../../openapi/target-specs.ts'; -const exclusiveMaximumTypeLint: LinterMeta = { +const exclusiveMaximumTypeBooleanLint: LinterMeta = { code: ApilintCodes.SCHEMA_EXCLUSIVEMAXIMUM, source: 'apilint', - message: 'exclusiveMaximum value must be a boolean', + message: "'exclusiveMaximum' value must be a boolean", severity: DiagnosticSeverity.Error, linterFunction: 'apilintType', linterParams: ['boolean'], @@ -17,4 +17,4 @@ const exclusiveMaximumTypeLint: LinterMeta = { targetSpecs: [...OpenAPI2, ...OpenAPI30], }; -export default exclusiveMaximumTypeLint; +export default exclusiveMaximumTypeBooleanLint; diff --git a/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--pattern.ts b/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-number.ts similarity index 80% rename from packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--pattern.ts rename to packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-number.ts index 10e2b2ba78..de5725b07f 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--pattern.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/exclusive-maximum--type-number.ts @@ -8,10 +8,10 @@ import { OpenAPI31 } from '../../../openapi/target-specs.ts'; const exclusiveMaximumPatternLint: LinterMeta = { code: ApilintCodes.SCHEMA_EXCLUSIVEMAXIMUM, source: 'apilint', - message: 'exclusiveMaximum value must be a number', + message: "'exclusiveMaximum' value must be a number", severity: DiagnosticSeverity.Error, - linterFunction: 'apilintValueRegex', - linterParams: ['^-?\\d*\\.{0,1}\\d+$', 'number'], + linterFunction: 'apilintNumber', + linterParams: [false, false, true], marker: 'value', target: 'exclusiveMaximum', data: {}, diff --git a/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type.ts b/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-boolean.ts similarity index 91% rename from packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type.ts rename to packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-boolean.ts index f4e610cbda..720c104f78 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-boolean.ts @@ -7,7 +7,7 @@ import { OpenAPI2, OpenAPI30 } from '../../../openapi/target-specs.ts'; const exclusiveMinimumTypeLint: LinterMeta = { code: ApilintCodes.SCHEMA_EXCLUSIVEMAXIMUM, source: 'apilint', - message: 'exclusiveMinimum value must be a boolean', + message: "'exclusiveMinimum' value must be a boolean", severity: DiagnosticSeverity.Error, linterFunction: 'apilintType', linterParams: ['boolean'], diff --git a/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--pattern.ts b/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-number.ts similarity index 68% rename from packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--pattern.ts rename to packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-number.ts index ea962798ec..7586a20fcb 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--pattern.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/exclusive-minimum--type-number.ts @@ -5,17 +5,17 @@ import { LinterMeta } from '../../../../apidom-language-types.ts'; import { AsyncAPI2 } from '../../../asyncapi/target-specs.ts'; import { OpenAPI31 } from '../../../openapi/target-specs.ts'; -const exclusiveMinimumPatternLint: LinterMeta = { +const exclusiveMinimumTypeNumberLint: LinterMeta = { code: ApilintCodes.SCHEMA_EXCLUSIVEMINUMUM, source: 'apilint', - message: 'exclusiveMinimum value must be a number', + message: "'exclusiveMinimum' value must be a number", severity: DiagnosticSeverity.Error, - linterFunction: 'apilintValueRegex', - linterParams: ['^-?\\d*\\.{0,1}\\d+$', 'number'], + linterFunction: 'apilintNumber', + linterParams: [false, false, true], marker: 'value', target: 'exclusiveMinimum', data: {}, targetSpecs: [...AsyncAPI2, ...OpenAPI31], }; -export default exclusiveMinimumPatternLint; +export default exclusiveMinimumTypeNumberLint; diff --git a/packages/apidom-ls/src/config/common/schema/lint/format--type.ts b/packages/apidom-ls/src/config/common/schema/lint/format--type.ts index 7a64aaa638..39016670ad 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/format--type.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/format--type.ts @@ -8,7 +8,7 @@ import { OpenAPI2, OpenAPI3 } from '../../../openapi/target-specs.ts'; const formatTypeLint: LinterMeta = { code: ApilintCodes.SCHEMA_FORMAT, source: 'apilint', - message: "format' value must be a string", + message: "'format' value must be a string", severity: DiagnosticSeverity.Error, linterFunction: 'apilintType', linterParams: ['string'], diff --git a/packages/apidom-ls/src/config/common/schema/lint/index.ts b/packages/apidom-ls/src/config/common/schema/lint/index.ts index 81a07b4e4c..76426b5749 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/index.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/index.ts @@ -23,10 +23,10 @@ import elseNonIfLint from './else--non-if.ts'; import elseTypeLint from './else--type.ts'; import enumUniqueLint from './enum--unique.ts'; import examplesTypeLint from './examples--type.ts'; -import exclusiveMaximumPatternLint from './exclusive-maximum--pattern.ts'; -import exclusiveMaximumTypeLint from './exclusive-maximum--type.ts'; -import exclusiveMinimumPatternLint from './exclusive-minimum--pattern.ts'; -import exclusiveMinimumTypeLint from './exclusive-minimum--type.ts'; +import exclusiveMaximumTypeNumberLint from './exclusive-maximum--type-number.ts'; +import exclusiveMaximumTypeBooleanLint from './exclusive-maximum--type-boolean.ts'; +import exclusiveMinimumTypeBooleanLint from './exclusive-minimum--type-boolean.ts'; +import exclusiveMinimumTypeNumberLint from './exclusive-minimum--type-number.ts'; import xmlTypeLint from './xml--type.ts'; import externalDocsTypeLint from './external-docs--type.ts'; import formatTypeLint from './format--type.ts'; @@ -38,14 +38,14 @@ import maxItemsNonArrayLint from './max-items--non-array.ts'; import maxItemsTypeLint from './max-items--type.ts'; import maxLengthNonStringLint from './max-length--non-string.ts'; import maxLengthTypeLint from './max-length--type.ts'; -import maximumPatternLint from './maximum--pattern.ts'; +import maximumTypeLint from './maximum--type.ts'; import minItemsNonArrayLint from './min-items--non-array.ts'; import minItemsTypeLint from './min-items--type.ts'; import minLengthNonString from './min-length--non-string.ts'; import minLengthTypeLint from './min-length--type.ts'; import minPropertiesNonObjectLint from './min-properties--non-object.ts'; import minPropertiesTypeLint from './min-properties--type.ts'; -import minimumPatternLint from './minimum--pattern.ts'; +import minimumTypeLint from './minimum--type.ts'; import missingCoreFieldsOpenAPI2_0Lint from './missing-core-fields-openapi-2-0.ts'; import missingCoreFieldsOpenAPI3_0Lint from './missing-core-fields-openapi-3-0.ts'; import missingCoreFieldsOpenAPI3_1Lint from './missing-core-fields-openapi-3-1.ts'; @@ -108,10 +108,10 @@ const schemaLints = [ elseTypeLint, enumUniqueLint, examplesTypeLint, - exclusiveMaximumPatternLint, - exclusiveMaximumTypeLint, - exclusiveMinimumPatternLint, - exclusiveMinimumTypeLint, + exclusiveMaximumTypeNumberLint, + exclusiveMaximumTypeBooleanLint, + exclusiveMinimumTypeNumberLint, + exclusiveMinimumTypeBooleanLint, xmlTypeLint, externalDocsTypeLint, formatTypeLint, @@ -123,14 +123,14 @@ const schemaLints = [ maxItemsTypeLint, maxLengthNonStringLint, maxLengthTypeLint, - maximumPatternLint, + maximumTypeLint, minItemsNonArrayLint, minItemsTypeLint, minLengthNonString, minLengthTypeLint, minPropertiesNonObjectLint, minPropertiesTypeLint, - minimumPatternLint, + minimumTypeLint, missingCoreFieldsOpenAPI2_0Lint, missingCoreFieldsOpenAPI3_0Lint, missingCoreFieldsOpenAPI3_1Lint, diff --git a/packages/apidom-ls/src/config/common/schema/lint/maximum--pattern.ts b/packages/apidom-ls/src/config/common/schema/lint/maximum--type.ts similarity index 71% rename from packages/apidom-ls/src/config/common/schema/lint/maximum--pattern.ts rename to packages/apidom-ls/src/config/common/schema/lint/maximum--type.ts index 2c27e4587b..b6dae3fead 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/maximum--pattern.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/maximum--type.ts @@ -5,17 +5,17 @@ import { LinterMeta } from '../../../../apidom-language-types.ts'; import { AsyncAPI2 } from '../../../asyncapi/target-specs.ts'; import { OpenAPI2, OpenAPI3 } from '../../../openapi/target-specs.ts'; -const maximumPatternLint: LinterMeta = { +const maximumTypeLint: LinterMeta = { code: ApilintCodes.SCHEMA_MAXIMUM, source: 'apilint', - message: "maximum' value must be a number", + message: "'maximum' value must be a number", severity: DiagnosticSeverity.Error, - linterFunction: 'apilintValueRegex', - linterParams: ['^-?\\d*\\.{0,1}\\d+$', 'number'], + linterFunction: 'apilintNumber', + linterParams: [false, false, true], marker: 'value', target: 'maximum', data: {}, targetSpecs: [...AsyncAPI2, ...OpenAPI2, ...OpenAPI3], }; -export default maximumPatternLint; +export default maximumTypeLint; diff --git a/packages/apidom-ls/src/config/common/schema/lint/minimum--pattern.ts b/packages/apidom-ls/src/config/common/schema/lint/minimum--type.ts similarity index 71% rename from packages/apidom-ls/src/config/common/schema/lint/minimum--pattern.ts rename to packages/apidom-ls/src/config/common/schema/lint/minimum--type.ts index 7d5e9d7f00..841ac7e5c7 100644 --- a/packages/apidom-ls/src/config/common/schema/lint/minimum--pattern.ts +++ b/packages/apidom-ls/src/config/common/schema/lint/minimum--type.ts @@ -5,17 +5,17 @@ import { LinterMeta } from '../../../../apidom-language-types.ts'; import { AsyncAPI2 } from '../../../asyncapi/target-specs.ts'; import { OpenAPI2, OpenAPI3 } from '../../../openapi/target-specs.ts'; -const minimumPatternLint: LinterMeta = { +const minimumTypeLint: LinterMeta = { code: ApilintCodes.SCHEMA_MINUMUM, source: 'apilint', - message: "minimum' value must be a number", + message: "'minimum' value must be a number", severity: DiagnosticSeverity.Error, - linterFunction: 'apilintValueRegex', - linterParams: ['^-?\\d*\\.{0,1}\\d+$', 'number'], + linterFunction: 'apilintNumber', + linterParams: [false, false, true], marker: 'value', target: 'minimum', data: {}, targetSpecs: [...AsyncAPI2, ...OpenAPI2, ...OpenAPI3], }; -export default minimumPatternLint; +export default minimumTypeLint;