persona-community-5/.pnpm-store/v3/files/3e/dd797bdd25ed9ec6ff8128bbb54081891d4744f9f94f3271760cbdb8f0a1a35c0918c46b03b0ff9f72853782147dee602a734cfb12c26f4d7577916a999bcc
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

34 lines
1.0 KiB
Plaintext

import type { Arazzo1Rule } from '../../visitors';
import type { UserContext } from '../../walk';
export const ParametersUnique: Arazzo1Rule = () => {
return {
Parameters: {
enter(parameters, { report, location }: UserContext) {
if (!parameters) return;
const seenParameters = new Set();
for (const parameter of parameters) {
if (seenParameters.has(parameter?.name)) {
report({
message: 'The parameter `name` must be unique amongst listed parameters.',
location: location.child([parameters.indexOf(parameter)]),
});
}
if (seenParameters.has(parameter?.reference)) {
report({
message: 'The parameter `reference` must be unique amongst listed parameters.',
location: location.child([parameters.indexOf(parameter)]),
});
}
parameter?.name
? seenParameters.add(parameter.name)
: seenParameters.add(parameter.reference);
}
},
},
};
};