asyncapi-3-tags-uniqueness
Each tag must have a unique name.
- Applies to
tags- Selects
$.info.tags$.servers.*.tags$.components.servers.*.tags$.operations.*.tags$.components.operations.*.tags$.operations.*.traits.*.tags$.components.operations.traits.*.tags$.components.operationTraits.*.tags$.channels.*.messages.*.tags$.components.channels.*.messages.tags$.components.messages.*.tags$.channels.*..messages.*.traits.*.tags$.components.channels.*.messages.*.traits.*.tags$.components.messages.*.traits.*.tags$.components.messageTraits.*.tags- Function
uniquenessTags- Specs
- AsyncAPI 3.x
- Message
{{error}}
Use it
This rule ships with OpenLint in spectral:asyncapi. Extending the ruleset turns it on:
extends: spectral:asyncapi
rules:
asyncapi-3-tags-uniqueness: error # or off, or another severity
Definition
As defined in @openlint/openlint-rulesets. Functions show by name.
asyncapi-3-tags-uniqueness:
description: Each tag must have a unique name.
message: '{{error}}'
severity: error
recommended: true
formats:
- AsyncAPI 3.x
given:
- $.info.tags
- $.servers.*.tags
- $.components.servers.*.tags
- $.operations.*.tags
- $.components.operations.*.tags
- $.operations.*.traits.*.tags
- $.components.operations.traits.*.tags
- $.components.operationTraits.*.tags
- $.channels.*.messages.*.tags
- $.components.channels.*.messages.tags
- $.components.messages.*.tags
- $.channels.*..messages.*.traits.*.tags
- $.components.channels.*.messages.*.traits.*.tags
- $.components.messages.*.traits.*.tags
- $.components.messageTraits.*.tags
then:
function: uniquenessTags
About this rule
Tags must not have duplicate names (identifiers).
Bad Example
info:
tags:
- name: "Badger"
- name: "Badger"
Good Example
info:
tags:
- name: "Aardvark"
- name: "Badger"