Linter rulesAsyncAPIschema-enum-no-duplicates
schema-enum-no-duplicates
Since 0.9.0 · fixed by --fix
This rule ensures that the enum lists of schema objects contain no
duplicate values.
Rule Details
Duplicate enum values carry no information, and usually indicate a typo or a merge mistake (for example, a value that was meant to be different).
The schema-enum-no-duplicates rule checks the enum list of every schema of
an AsyncAPI document, and reports Duplicate enum value once for every value
that repeats an earlier value of the same list. Values of any type are
compared, including numbers, objects and arrays.
Configuration
None.
Examples
Good.
asyncapi: 3.0.0
info:
title: Pet Events
version: 1.0.0
components:
schemas:
PetStatus:
type: string
enum: [AVAILABLE, ADOPTED, RETURNED]
Bad.
asyncapi: 3.0.0
info:
title: Pet Events
version: 1.0.0
components:
schemas:
PetStatus:
type: string
enum: [AVAILABLE, ADOPTED, AVAILABLE]
Automatic fixes
When invoked with --fix, this rule removes the duplicate values, keeping the
first occurrence of each value.
When Not to Use It
We recommend to always enable this rule.
Compatibility
This rule is compatible with AsyncAPI 3.x documents. AsyncAPI 2.x documents are rejected by the reader and are not linted.