persona-community-5/.pnpm-store/v3/files/6f/c09ab354a708f64eb0511baad4bd2165354bcbea2b2c1dbc21bcdc28ca788dc97776bd31ea6e304de3187322a124225551f8d5c1bbdf39f58b40dc9a147a03
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

40 lines
1.8 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidContentExamples = void 0;
const ref_utils_1 = require("../../ref-utils");
const utils_1 = require("../utils");
const ValidContentExamples = (opts) => {
const allowAdditionalProperties = (0, utils_1.getAdditionalPropertiesOption)(opts) ?? false;
return {
MediaType: {
leave(mediaType, ctx) {
const { location, resolve } = ctx;
if (!mediaType.schema)
return;
if (mediaType.example !== undefined) {
resolveAndValidateExample(mediaType.example, location.child('example'));
}
else if (mediaType.examples) {
for (const exampleName of Object.keys(mediaType.examples)) {
resolveAndValidateExample(mediaType.examples[exampleName], location.child(['examples', exampleName, 'value']), true);
}
}
function resolveAndValidateExample(example, location, isMultiple) {
if ((0, ref_utils_1.isRef)(example)) {
const resolved = resolve(example);
if (!resolved.location)
return;
location = isMultiple ? resolved.location.child('value') : resolved.location;
example = resolved.node;
}
if (isMultiple && typeof example?.value === 'undefined') {
return;
}
(0, utils_1.validateExample)(isMultiple ? example.value : example, mediaType.schema, location, ctx, allowAdditionalProperties);
}
},
},
};
};
exports.ValidContentExamples = ValidContentExamples;